What we collect, and where it comes from
When you visit rypt.dev
- Google Analytics. Every page on rypt.dev loads Google Analytics. It sets cookies, and records the pages you visit, the page that sent you here, your browser, device and screen size, your language, and an approximate location that Google works out from your IP address. It may also record how you use a page, such as scrolling, the links you follow and how long you stay. It collects this over time, across your visits. We do not send it your name, email address or account. Google explains how it uses information from sites that use its services at policies.google.com/technologies/partner-sites.
- The terminal demo. The terminal on the home page reads your browser's user agent, language, time zone and window size, and encrypts them in your browser with a throwaway key. It sends nothing anywhere.
- Hosting. Cloudflare serves the site. Like any web host, it receives your IP address, your user agent and the address you asked for. Cloudflare also asks your browser to report failures to load our pages to Cloudflare.
When you sign in
Dashboard sign-in is run by Auth0, a service of Okta, on an Auth0 tenant in the United States. You can sign in with Google or with an email address and password. Auth0 holds your sign-in profile: your email address, your name if you or Google provide one, your password in hashed form if you use one, and a log of your sign-ins with the IP address and browser of each. The sign-in page may run a bot check, which can involve a third-party bot-detection service. If you choose Google, Google tells Auth0 who you are, and Google learns that you signed in to rypt.
From Auth0 we receive a sign-in identifier, and your email address and name when Auth0 includes them. For a Google sign-in, the identifier contains your Google account number. We store the identifier, and the email address and name when we receive them. Your first sign-in creates your account, which is named after your email address, or after the identifier when we have no email address. The account's name is set once, and does not change when your email address does. We never receive your password.
When you use the dashboard
- What you create. The names you give your keys and API keys. Do not put personal information in them.
- Audit rows. When you create, rotate or delete a key, or create or revoke an API key, the audit log records your user id and the IP address you connected from.
- Google Analytics. The dashboard uses the same Google Analytics property as rypt.dev, so Google can connect your visits to both. The page addresses it receives can include the ids of your keys and the text you type into the key list's filter. We do not send it your name, email address or account.
- Hosting. Cloudflare serves the dashboard as it does rypt.dev, and receives the same details, including the address of each page you load, which can contain the ids of your keys.
- Your browser. The dashboard keeps your sign-in tokens in memory only, and saves your theme choice in your browser. Section 7 lists what it stores.
When you call the API
This includes the calls the dashboard and the command line make for you.
- Your API key. We store an Argon2id hash of each API key and its eight-character prefix, never the whole key.
- Audit rows. Each create, rotate and delete, and each encrypt, decrypt, wrap, unwrap and rewrap on one of your keys, writes a row with the time, the operation, the key and key version, the result and any error code, the request id, the IP address the request came from, the length of the input, and which API key or dashboard user acted.
- Usage counts. The number of operations on each key in each calendar month.
- Request logs. Each request is logged with its method, its URL (which contains the key id and any query), its HTTP version, request id, status and latency, and no headers or bodies. Google Cloud Run's own request log also records the user agent, which names the command-line version or browser you use, and the connecting address, which is a Cloudflare server.
- Usage log lines. Each cryptographic operation also logs a line with your account id, the operation, the result, the input length, and the request's method, URL and request id.
- Error logs. When something fails inside rypt, the error is logged with internal ids such as your account id and the key id.
- Request ids. If you send an
x-request-id header, its value is kept in the logs and the audit row, so do not put personal information in it.
When you set up billing
Payments run on Stripe. When you first open checkout, we create a Stripe customer carrying your rypt account id, and your email address and name if we have them. You enter your payment method, billing address, email address, name and any tax id on Stripe's own pages, and they never pass through rypt. Stripe also collects information about the device you use on those pages, to detect fraud. Every few minutes we report each paid key's usage to Stripe: your Stripe customer id, a count, and an identifier that contains the key's id and the month. We keep your Stripe customer and subscription ids, your subscription's status and dates, and a record of the usage we reported. Stripe receives no plaintext and no key names.
When you use the command line
The installer downloads the rypt.sh script and its checksum from sh.rypt.dev, and nothing else. It saves your API key on your own computer, by default in ~/.config/rypt/api-key, readable only by your user. The script talks only to the rypt API. It sends your API key, the data you ask it to encrypt or decrypt, and a user agent that names its version. Neither collects usage statistics or checks for updates. sh.rypt.dev itself loads no scripts, sets no cookies and does not use Google Analytics. Cloudflare serves it, as it does rypt.dev.
When you email us
Mail to support@rypt.dev is received and stored on x6c's own mail server, which is backed up to storage we rent. We keep your message, your address and anything you include.
What you must give us
You need a sign-in to use the dashboard, and a payment method and billing address to use paid keys. Without them we cannot provide those parts of the Service. Nothing else we collect from you is required.