The problem
Everything recompresses or expires wrong
Chat apps crush video; transfer services cap sizes or archive what you meant to be temporary. DocDrop moves the original bytes and honours the expiry you chose.
kaicorplabs.com / projects / docdrop
project open source · self-hosted
The 6 GB video off your GoPro, uncompressed, over a link that survives a dropped connection — and deletes itself when its time is up.

The problem
Chat apps crush video; transfer services cap sizes or archive what you meant to be temporary. DocDrop moves the original bytes and honours the expiry you chose.
Who it is for
People who trust each other sharing big, short-lived files. Guest links let someone upload without any account at all — revocable, time-limited.
Your data
Files are encrypted in your browser by default; the key travels in the link's fragment, which never reaches the server. Every file carries its own expiry and an optional download cap; when either runs out it is deleted, not archived. There is deliberately no backup of the store: gone means gone.
Honest limits
Each account sees and manages only its own files and guest links. The storage quota is shared — defaults: 10 GB per file, 20 GB total, 30 days maximum life.
Fail-closed by design: without a session secret and an OIDC client it starts, but nobody can sign in or upload. Any standard OIDC provider works.
docker pull ghcr.io/ulzuhan/docdrop:latest # or: clone the repo and `docker compose up -d --build` # DEPLOYMENT.md in the repository covers the rest.
The image is built from a tagged commit by CI, scanned for known vulnerabilities before release, and published with provenance and an SBOM. Or use ours: open docdrop.kaicorplabs.com and ask for an account — a person approves it.