58 CPSC ruleseFiling live since July 8, 2026

CONTENTS

Security

What CertScope stores, who else processes it, and how to report a vulnerability.

Reporting a vulnerability

Email hello@thecompound.tech. Include the URL, what you did, and what you saw. There is no bounty and no NDA to sign. We will confirm receipt, and we will tell you what we changed.

The same address, with a machine-readable expiry, is published at /.well-known/security.txt under RFC 9116.

Accounts

CertScope has no user accounts. There is nothing to sign in to, no password to reset and no session to steal, and a build gate fails the deploy if an authentication route ever appears in this repository while this page still says otherwise.

What is stored

  • If you ask for a memo by email, or use the contact block, your email address and whatever you typed into that form are written to one row in our database — nothing else about the visit is
  • The SKU details you type into the free determination wizard are used to answer it and, if you asked for the memo, stored on that same row
  • Anonymous usage analytics — page views and clicks. Form inputs are masked in session recordings and no profile is created for a visitor who never identifies themselves

Who else processes data

  • Stripe — takes the payment and holds the card details — we never see a card number
  • Supabase — the database that one lead row is written to
  • PostHog — anonymous product analytics, proxied through this domain
  • Vercel — serves this site and holds its access logs

Also true

  • The free tools do not require an email. You can run a determination and a certificate lint without leaving one.
  • Payment pages are Stripe's own hosted checkout on a Stripe domain, so a card number is never typed on this site.

CertScope is built and run by Compound Labs. The declarations on this page are part of this product's own configuration and are re-checked at every deploy against the repository they describe: a product that claims to have no accounts and ships an authentication route fails the build, and so does one that takes payment without naming its payment processor here.