Send messages to the future using cryptographic time-locks. No database, no trust required.
Try it now: tellyoulater.com
TellYouLater is a zero-knowledge time capsule for the digital age. It lets you write a message that can only be opened at a specific date and time in the future—not by anyone, including us, until that moment arrives.
Imagine you write a letter, seal it in a transparent safe, and set a timer lock. You walk away with that safe in your pocket. The safe cannot be opened—by anyone, anywhere—until the timer hits zero. That's exactly how TellYouLater works, but with mathematics instead of physical locks.
- Write anything: a prediction, a confession, a Bitcoin seed phrase, a letter to your future self
- Choose when it should be revealed (days, months, or years from now)
- Click "Encrypt Message"
- The app encrypts your message using time-lock cryptography
- You receive a special URL (like
tellyoulater.com/#e:83js...) - This URL IS your message. Save it carefully—if you lose it, it's gone forever
- The app doesn't store anything. There's no database, no account, no backup
- Your encrypted message lives entirely inside the URL you saved
- When the unlock time arrives, open your saved link
- The app automatically decrypts the message in your browser
- Before the unlock time? You'll see a countdown—no one can open it early
Traditional "scheduled message" services can peek at your message anytime—they just promise not to. TellYouLater uses time-lock encryption, which makes it cryptographically impossible for anyone (including the website owner) to decrypt your message before the unlock time.
Your message isn't stored on any server. The entire encrypted message is contained in the URL you save. No database means:
- No monthly fees
- No privacy policy changes
- No company that can shut down and take your messages with it
- No hackers can steal what doesn't exist
Even if TellYouLater.com disappears tomorrow, your link will still work. The decryption depends on the DRAND network, a global, distributed randomness beacon run by independent organizations. As long as DRAND exists (currently operated by institutions like Cloudflare, EPFL, and Protocol Labs), your message can be unlocked.
DRAND (Distributed Randomness Beacon) is the cryptographic foundation that makes time-lock encryption possible. Think of it as a global "randomness clock."
-
The League of Entropy: DRAND is run by a coalition of independent organizations around the world
-
Public Randomness: Every 30 seconds, DRAND generates a new random number that's:
- Unpredictable: No one knows what the number will be before it's generated
- Verifiable: Anyone can verify it's truly random and hasn't been tampered with
- Permanent: Once generated, it's published publicly forever
-
The Lock Mechanism: When you create a message, TellYouLater:
- Calculates which DRAND "round" will happen at your chosen unlock time
- Uses that future random number (which doesn't exist yet) as the encryption key
- Creates an encrypted message that can only be decrypted once DRAND releases that number
- No one has the key yet: The decryption key literally doesn't exist until the unlock time
- No central authority: DRAND is decentralized—no single entity controls it
- Publicly verifiable: Anyone can verify that the time-lock is genuine and hasn't been backdoored
- Letters to your future self
- Surprise messages for birthdays/anniversaries
- Predictions about the future
- Time capsule memories
- Emergency access to passwords/seed phrases
- Dead man's switch for critical information
- Whistleblower disclosures with time delays
- Art projects with timed reveals
- Serialized storytelling
- Scavenger hunts with time-based clues
If you lose the URL, your message is gone forever. There is no "Forgot My Link" button. There is no customer support that can recover it. Save it carefully:
- Email it to yourself
- Store it in a password manager
- Print the QR code and put it in a safe
- Save it to multiple devices
Before the unlock time: the link is useless to everyone. After the unlock time: anyone with the link can read the message. If you want it to remain secret, don't share the link.
Your message can only be unlocked if:
- The DRAND network is still operating
- You (or whoever has the link) can access the internet
- At least one DRAND node is accessible
DRAND has been running reliably since 2020, but like any technology, it's not guaranteed forever.
- What your message says (encrypted before it reaches the browser)
- When you'll unlock it (the date is hashed into the encryption)
- Who you are (no accounts, no tracking)
- Basic web analytics: page views, country, browser type
- Nothing else
The encryption and decryption happen entirely in your browser. The plaintext message never touches our servers. We can't read your messages even if we wanted to—they're mathematically locked until the future.
- Encryption:
tlock-jslibrary implementing time-lock encryption - Time Source: DRAND League of Entropy (quicknet mainnet)
- Hosting: Static site (no backend API is used)
- Open Source: Code available for review
When you create a time-locked message, the encrypted data is encoded in the URL fragment (after #e:). Here's how it works:
The encrypted payload is a base64url-encoded binary format with the following structure:
| Field | Size | Description |
|---|---|---|
| Round Number | Variable-length (protobuf-style varint) | The DRAND round number when the message can be decrypted |
| File Key Size | 1 byte | Size of the encrypted file key minus 48 bytes |
| Encrypted File Key | Variable-length | The file encryption key encrypted using Identity-Based Encryption (IBE) against the future DRAND round |
| Encrypted Body | Variable-length (optional) | For messages >32 bytes, the actual message encrypted with ChaCha20-Poly1305 |
Small Messages (≤32 bytes):
- The entire plaintext is encrypted directly using IBE against the DRAND round
- No separate body encryption needed
- The encrypted file key field contains the encrypted message itself
Large Messages (>32 bytes):
- A random 16-byte file key is generated
- The file key is encrypted using IBE against the DRAND round (stored in encrypted file key field)
- The message is encrypted using ChaCha20-Poly1305 with a key derived from the file key via HKDF-SHA256
- Both the encrypted file key and encrypted body are stored in the payload
The IBE encryption produces three components (U, V, W):
- U: Elliptic curve point (48 bytes for G1, 96 bytes for G2)
- V: First half of the encrypted data
- W: Second half of the encrypted data
- Parse the round number and encrypted file key from the payload
- Fetch the DRAND beacon signature for that specific round
- Use the signature to decrypt the file key using IBE
- If there's an encrypted body, derive the ChaCha20 key using HKDF and decrypt the message
- If no body, the decrypted file key is the message itself
This format ensures that:
- The message cannot be decrypted until DRAND publishes the beacon for the specified round
- The entire payload is contained in the URL
- Small messages are efficiently encrypted without additional layers
- Larger messages use authenticated encryption for the body content
- Message Size: Since your encrypted message lives in the URL, it's limited by your browser's URL length restrictions (typically 32,000-64,000 characters depending on the browser). TellYouLater doesn't impose any limits—it's purely a browser constraint. Longer messages compress to longer URLs, which may not work in all browsers.
- Internet Required: You need an internet connection to decrypt (to fetch the time-lock key from DRAND).
- No Editing: Once encrypted, the message cannot be changed. You'd need to create a new one.
- No Cancellation: You cannot delete or cancel a message. Once the link exists, it can be used.
Q: Can you read my messages?
A: No. The encryption happens in your browser before anything is sent. We never see the plaintext.
Q: What if TellYouLater.com shuts down?
A: Your link will still work as long as DRAND exists and you can access it. The decryption code is in the browser—you could even run it offline if you saved the code.
Q: Can I cancel a message after creating it?
A: No. Once the encrypted link exists, it cannot be "uncreated." Don't share links you want to keep private.
Q: What happens if I try to open the link before the unlock time?
A: You'll see a "Vault Locked" screen with a countdown. The cryptography makes it impossible to decrypt early—even with supercomputers.
Q: Is this really secure?
A: The time-lock mechanism is based on peer-reviewed cryptography and depends on DRAND, which is used by major blockchain projects. No system is perfectly secure, but this is among the most trustless approaches available.
Q: Can I store large files?
A: No. Only text messages. The entire encrypted message must fit in a URL, which limits size to a few hundred characters of original text.
- Issues: Found a bug? Open an issue on GitHub
- DRAND Network: Learn more at drand.love
Remember: The link IS the message. Save it carefully.