vaultgram
v0.1.0
Published
Your entire Google account, mirrored into your own Telegram — encrypted, scheduled, one /restore away.
Readme
Vaultgram
Your entire Google account, mirrored into your own Telegram — encrypted, scheduled, one /restore away.
Vaultgram is a self-hosted daemon that backs up your Google data (Drive, Photos, Gmail, Contacts, Calendar) into a private Telegram channel you control, with every byte sealed client-side before it leaves your machine.
Why
- Google Photos originals are no longer downloadable via API (Google policy change, March 2025). The only full-fidelity export path is Google Takeout — so Vaultgram automates Takeout instead of pretending an API can do it.
- Telegram gives you effectively unlimited storage in a channel you own. Nobody else automates Google as the source, and nobody else restores into Google. That's the product.
- Existing Telegram-storage tools (TAS, TeleVault, TGCloud) take local files. Vaultgram's source is your Google account; its control plane is the bot in your pocket.
Status
v0.1 — core under construction. Done and tested:
- [x] Crypto envelope: scrypt-derived master key, AES-256-GCM per-chunk sealing (
VGK1wire format), tamper-evident by construction - [x] Chunker: 48 MiB Bot-API-safe chunks, planned/read straight off disk (no full-file loads)
- [x] SQLite index: file → ordered chunks → Telegram message ids, WAL mode, wholesale chunk-list replacement per snapshot
Next up:
- [ ] Telegram uploader + pair flow (bot token → private channel)
- [ ] Drive incremental backup via the changes feed
- [ ] Restore roundtrip (
/restore <path>— decrypt, reassemble, sha256-verify, send back) - [ ] Scheduled Takeout watcher for Photos/Gmail
- [ ] Retention pruning,
doctor, Docker one-liner
Security model
- Your passphrase never leaves the machine; Telegram stores only ciphertext it cannot decrypt (
AES-256-GCM, scrypt N=2^15 key derivation). - Chunks are verified against their SHA-256 on every restore.
- The salt stays in the local keystore. Lose the passphrase and the salt together and the vault is gone — that's the point.
Honest limits
Using Telegram channels as bulk storage is not an explicitly intended use of Telegram and sits in a gray area of its Terms of Service; Telegram can delete content. Treat Vaultgram as an offsite copy, never your only backup.
License
Apache-2.0
