Privacy, honestly
We'd rather under-promise and explain the real architecture than claim guarantees we can't back up.
Encryption happens in your browser before any upload request is made. Our API routes and storage adapter only ever handle ciphertext bytes.
Each file gets a random AES-256-GCM key. That key is wrapped using a key derived from your password with PBKDF2 (210,000 iterations) before it's stored — never in the clear.
We log operational events (uploads started/completed, auth attempts) without file contents. All traffic is served over HTTPS.
Full server-side statelessness isn't realistic: the backend must maintain your authenticated session (today: our own login system; eventually: an authenticated Telegram MTProto session on your behalf) and briefly handles encrypted bytes in transit between your browser and storage.
Unless a link is fully client-side (we're not there yet), the server stores share expiry, password hash, download counts, and revocation state so it can enforce them. It does not store the file's plaintext or an unwrapped key.
Known platform limitations
- • We do not promise "unlimited" storage. Telegram may enforce rate limits, API restrictions, or change policy at any time.
- • Heavy automated bulk uploading risks account-level restriction or suspension on the underlying Telegram account.
- • Our marketing always says "Telegram-powered personal cloud storage" — never "unlimited free cloud storage."
- • This build currently uses a local mock storage backend standing in for Telegram MTProto while the product shape is finished; see the Roadmap.