Dashboard
Zero-knowledge encrypted storage overview
🔒 How It Works
We never see your plaintext. Your AGE key never leaves your device.
Architecture
Zero-knowledge storage design
Storage Flow
┌─────────────────────────────────────────────────────────────────────┐
│ YOUR DEVICE │
├─────────────────────────────────────────────────────────────────────┤
│ 1. Select file(s) to upload │
│ 2. AGE encrypt with YOUR key (never sent to us) │
│ 3. SHA256 hash the encrypted blob → becomes filename │
│ 4. Upload encrypted blob to selected backend │
└────────────────────────────────┬────────────────────────────────────┘
│
┌───────────────────────┴───────────────────────┐
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ Bunny CDN │ │ GitHub Repo │
│ (blob storage) │ │ (blob storage) │
├─────────────────────┤ ├─────────────────────┤
│ • $0.01/GB storage │ │ • Free (public) │
│ • $0.01/GB egress │ │ • Version history │
│ • Edge cached │ │ • YOU own it │
│ • Fast global CDN │ │ • Git-based backup │
└─────────────────────┘ └─────────────────────┘
WHAT WE STORE:
┌─────────────────────────────────────────────────────────────────────┐
│ Filename: a3f8b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6.age │
│ Contents: [ENCRYPTED BLOB - meaningless without your AGE key] │
│ Metadata: Embedded in AGE header (also encrypted) │
└─────────────────────────────────────────────────────────────────────┘
WE CANNOT:
✗ Read your data (no key)
✗ Be compelled to decrypt (we can't)
✗ Correlate content (all blobs look random)
Encrypted Objects
Content-addressed storage
Recent Objects
| SHA256 (filename) | Size | Backend | Uploaded |
|---|---|---|---|
a3f8b2c1d4e5...b6c7 | 2.4 MB | Bunny CDN | 2 min ago |
d4e5f6a7b8c9...e1f2 | 156 KB | GitHub | 1 hour ago |
f6a7b8c9d0e1...a3b4 | 48 MB | Bunny CDN | 3 hours ago |
Upload
Encrypt and store files
Drop files here or click to browse
Encryption happens client-side. We never see your private key.
AGE Keys
Manage your encryption keys
Generate New Key Pair
AGE keys are generated locally. The private key never leaves your device.
Where to Store Your Key
- GitHub Secrets — For CI/CD automation
- Password Manager — 1Password, Bitwarden, etc.
- Local File —
~/.config/age/key.txt - Hardware Key — YubiKey with age-plugin-yubikey
Storage Backends
Where your encrypted blobs live
Bunny CDN
Fast, cheap, globally distributed. Perfect for most data.
GitHub Repository
Your repo, your backup. Version history included.
Why Both?
Bunny CDN for performance — fast global edge network, cheap bandwidth.
GitHub for ownership — you control the repo, it's your backup, version history is free.
Same encrypted blobs, different locations. Use whichever fits your use case.