Self-hostable file and note sharing where files are encrypted in the browser, so the server only stores ciphertext.
shingrus/1time.io
Self-hosted, zero-knowledge sharing of one-time passwords, API keys, text and encrypted files via self-destructing links.
Open-source alternative to:OneTimeSecret
Password Pusher
- Stars
- 88
- Forks
- 18
- Open issues
- 2
- Last commit
- 2 days ago
What is it?
1time is a secret-sharing service that lets you send passwords, API keys, sensitive text, and encrypted files through links that are deleted after they are read. Secrets are encrypted in the browser with AES-256-GCM before upload, and the encryption key lives in the URL fragment, which is never sent to the server, so the operator cannot read stored data.
The project includes a Go backend with Redis storage, an Astro static frontend, and a Node.js CLI published as @1time/cli for piping secrets from a terminal. It also ships a Chrome extension that shares selected text, and built-in generators for passwords, passphrases, API keys and WiFi passwords. Files are stored as encrypted blobs on disk.
Self-hosting uses Docker Compose with multi-arch images for amd64 and arm64, and a systemd-based deployment script is included for Ubuntu and Debian VMs. Links can be set to allow one view by default, with a small fixed limit available for text and files.
Key features
- 01Browser-side AES-256-GCM encryption with the key kept in the URL fragment
- 02Encrypted file sharing with one-time download links
- 03Command-line tool for sending and reading secrets from pipes and terminals
- 04Built-in password, passphrase, API key and WiFi password generators
- 05Docker Compose self-hosting with Redis persistence and nginx frontend
Use cases
- Sending database credentials or API keys to a teammate without leaving them in chat history
- Scripting secret handoff in DevOps pipelines via the CLI
- Hosting a private one-time secret service for an internal team
- Sharing an encrypted file that should be downloaded only once
Quick start
- 1
Install the CLI from npm
npm install -g @1time/cli - 2
Send a secret from the terminal
printf 'postgres://user:pass@host/db' | 1time send - 3
Read a secret using its link
1time read 'https://1time.io/v/#...'
Things to know
- The Docker Compose self-host option requires you to set up your own HTTPS reverse proxy and configure APP_HOSTNAME.
In collections
Topics
FAQ
- What is 1time.io?
- Self-hosted, zero-knowledge sharing of one-time passwords, API keys, text and encrypted files via self-destructing links. 1time is a secret-sharing service that lets you send passwords, API keys, sensitive text, and encrypted files through links that are deleted after they are read. Secrets are encrypted in the browser with AES-256-GCM before upload, and the encryption key lives in the URL fragment, which is never sent to the server, so the operator cannot read stored data.
- Is 1time.io free to use? What license does it have?
- 1time.io is open source under the MIT license. Check the license terms before using it in commercial products.
- Is 1time.io still maintained?
- Actively maintained. The last commit to 1time.io was on Nov 5, 2026.
- What can I use 1time.io for?
- Sending database credentials or API keys to a teammate without leaving them in chat history Scripting secret handoff in DevOps pipelines via the CLI Hosting a private one-time secret service for an internal team Sharing an encrypted file that should be downloaded only once
- How do I install 1time.io?
- Install the CLI from npm: npm install -g @1time/cli Send a secret from the terminal: printf 'postgres://user:pass@host/db' | 1time send Read a secret using its link: 1time read 'https://1time.io/v/#...'
- Where can I get 1time.io?
- The source code and installation instructions are on GitHub: https://github.com/shingrus/1time.io
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open source web app for sharing passwords, notes, files and URLs through one-time links that expire by views or time, with audit logs.
A self-hosted, one-time encrypted web app for sharing passwords and secrets without a database setup.
A one-time secret sharing web app that encrypts secrets with AES-256 in the browser and deletes them on first read.
Self-hostable, open source service for sharing self-destructing encrypted notes and files, inspired by PrivNote, with a Rust backend and Svelte frontend.
Self-destructing, end-to-end encrypted pastebin: notes are encrypted in the browser with AES-256-GCM and vanish after one read or 24 hours.