Skip to main content

Privacy  ·  Policy

Privacy, in plain language.

Last updated  ·  October 12, 2026

Most privacy policies are written by lawyers in language built to obscure what's actually happening. This one isn't. Rhythmos is a one-person operation; this site exists to collect waitlist signups and nothing more. Read the short version below and you'll know what we do with your email. Read the detailed version if you want the receipts. (If you're looking for the Rhythmos mobile app's privacy policy, that's a separate document at /privacy/app.)

The short version

What you need to know.

We collect your email when you join the waitlist. That's it.
No name, no location, no contacts, no browsing history. Just the email you put in the form.
We hash your IP for spam defense. The hash is wiped after 90 days.
We store a one-way hash of your IP address — not the address itself — so we can defend the form against spam. Ninety days after you sign up, the hash is set to NULL. There is no other personal device data stored.
Three vendors see your data: Cloudflare, Supabase, Resend.
Cloudflare hosts the site (cookieless analytics). Supabase stores your email row. Resend delivers the confirmation email. Each is named in detail below.
We do not sell your data, share it for advertising, or hand it to data brokers.
Ever. The waitlist is for Rhythmos news only: the launch, and the occasional real update before it.
You can email us anytime to delete your row.
Send a note to the contact address at the bottom and we'll wipe your row from the database. No back-and-forth, no win-back email.
No third-party tracking cookies are set.
No Google Analytics, no Facebook Pixel, no Hotjar, no Mixpanel. Cloudflare Web Analytics is cookieless and aggregate-only.

Questions? See the detailed sections below or scroll to the contact section at the end.

The detailed version

Section by section.

1. What we collect

When you submit the waitlist form, we store your email address. Alongside it we keep a small set of consent metadata — a record of the fact that, and the terms under which, you agreed to join:

  • consent_text_version — the version string of the consent language you agreed to, e.g. v1. It's a demonstrable-consent record: if the wording changes, we can tell which version you actually saw.
  • source — which form you signed up from, e.g. hero-home.
  • consented_at — the ISO timestamp of your submission.

We also store a one-way hash of your IP address (sha256(server_pepper + ip)). The pepper is a secret known only to the function that handles your submission. Without that pepper, the hash cannot be reverse-derived from the public IP space. The IP hash is wiped 90 days after signup — set to NULL by a scheduled task on our database — so longitudinal IP-level forensics is bounded by design.

That's the complete list. There is no name, no street address, no phone number, no location, no device fingerprint, no third-party tracking ID stored.

2. What we don't collect

To make the negative explicit:

  • No name, address, phone, location. The form asks for an email; that's all we receive.
  • No contacts, calendar, or device data. This is a website, not an app. We can't see those things even if we wanted to.
  • No third-party tracking cookies. No Google Analytics, no Facebook Pixel, no Hotjar, no Mixpanel, no Plausible, no Fathom, no Segment. Our analytics provider is Cloudflare Web Analytics, which is cookieless and aggregate-only.
  • No browsing history. We see only the request that hits our site, not where you went before or after.
  • No advertising IDs. None are passed to anyone.

3. Who sees it

Three vendors process your data. Each does one specific thing:

  • Cloudflare — hosts the site at the network edge and runs the function that receives your form submission. They see standard HTTP request data (your IP, User-Agent, the request body containing your email). They also provide our cookieless web analytics (aggregate page-view counts only) and our spam-defense layer (Turnstile bot-check + a WAF rate-limit rule). Turnstile runs in invisible mode; what it processes is described in Cloudflare's Turnstile Privacy Addendum.
  • Supabase — stores the waitlist database row containing your email, the three consent_metadata fields above, the ip_hash, and timestamps. The database has row-level security: only our function can insert; no client read access exists.
  • Resend — delivers the confirmation email you get after signing up, and the launch and update emails after that. Resend sees your email address (because it's the recipient) and the email body (because it's what gets sent).

No one else sees your data. We do not have analytics partners, advertising partners, or "data enrichment" partners. We do not sell, rent, or share your data with anyone.

4. Retention

  • Email row: once you confirm your email, we keep the row indefinitely until you ask us to delete it. If you never confirm, the row is deleted after 90 days by a scheduled task — an unconfirmed signup cleans itself up.
  • ip_hash: set to NULL 90 days after signup by a scheduled task that runs daily.
  • consent_metadata: kept alongside the row for the same lifetime (it's the demonstrable-consent record).

If you delete your row (see Your rights below), all of the above goes with it.

5. Your rights

  • Export. Email us and we'll send you the row we have on you (it's small — your email, the three consent fields, the IP hash, and timestamps).
  • Delete. Email us and we'll wipe your row from Supabase. We do not require account verification beyond control of the email address.
  • Withdraw consent. If you signed up but never clicked the confirmation link in the email, your row is in an unconfirmed state and is not actively used for anything. You can ignore it and it remains unconfirmed.
  • Correct. If your email has a typo and you want it fixed, email us; we'll delete the row and you can sign up again with the correct address.

6. Children

Rhythmos is not directed at children under 13. We do not knowingly accept waitlist signups from children. If you believe a child has signed up, email us and we'll delete the row.

7. Changes to this policy

If we change this policy, we'll update the "Last updated" date at the top. If a change affects what we do with your email, we'll email you before it takes effect. We won't sneak edits past you.

8. Contact

For privacy questions or data deletion requests:

This privacy policy is written in plain language because we believe you should actually be able to understand what we do with your data. If something is unclear, that's a bug — email us and we'll fix the wording.