WaitToUnlock logo WaitToUnlock
Blog About
Sign In
Blog About Support Security Sign In

Security

Last updated: July 13, 2026

WaitToUnlock asks you to trust it with something sensitive: your Screen Time passcode. I take that seriously. Here, plainly, is how your passcode is kept safe.

  • Encrypted at rest, never stored as plain text
  • Decrypted only on the server, only at the moment you reveal it
  • Never logged, printed, or shown to any third party
  • Only you can reach your own data, checked on every request
  • Served over HTTPS with a locked-down session and security headers

Details on each of these are below.

Your passcode is encrypted at rest

Your passcode is never stored in plain text. It's encrypted with Fernet (AES-128 in CBC mode, with an HMAC-SHA256 signature to detect tampering) before it's saved. The encryption key is derived from a secret using PBKDF2-HMAC-SHA256 with 480,000 iterations, which meets current OWASP guidance.

It's only decrypted at the moment you reveal it

The passcode stays encrypted the whole time it sits in the database. It is decrypted only on the server, for a single response, at the exact moment you choose to reveal it after the countdown ends. It is never decrypted ahead of time or "just in case."

Burner account passwords are protected the same way

If you use Complete Lockout, the generated password for your burner Apple Account is stored and handled exactly like your passcode: encrypted at rest with the same scheme, decrypted only on the server at the moments the flow shows it to you, and never logged.

You create the burner account yourself, directly with Apple. WaitToUnlock never asks for its email address, so I do not know which account the password belongs to. Even in a full database breach, the password alone points to nothing.

Passcodes and keys are never logged

Plaintext passcodes, encryption keys, and secrets are never written to logs, printed, or shown in error messages. No analytics tool and no third party ever sees your passcode.

I collect as little about you as possible

WaitToUnlock holds only the bare minimum needed to run the service: your email address, the date your account was created, whether you have lifetime access, and your encrypted passcode. There is no tracking profile and no selling of data, and you can delete your account and everything tied to it at any time.

You're the only one who can reach your data

All database access happens on the server. Your browser never talks to the database directly. Every request is authenticated with a Firebase ID token verified on the server, and every action is checked so you can only ever read or change your own passcode, never anyone else's.

The connection and your session are locked down

Traffic is served over HTTPS with HSTS enforced, so the connection between your browser and the server stays encrypted. The app sets a strict Content Security Policy and standard protective headers (X-Frame-Options: DENY, X-Content-Type-Options: nosniff, and a strict referrer policy). Your session is stored on the server, and the session cookie is HttpOnly with SameSite protection to reduce the risk of theft or cross-site attacks.

Abuse protection

WaitToUnlock has rate limits and other protections in place to detect and slow down automated abuse. Sign-in is Google-only by design, so I never have to store a password of yours at all.

Durability

Your encrypted passcode is stored in Google Firestore, which automatically replicates your data across multiple data centers. A single server, disk, or data center failing does not lose it. The app itself runs on managed, serverless infrastructure, so there's no single machine that can crash and take the service down with it.

An honest note on trust

Encryption protects your passcode from anyone who shouldn't have it, including in a database breach. One honest limit: the service has to decrypt your passcode to show it back to you, which means I can technically access it by decrypting it.

What I can promise is that I never look at it, never log it, and built the system to decrypt it only when revealing it to you.

And remember what this code is: a Screen Time passcode is a local setting on your own phone, not a password to your accounts. Even if someone saw it, all it does is change Screen Time settings on your phone, which they don't have physical access to.

If that still doesn't sit right, the refund promise always applies.

Found a security issue?

If you believe you've found a vulnerability, please email me directly at hello@waittounlock.com before disclosing it publicly. I read every message and will work with you to fix it quickly.

← Back to Home

Product

About Pricing Compare Security Complete Lockout

Use cases

Porn Blocker Covenant Eyes Alternative Opal Alternative ADHD and Screen Time

Resources

Blog Support

Legal

Privacy Policy Terms of Service Refund Promise

© 2026 WaitToUnlock • Made with ❤️ in London, UK