what it does
how it works
#files channel β three chunks in flight at once.#index channel tracks which chunks belong to which file. The index is rewritten on every change.security model
Your passphrase never leaves your machine. Argon2id derives a masterKey from it, which wraps a long-lived random vaultKey using AES-256-GCM. Changing your passphrase rewraps the vaultKey in milliseconds β no chunks are re-encrypted.
Per-chunk keys are derived via HKDF-SHA-256 from the vaultKey with salt {fileId, seq}. Additional authenticated data binds each ciphertext to its file and position, so chunks can't be spliced across files or reordered.
What Discord sees: opaque blobs, their sizes, and upload timestamps.
What an attacker with your bot token sees: the same opaque blobs. No filenames, no
directory structure, no cleartext.
What protects you: your passphrase. Lose it and your files are gone; there is no
recovery path by design.
download
dst ships as a Windows installer (dst Setup x.y.z.exe) and a portable executable (dst x.y.z.exe). Both are unsigned β Windows SmartScreen will warn on first launch. Click More info β Run anyway.
First launch drops you into a five-step setup wizard: create a Discord bot, create a private server, invite the bot, set a passphrase, done. About five minutes.
license & disclaimers
The dst app is released under Polyform Noncommercial 1.0.0. Read, fork, run personally. Do not sell it, bundle it into a commercial product, or use it for commercial purposes.
Using Discord as a storage backend is a gray area of Discord's Developer Terms. This is a personal tool for one human β don't redistribute publicly, don't automate signups, don't build a business on top of it.
No warranty. If you lose your passphrase, files are unrecoverable. Back up your passphrase on paper.