Keep passwords and other sensitive information out of your chat logs and inboxes.
Keep passwords and other sensitive information out of your chat logs and inboxes.
Keep passwords and other sensitive information out of your inboxes and chat logs.
A onetime secret is a link that can be viewed only once — a single-use URL. When you share sensitive info like a password over email or chat, copies linger in many places. Onetime links self-destruct after viewing, so only the intended recipient ever sees the contents.
Try it live at OnetimeSecret.com →
# 1. Start Redis
docker run -p 6379:6379 -d redis:trixie
# 2. Generate and store a persistent secret key — back this up safely
openssl rand -hex 32 > .ots_secret && chmod 600 .ots_secret
# 3. Run Onetime Secret (set SSL=true for production)
docker run -p 3000:3000 -d \
--name onetimesecret \
--add-host=host.docker.internal:host-gateway \
-e REDIS_URL=redis://host.docker.internal:6379/0 \
-e SECRET="$(cat .ots_secret)" \
-e HOST=localhost:3000 \
-e SSL=false \
onetimesecret/onetimesecret:v0.26.12
Open http://localhost:3000, then create an admin ("colonel") account — it prints a generated password and is verified immediately:
docker exec onetimesecret bin/ots customers create [email protected] --role colonel
[!IMPORTANT] Losing your
SECRETkey is not recoverable. It makes existing secrets unreadable among other things, so back it up.
Onetime Secret was developed with help from AI tools for architecture design, code generation, and documentation. As project maintainers, we remain responsible for all design decisions and the final code, and believe in being transparent about the tools involved.
MIT — see LICENSE.txt.
No open issues yet, or sync has not completed.