Skip to content

docs: add an identity cost calculator - #130

Merged
Bccorb merged 3 commits into
mainfrom
docs/identity-cost-calculator
Oct 21, 2026
Merged

Bccorb merged 3 commits into
mainfrom
docs/identity-cost-calculator

Conversation

@Bccorb

@Bccorb Bccorb commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Closes #110

Draft for maintainer sign-off. Every price below was read on 2026-10-20 and should be re-checked on the day this is published; they all live in src/components/cost-calculator/pricing.ts with a source URL and checked date next to each.

What this adds

  • src/content/docs/compare/cost.mdx: the Identity Cost Calculator page (list prices only, how each number is read, what the Seamless Auth number includes and leaves out, Sources).
  • src/components/cost-calculator/CostCalculator.astro: an Astro island with an inline client script. Inputs: MAU, B2C or B2B, enterprise connections, MFA. No new dependencies, no external scripts, no runtime fetches.
  • src/components/cost-calculator/pricing.ts: all prices and dates, plus the pure calculate() function.
  • Links from compare/auth0.mdx (pricing Aside and the per-user bullet) and compare/keycloak.mdx (after Footprint). The Cognito and Firebase pages in docs: compare Seamless Auth with Cognito and Firebase Auth #128 are untouched.

Without JavaScript the form stays hidden and the page shows static tables of every published Auth0 price by MAU step, the Okta starting price, and the Seamless Auth hosting cost.

Rules the calculator follows

  • A MAU count rounds up to the next step Auth0's slider shows (500, 1,000, 2,500, 5,000, 7,500, 10,000, 20,000, 30,000+). No interpolation.
  • A step the page shows as "Get in touch", anything above 30,000 MAU, Auth0 Enterprise, and the Okta suites show "Contact sales" with a link to the vendor.
  • Add-ons the page prices as "starting at" make the result "From $X".
  • If a plan does not list the enterprise connections or MFA you pick, the result says so ("Not on this plan") instead of guessing.

Prices used

Item Price Source Checked
Auth0 Free $0, up to 25,000 MAU https://auth0.com/pricing 2026-10-20
Auth0 B2C Essentials, MAU up to 500 / 1,000 / 2,500 / 5,000 / 7,500 / 10,000 / 20,000 / 30,000 $35 / $70 / $175 / $350 / $525 / $700 / $1,400 / $2,100 per month https://auth0.com/pricing 2026-10-20
Auth0 B2C Professional, same steps $240 / $240 / $545 / $1,000 / $1,200 / $1,600 / $3,200 / Get in touch https://auth0.com/pricing 2026-10-20
Auth0 B2B Essentials, same steps $150 / $300 / $700 / $1,300 / $1,725 / $2,100 / $3,800 / Get in touch https://auth0.com/pricing 2026-10-20
Auth0 B2B Professional, same steps $800 / $800 / $1,200 / $1,500 / $1,800 / $2,400 / Get in touch / Get in touch https://auth0.com/pricing 2026-10-20
Auth0 Enterprise Contact sales https://auth0.com/pricing 2026-10-20
Auth0 enterprise connections included Free 1, B2B Essentials 3, B2B Professional 5, B2C paid plans none https://auth0.com/pricing 2026-10-20
Auth0 extra enterprise connection (B2B) Starting at $100 monthly per active connection https://auth0.com/pricing (tooltip) 2026-10-20
Auth0 Enterprise MFA add-on (B2B Essentials) Starting at $100 monthly, SMS charged separately by carriers https://auth0.com/pricing (tooltip) 2026-10-20
Okta Customer Identity Enterprise base platform Starts at $3,000 per month, billed annually; add-ons priced on usage https://www.okta.com/pricing/ (Customer Identity tab) 2026-10-20
Okta Customer Identity B2C Suite, B2B Suite Inquire for pricing https://www.okta.com/pricing/ 2026-10-20
DigitalOcean Basic Droplet, Regular, 2 GiB, 1 vCPU, 50 GiB SSD $12.00 per month https://www.digitalocean.com/pricing/droplets 2026-10-20
DigitalOcean Managed PostgreSQL Standard, Basic node, 1 GiB, 1 vCPU, single node, 10 GiB $15.15 per month https://www.digitalocean.com/pricing/managed-databases 2026-10-20
DigitalOcean extra Standard Edition storage $0.215 per GiB per month https://docs.digitalocean.com/products/databases/postgresql/details/pricing/ 2026-10-20
Seamless Auth self-hosted total $27.15 per month, flat with MAU sum of the two DigitalOcean rows 2026-10-20

Auth0 prices are monthly billing, read from the rendered pricing page at each slider step.

Things a reviewer should check

  • Auth0 add-on wording. compare/auth0.mdx said extra B2B enterprise connections cost "$100 per month each, up to 30 in total". Today the pricing page says "Starting at $100 monthly per active connection" and I could not find the 30-connection cap anywhere on it, so this PR changes that sentence to the starting price and drops the cap.
  • Okta has its own Customer Identity prices. okta.com/pricing has a Customer Identity tab, separate from the Auth0 pricing it links to, with the prices above. The calculator shows those prices. The Okta Customer Identity section of compare/auth0.mdx still says Okta sells Auth0 under that name; a maintainer may want to reword it.
  • DigitalOcean rounding. The PostgreSQL details page says single node clusters start at $15.00 per month, while the Managed Databases pricing page lists $15.15 for the plan. The calculator uses $15.15 and the page explains the difference.
  • No capacity claim. Seamless Auth has no published benchmark. The page calls the host size a starting point, not a measured capacity, and points to the idle memory measurement on the Keycloak page.
  • Managed Seamless Auth pricing is not quoted; the page links to the portal.

Checks

  • npm run lint: pass
  • npm run typecheck: 0 errors, 0 warnings, 0 hints
  • npm run build: 56 pages built, including /compare/cost/ (the existing env highlighting and i18n warnings are not from this change)
  • npm run check:matrix: fails with 13 drifted packages, same as on main, unrelated to this change
  • calculate() unit tested with node --test (6 cases: published starting prices, rounding up to the next step, contact sales above the published range, connection allowance and add-on, MFA by plan, Okta rows)
  • Built site exercised in headless Chromium: the form renders and updates on input with no console errors; no horizontal scroll at 375px; with JavaScript disabled the form is hidden and both static price tables render

Adds compare/cost, a calculator that shows Auth0 and Okta Customer Identity
list prices for a MAU count, B2B or B2C, enterprise connections, and MFA,
next to the flat cost of self-hosting Seamless Auth on DigitalOcean.

Prices live in one file with a source URL and checked date for each. Tiers
without a published price show contact sales, and the page degrades to
static price tables without JavaScript.

Links the calculator from the Auth0 and Keycloak comparisons, and corrects
the Auth0 enterprise connection add-on to the starting price the page shows.

Closes #110
Every Auth0, Okta, and DigitalOcean value was re-read from the vendor pages on 2026-10-21.
No price, allowance, or add-on changed, so only the checked dates move.
@Bccorb
Bccorb force-pushed the docs/identity-cost-calculator branch from c357eb3 to 2fadd57 Compare October 21, 2026 14:15
@Bccorb
Bccorb marked this pull request as ready for review October 21, 2026 14:16
@Bccorb
Bccorb merged commit 1f1f4f0 into main Oct 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: identity cost calculator

1 participant