This page describes what data Cipherwake and cipherwake.io collect from visitors, what we do with it, and what we won't do. The short version: we collect as little as possible, we don't sell anything, and the only personally-identifying data we hold is the email address you voluntarily give us.
npx pqcheck <domain>, the domain is sent to our servers so we can scan it. We cache scan results by domain (not by user) for ~30 minutes to avoid re-scanning the same domain rapidly.scan_events table containing: domain, score, grade, hashed IP, user-agent string (e.g. Mozilla/... for the web, pqcheck-cli/0.7.6 for the CLI, ext for the browser extension), and a referer hostname if one was sent. These rows let us track aggregate adoption (how many scans, what surface, what sectors), enforce rate limits, and publish public leaderboards for curated-peer domains. We do not link scan events into per-user sessions and there is no client-side cross-scan identifier./key/<spki>. None of it is personal data about you.scan_completed, founding_cta_clicked) on cipherwake.io. It runs server-side without cookies and does not attribute events to identified users. Vercel acts as a sub-processor under their privacy policy.The server-side scan logging and pageview analytics described above are standard industry practice for free public security tools — SSL Labs, Have I Been Pwned, the npm registry, pkg.go.dev, and most comparable services do equivalent server-side logging without per-user identifiers. The defining choice we make is to hash IPs at write time and never store cross-scan or cross-session identifiers, so there is no per-user history to leak or subpoena.
Cipherwake does not set tracking cookies, third-party advertising
cookies, or any cross-site tracking pixels. We use Vercel Web Analytics, which
stores a session-scoped identifier in your browser's sessionStorage
(not a cookie) for the duration of a single browsing session; the identifier
is destroyed when you close the tab. This is GDPR-compliant without a cookie
banner per
Vercel's analytics privacy documentation.
If you sign in to a paid account, Supabase Auth stores a session cookie + a refresh token in your browser's localStorage so we can keep you signed in. This is a strictly-necessary cookie for the authentication functionality and does not require consent under ePrivacy/GDPR. Signing out (or clicking "Sign out everywhere" in /account) clears these values.
The retention windows below apply by data category:
If you need a specific retention guarantee written into a contract, email legal@cipherwake.io.
Scan results for our pre-curated peer set (the domains in our public sector leaderboards) are publicly visible at /leaderboard.html. These domains are major publicly-listed institutions; their TLS configuration is observable on the open internet, and we treat the scan output as public information. If you represent one of these institutions and would like your domain removed from the public leaderboard, email remove@cipherwake.io. We review removal requests case-by-case.
Scans of other domains (anything not on our curated peer list — including domains submitted by users) are cached privately for the requesting user's experience and never publicly listed.
Email addresses are used only to send updates we promised at signup time:
Every email we send includes a one-click unsubscribe link. You can also email us at hello@cipherwake.io to be removed.
Scan cache, rate-limit counters, and email signups are stored in Supabase (Postgres) hosted in the United States (East). Application functions run on Vercel's edge network. We do not transmit or store any data outside these two providers.
You may request deletion of any email-tied data we hold for you at any time. Email privacy@cipherwake.io with the email address you used to sign up; we will confirm deletion within 30 days.
EU/UK residents have additional rights under GDPR and UK GDPR (right to access, rectification, erasure, portability, restriction, and objection). California residents have rights under CCPA. All such requests should go to the same address above.
Cipherwake is not directed at children under 16 and we do not knowingly collect data from anyone under 16. If we learn we have collected such data, we will delete it promptly.
Material changes will be reflected here with an updated date at the top. We will not retroactively expand the data we collect or share without explicit re-opt-in.
Email privacy@cipherwake.io for any privacy concern. For general questions about pqcheck or methodology, see the About page or email hello@cipherwake.io.