Overview
Create a self-destructing secret
The Onetime Secret web UI, served over TLS behind nginx, where a sender pastes a password, key or note and sets an optional passphrase and expiry before generating a one-time link.
Create a self-destructing secret
One-time link created
Reveal once, then self-destruct
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Overview
Onetime Secret is a widely adopted open source service for sharing sensitive information safely. A sender pastes a secret - a password, an API key, a private note - and receives a unique one-time link. The recipient opens that link exactly once to reveal the secret, after which it is permanently destroyed and the link returns not-found. Secrets can carry an optional passphrase and an expiry, so nothing lingers in inboxes or chat history. This AMI gives you a private, self-hosted Onetime Secret you run and control entirely within your own AWS account, delivered fully installed and hardened so a working service is available within minutes of launch.
Why This Image vs a Manual Install
Onetime Secret ships Docker-first with no prebuilt binary, so a manual install means completing at least six distinct steps: compiling a Ruby runtime, bundling gems, building the Vue frontend, provisioning Redis, authoring systemd units, and terminating TLS - then hardening all of it. This image completes every one of those steps at build time. The application, its Redis store, an nginx TLS front end and a self-signed per-instance certificate are wired together and secured for you. Launch the instance, open the URL over HTTPS, and start sharing secrets immediately.
Application Stack
The Onetime Secret web application runs under Puma and is bound to the loopback interface only. Redis, the secret store, is bound to loopback only and requires a password. An nginx reverse proxy terminates TLS on port 443 and is the sole network-facing surface; port 80 redirects to HTTPS and serves an unauthenticated health endpoint for load balancers. systemd starts Redis, the application and the web server on boot and restarts them on failure. The Redis data directory lives on a dedicated data volume, independently resizable and separate from the OS disk.
Security Hardening
This image follows a defence-in-depth approach:
- No default or shared credentials: the application root secret, the Redis password and the administrator account are all generated uniquely on each instance's first boot and written only to a root-only file - nothing is baked into the image
- Redis is never exposed: the secret store binds exclusively to the loopback interface and requires a password, so it is unreachable from the network
- Application isolation: the web application binds to loopback only; only the nginx reverse proxy is exposed, and it enforces TLS
- Encryption in transit: a self-signed certificate is regenerated per instance with the instance's public address in its subject alternative names, so secrets never travel in plaintext
- No open sign-up and no reachable default admin: open account self-registration is disabled and the optional administrator account uses a unique per-instance password
Buyers requiring formal compliance documentation should contact cloudimg to discuss specific requirements.
Concrete Use Cases
- Credential handoff between teams: Platform and security teams sending database passwords, cloud keys and certificate bundles to colleagues or contractors via a link that self-destructs after a single view, leaving nothing in email or chat
- Customer and vendor secret exchange: Support and onboarding teams delivering one-time access tokens or recovery codes to external users over a link that cannot be reused or forwarded
- Internal secret sharing with an audit boundary: Engineering teams replacing pasted secrets in wikis and tickets with expiring one-time links inside their own VPC, keeping sensitive values off long-lived systems
AWS Integration
Deploy on any EC2 instance type. Front the service with an Application Load Balancer using the unauthenticated health endpoint for availability monitoring, and terminate TLS with your own certificate and domain if preferred. Back up the Redis data volume with EBS snapshots or AWS Backup, and resize it independently of the OS disk. The generated one-time links use the instance public address resolved at first boot.
Evaluate Before You Commit
Launch on a small instance type to evaluate the full workflow - paste a secret, generate a link, view and burn it - with no configuration required. The service is fully functional after boot, then scale up when ready for production.
Getting Started
Read your per-instance details from the root-only file, open the service over HTTPS in a browser, paste a secret and share the generated one-time link. The optional administrator (colonel) account and its credentials are in the same file for the admin dashboard and API.
cloudimg Support
24/7 technical support by email and chat. Help with deployment, terminating TLS with your own domain and certificate, configuring expiry and passphrase policy, Redis backup planning, and integrating the API into your workflows.
Highlights
- Ready in minutes with zero build steps: this AMI eliminates six manual installation tasks - compiling Ruby, bundling gems, building the Vue frontend, provisioning Redis, authoring systemd units, and terminating TLS. Launch an EC2 instance and reach a working, TLS-protected Onetime Secret over HTTPS immediately. No configuration files to edit, no dependencies to resolve, no compilation to wait for. Evaluate on a small instance type and scale to production when ready.
- Unique per-instance credentials with no shared secrets: the application root secret, Redis password, and administrator account are all generated uniquely on each instance's first boot and written only to a root-only file. No two deployments share a credential. Redis binds exclusively to the loopback interface and requires authentication, making the secret store unreachable from the network even within your VPC.
- Self-destructing secrets with dedicated storage and 24/7 support: paste a password, API key, or private note to generate a one-time link that is permanently destroyed after a single view. Optional passphrase protection and configurable expiry ensure nothing lingers. The Redis secret store lives on a dedicated, independently resizable EBS data volume. Backed by 24/7 cloudimg technical support via email and chat for deployment, TLS configuration, backup planning, and API integration.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.08 |
t2.micro | t2.micro instance type | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
c5a.12xlarge | c5a.12xlarge instance type | $0.24 |
c5a.16xlarge | c5a.16xlarge instance type | $0.24 |
c5a.24xlarge | c5a.24xlarge instance type | $0.24 |
c5a.2xlarge | c5a.2xlarge instance type | $0.24 |
c5a.4xlarge | c5a.4xlarge instance type | $0.24 |
c5a.8xlarge | c5a.8xlarge instance type | $0.24 |
c5a.large | c5a.large instance type | $0.08 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release of Onetime Secret as a ready-to-use self-hosted service for sharing secrets via self-destructing one-time links, built from source with a loopback-only Puma application and a password-protected loopback-only Redis store behind an nginx TLS reverse proxy, secured with unique per-instance secrets generated on each instance's first boot and a dedicated data volume for the Redis secret store.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (for the Ubuntu 24.04 variant the user is ubuntu). Read the per-instance details with: sudo cat /root/onetimesecret-info.txt - this file holds the service URL, the Redis password, and the optional administrator (colonel) email, password and API token. Open the service in a browser at https://<instance-public-ip>/ (a self-signed per-instance certificate is used, so accept the browser warning or trust /etc/nginx/tls/onetimesecret.crt), paste a secret and share the generated one-time link. An unauthenticated health endpoint is available at https://<instance-public-ip>/healthz and http://<instance-public-ip>/healthz. Verify the one-time semantics from the instance at any time with: sudo /opt/ots/onetimesecret-selftest.sh. The web application binds 127.0.0.1:3000 and Redis binds 127.0.0.1:6379 - neither is network-exposed. The instance security group opens ports 22, 80 and 443. Services run under systemd: systemctl status redis-server onetimesecret-web nginx.
Resources
Vendor resources
Support
Vendor support
cloudimg Support
cloudimg provides 24/7 technical support for this product by email and live chat.
Contact: support@cloudimg.co.uk
What we help with:
- Deployment and initial configuration
- Terminating TLS with your own domain and certificate
- Configuring secret expiry and passphrase policy
- Redis backup planning using EBS snapshots or AWS Backup
- Integrating the Onetime Secret API into your workflows
- Performance tuning and troubleshooting
- Updates and security patching guidance
- Guided deployment assistance for new buyers
Getting started: After purchase, email support@cloudimg.co.uk for guided deployment assistance or help with TLS configuration for your custom domain.
Refunds: For refund requests, contact support@cloudimg.co.uk with your AWS account ID and subscription details. Refund requests are reviewed and responded to promptly.
Compliance inquiries: Buyers requiring formal compliance documentation or security questionnaire responses should contact support to discuss specific requirements.
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.