Billing & pricing
Find My Data is licensed per user (seat) — the number of people in the customer’s organization who are covered. Two paid editions, billed monthly per seat, plus the 30-day evaluation.Pricing
Why these numbers
Benchmarked against comparable enterprise data-security / DSPM / governance tools. Legacy enterprise suites (Varonis, BigID) are high-touch six-figure sales; modern per-seat DSPM/SaaS security tools land roughly **14) with an Enterprise tier ($29) that unlocks the additional connectors + support — a 2× step that mirrors typical Standard→Enterprise ratios. Billing is monthly and per-seat so it scales cleanly with the customer’s headcount; annual pricing can be added later as a second Price on each product.Seat count & the Azure-tenant idea
The buyer picks the seat count at checkout (Stripe’s adjustable-quantity is on, so they can change it), and the count is stored on the account (cp_accounts.stripe_seats).
Because the installed product already reads the customer’s M365/Entra org, a
natural enhancement is to have the deployment report its active-user count (as
a coarse, allowlisted signal like fleet telemetry) so Account can suggest the
right seat count and flag over/under-licensing for a true-up — without the vendor
ever pulling the customer directory. That reporting hook is a documented
follow-up; the per-seat billing itself is live.
Stripe objects (this account, TEST mode)
Created in the Stripe sandbox (PaintScan, acct_1SyISvIHBtgvYqMd). No real
charges. Use Stripe’s “Copy to live mode” on each product when going live, then
repeat the env wiring with the live price ids + live keys.
Wiring the portal (deploy-time env)
https://account.findmydata.io/account/v1/billing/webhook, subscribe to
checkout.session.completed and customer.subscription.deleted, and copy the
signing secret (whsec_…) into STRIPE_WH. The portal verifies that signature on
every event (raw-body HMAC, replay-bounded) before upgrading an account.