Sign in to goframe drive
Security
Private by construction.
No trackers in anything we ship, no passwords to leak, storage keys that expire in minutes, and bytes checked before they are used. How it works — and what we have not built yet.
- trackers, in the product and on this site
- 0
- a sign-in code lives
- 10 min
- a storage credential lives
- 15 min
- on every shard
- SHA‑256
01Privacy
Zero trackers. Not one.
No analytics, no telemetry, no crash reporting — in the Mac app, in the web app, or on this website. In the product they were deleted from the code, not switched off. Fonts are served from our own domain, and a strict Content-Security-Policy stops pages from loading code from anywhere else.
AnalyticsTelemetryCrash reportsSession replayAd pixelsThird-party fonts
default-src 'none';script-src 'self' 'nonce-…' 'wasm-unsafe-eval';style-src 'self' 'unsafe-inline';font-src 'self';img-src 'self' data: blob: <api> <storage>;media-src 'self' blob: <api> <storage>;connect-src 'self' <api> <storage> <live>;worker-src 'self' blob:;frame-src blob: <api> <storage>;object-src 'none';base-uri 'none';form-action 'none';frame-ancestors 'none'default-src 'none';script-src 'self';style-src 'self' 'unsafe-inline';font-src 'self';img-src 'self' data:;media-src 'self';connect-src 'self';manifest-src 'self';object-src 'none';base-uri 'none';form-action 'none';frame-ancestors 'none'- Trackers
- 0
- Analytics and telemetry SDKs
- 0
- Crash reporters
- 0
- Fonts
- self-hosted
- Referrer-Policy
- no-referrer
- Framing by other sites
- denied
- HSTS
- 1 year, preload
Pages and files are delivered by Cloudflare, which hosts them. We don’t track you, and nothing we ship does.
02Sign-in
No passwords to leak. A code, then a session.
You sign in with a 6-digit code sent to your e‑mail. It works for 10 minutes and dies after 5 wrong guesses, and we keep only its SHA‑256 digest. The session that follows lasts an hour and renews itself with a token that works exactly once.
- Code
- 6 digits
- Valid for
- 10 minutes
- Wrong guesses allowed
- 5
- Stored as
- SHA‑256 digest
- Session
- 60 minutes
- Refresh token
- single-use, rotating
- Longest sign-in
- 30 days
- Passwords
- none
Presenting a refresh token a second time signs the account out everywhere.
03Storage access
Keys that expire in minutes. Each opens one drive.
Your Mac never holds a long-lived storage key. It trades your session for a credential that opens one drive for 15 minutes, and renews it before it runs out. Browsers never get a storage key at all — only short-lived signed links to the blocks they asked for.
- Credential lifetime
- 15 minutes
- Renewed
- 5 minutes early
- Scope
- one drive
- Storage keys in a browser
- none
- Where files live
- Cloudflare R2
- Layout
- content-addressed shards
- In transit
- HTTPS only
- At rest
- encrypted by Cloudflare R2
04Integrity
Every byte, checked. Before it is used.
Files are stored as content-addressed shards, each named by its SHA‑256. Every shard is checked against its hash before it is served or cached, and the server re-checks every browser upload, block by block and as a whole, before the file appears. A mismatch is an error — never a plausible guess.
- Hash
- SHA‑256
- Checked
- every shard
- When
- before serving or caching
- On a mismatch
- refused
- Browser uploads
- re-verified by the server
- Identical data
- stored once per drive
05The app
Signed, notarized, verified before it updates.
The Mac app is signed with our Developer ID and notarized by Apple. The installer refuses a Mac it cannot run on, and the updater installs a new version only when both its SHA‑256 and its signature check out.
spctl --assess -v "/Applications/goframe drive.app"
/Applications/goframe drive.app: accepted
source=Notarized Developer ID
codesign -dv "/Applications/goframe drive.app" 2>&1 | grep Team
TeamIdentifier=Y5U8RN35QX
- Signing
- Developer ID
- Team ID
- Y5U8RN35QX
- Notarization
- Apple, stapled
- Update feed
- HTTPS only
- Before install
- SHA‑256 + Team ID
- Local control socket
- owner only (0600)
06Links
Links you can take back. Read-only, always.
A public link opens one file or folder, read-only — nothing else on the drive. Rotate it to retire the old address, or revoke it outright.
- Access
- read-only
- Links per item
- up to 16
- Token
- 256-bit random
- Stored as
- SHA‑256 digest
- Shown
- once
- Anything outside the link
- 404
07Honestly
What we have not built yet.
Security pages usually list strengths. Here is what goframe drive does not do today, so you can decide with the whole picture.
- End-to-end encryptionFiles are encrypted in transit, and at rest by Cloudflare R2 — but not on your device. There is no client-side or zero-knowledge encryption.
- Single sign-onSign-in is by e‑mail code only: no SAML, no Google or Apple sign-in, no passkeys, no second factor.
- Version history and trashDeletes are final. There is no trash, no restore and no backup to recover from.
- Link passwords and expiryA public link cannot carry a password or an end date. Rotate or revoke it instead.
- Audit logEach change is recorded with its author inside the drive, but there is no audit screen or export.
- CertificationsNo SOC 2, ISO 27001 or similar certification today.
08Contact
Found something? Tell us.
Send security reports and questions to hello@goframe.dev. Tell us what you found and how to reproduce it.