Aeion Identity vs Auth0, Okta, Microsoft Entra

Auth0 charges $0-78K/month depending on MAUs. Okta charges $2-6/user/month. Microsoft Entra charges $6-12/user/month. Aeion Identity & Security is included free with every deployment — SSO, MFA, API keys, RBAC, suspicious login detection, encrypted secrets, all of it.

Head-to-Head Comparison

CapabilityAeion IdentityAuth0OktaMicrosoft Entra
**Pricing**Free (included)$0-78K/mo$2-6/user/mo$6-12/user/mo
**100 users, 1 year****$0/year**$3,600-12,000/yr$2,400-7,200/yr$7,200-14,400/yr
**SSO**SAML 2.0, OIDC, PKCESAML 2.0, OIDCSAML 2.0, OIDCSAML 2.0, OIDC
**Social login**10 providers30+ providersLimitedLimited
**MFA**TOTP, WebAuthn, backup codesTOTP, WebAuthn, SMSTOTP, WebAuthn, SMSTOTP, WebAuthn
**API keys**Scoped + IP allowlists + rate limitsScoped permissionsLimitedLimited
**Suspicious login**Risk scoring + blockingBasic anomalyBasic anomalyBasic anomaly
**RBAC**Hierarchical + billing integrationRules engineRules engineAzure AD roles
**Encryption**AES-256-GCM (customer-controlled)Auth0-managedOkta-managedMicrosoft-managed
**Audit logging**90-day historyPaid add-onPaid add-onSeparate product
**Session storage**Redis + JWTAuth0-managedOkta-managedEntra-managed
**Setup time**30 minutesHours-daysDays-weeksDays-weeks

The Per-User Pricing Trap

Auth0 pricing model:

``` Free tier: 7,500 MAU, limited features Standard: $0.023/MAU + $0.005/authorized API call Standards: $0.001/MAU for standards protocols Enterprise: Custom pricing ($20K-78K/month)

At 1,000 MAU (Standard): 1,000 × $0.023 = $23/month in MAU fees + 50,000 API calls × $0.00005 = $2.50/month + Standards: 50,000 × $0.00001 = $0.50/month = $26/month minimum

At 10,000 MAU (Standard): = $230/month + API calls

At 50,000 MAU (Enterprise): = $20,000/month minimum (before overages) ```

Okta pricing model:

``` Workforce Identity Cloud: $2-6/user/month All features: $6/user/month minimum

At 100 users: $2,400/year At 500 users: $12,000/year At 1,000 users: $24,000/year (minimum) ```

Microsoft Entra pricing:

``` Entra ID P1: $6/user/month Entra ID P2: $9/user/month (with risk-based Conditional Access) B2C: $0-0.00125/MAU (separate product)

At 100 users with P1: $7,200/year At 500 users with P2: $54,000/year ```

Aeion Identity: $0/month — included with every Aeion OS deployment.

The math at 500 users, 1 year:

Auth0 Enterprise: ~$20K/month × 12 = $240,000/year Okta (P2): 500 × $9 × 12 = $54,000/year Microsoft Entra (P2): 500 × $9 × 12 = $54,000/year Aeion Identity: $0/year

What You Get vs What You Pay For

Auth0 Standard ($0.023/MAU):

  • ✅ SAML 2.0, OIDC, PKCE
  • ✅ Social login (30+ providers)
  • ✅ TOTP, WebAuthn MFA
  • Advanced threat detection: Paid add-on (~$0.05/MAU)
  • Custom domains: Paid add-on
  • Audit logs: Paid add-on (Log Streaming)
  • Password breach detection: Paid add-on
  • Customizable email templates: Paid add-on

Okta ($2-6/user/month):

  • ✅ SSO, MFA, basic RBAC
  • Full RBAC: Requires $6/user/month tier
  • Lifecycle automation: Paid add-on
  • Advanced AD integration: Separate product
  • Audit logs: Paid add-on
  • Custom branding: Paid add-on

Aeion Identity (free):

  • ✅ Everything Auth0 Standard has
  • ✅ Advanced threat detection (risk scoring, suspicious login alerts)
  • ✅ Audit logs (90-day history, included)
  • ✅ Scoped API keys with IP allowlists
  • ✅ Password breach detection (configurable complexity, rotation, and breach checks)
  • ✅ Billing-integrated RBAC (role elevation on subscription)
  • ✅ Encrypted secrets (AES-256-GCM, not vendor-managed)

You're not just saving money. You're getting more features.

Encryption — Your Keys, Not Vendor Keys

Auth0 and Okta encryption model:

``` Your data: encrypted by Auth0's/Okta's keys Your MFA secrets: stored by Auth0/Okta Your OAuth tokens: managed by Auth0/Okta Encryption keys: Auth0/Okta infrastructure

If Auth0/Okta is breached → your keys are in their key store If Auth0/Okta goes bankrupt → your MFA secrets are gone If Auth0/Okta changes pricing → you have no negotiating power ```

Aeion Identity encryption model:

  • MFA (TOTP) secrets are encrypted at rest with AES-256-GCM, using a key derived specifically for that secret type
  • OAuth refresh tokens are encrypted at rest with AES-256-GCM, using their own derived key
  • Magic link tokens are encrypted at rest with AES-256-GCM
  • Keys are derived via PBKDF2 from a master key that lives only in your deployment's environment configuration — never stored in the database

Why this matters:

  • Your MFA secrets are encrypted with your own keys
  • Your OAuth tokens are encrypted with your own keys
  • If Aeion OS infrastructure is breached, the attacker gets encrypted blobs they can't decrypt
  • If you want to migrate to another system, you control the decryption keys

Auth0/Okta: "Trust us with your keys." Aeion Identity: "You own your keys."

Suspicious Login Detection — Beyond Basic Anomaly

Auth0/Okta basic anomaly detection:

``` Auth0: "Unusual login detected" — binary flag → Just sends an alert email → No risk score, no blocking

Okta: "Risk-based authentication" — requires P2 ($9/user/month) → Risk score (0-100) → Can block logins with Conditional Access policies → But: requires additional configuration, separate product ```

Aeion Identity suspicious login detection:

Aeion combines dozens of signals — first-time IP address, first-time country, first-time device, off-hours login, repeated failed attempts before success, known proxy/VPN activity, known bot activity, and more — into a single risk score for every login attempt. Attempts that cross a suspicion threshold trigger an immediate alert email; attempts that cross a higher threshold are blocked outright. Every risky event is logged with its full set of contributing factors for audit.

Device fingerprinting:

Aeion recognizes returning devices using browser and OS signals — user agent, screen resolution, timezone, language, platform, and rendering fingerprints. A login from a brand-new device nudges the risk score up; a login from a known, previously-seen device doesn't add any risk penalty.

Auth0 and Okta don't give you this depth of risk analysis in their base tiers. You pay for it, and then you configure it yourself.

API Keys — Scoped Permissions with IP Allowlists

Auth0 API Keys:

``` Auth0 Management API uses OAuth tokens, not API keys For your own APIs: you use Auth0's rule engine No true API key management (per-key permissions, IP allowlists)

Better suited for: Auth0-as-IdP for SaaS apps Poorly suited for: Machine-to-machine API access ```

Okta API Access:

API Access Management: $3/user/month (separate from core SSO) Supports OAuth 2.0 scopes Supports IP allowlists No API key management for non-OAuth APIs

Aeion Identity API Key Service:

```typescript // True API key management: const apiKey = await apiKeyService.createApiKey({ name: "CRM Integration", userId: "usr_abc123", scopes: ["crm.contacts.read", "crm.contacts.write", "crm.deals.read"], rateLimit: 1000, // requests per minute allowedIps: ["203.0.113.0/24"], // CIDR notation expiresAt: "2027-01-01", // Optional expiry });

// Key format: ak_<unique-id>_<random32chars> // SHA-256 hash stored — full key shown only once at creation

// Rate limiting: sliding window, enforced per key // IP allowlisting: CIDR matching // Scoping: per-permission granularity ```

Use cases Aeion Identity handles:

  • CRM integration: crm.contacts.read, crm.deals.read
  • Analytics dashboard: bi.reports.read, bi.charts.read
  • Mobile app backend: users.profile.read, commerce.orders.read
  • Webhook consumer: webhooks.write + IP allowlist for the webhook sender

Each API key is independently:

  • Scoped to specific permissions
  • Rate-limited (per-key, configurable)
  • IP-allowed (CIDR notation, multiple ranges)
  • Expirable (or permanent)
  • Revocable (immediate, Redis-backed)

Billing-Integrated RBAC — No Manual Role Management

Auth0/Okta RBAC:

``` Auth0: Rules + Roles + Permissions → You define roles (admin, member, etc.) → You assign permissions to roles → You assign roles to users → Manual process for every role change

Okta: Groups + Application Assignments → You manage groups in Okta → You assign apps to groups → When a user upgrades/downgrades → you manually update their group

Problem: Billing and identity are disconnected. When a user subscribes → someone manually updates their role. When a user cancels → someone manually updates their role. ```

Aeion Identity billing integration:

When a user's subscription changes, Aeion automatically elevates or demotes their role — no manual sync required:

  • Subscribe → immediately elevated to the plan's role
  • Cancel or expire → immediately demoted back to a standard member role

This happens through Aeion's built-in event system, with zero custom integration code required.

What this means:

  • User subscribes → immediately gets premium features, no manual intervention
  • User cancels → immediately loses premium features, no manual intervention
  • User upgrades → immediately gets new plan's features
  • User downgrades → immediately restricted to new plan's features

With Auth0/Okta: You need a process (and a person) to manage role changes. With Aeion Identity: It's automatic.

The True Cost Comparison

Cost FactorAeion IdentityAuth0 EnterpriseOkta P2
**Base cost**$0$20,000/mo$600/mo (100 users)
**API access**$0$0 (OAuth tokens)$300/mo
**Audit logs**$0$5,000/mo$2,000/mo
**Advanced MFA**$0$0.05/MAUIncluded in P2
**Custom domain**$0$2,000/mo$2,000/mo
**Threat detection**$0$0.05/MAU$2,000/mo
**At 1,000 MAU/year****$0/year****$360,000/yr****$74,400/yr**
**At 5,000 users/year****$0/year****$1,800,000/yr****$372,000/yr**

When Auth0/Okta Make Sense

Use Auth0 or Okta when:

  • You're a pure SaaS product and Auth0/Okta is your primary IdP for customer-facing authentication (not just internal tools)
  • You need Auth0/Okta's ecosystem of pre-built integrations (Salesforce, Slack, etc.)
  • You have a dedicated identity team to manage configuration
  • You need the absolute highest uptime SLA (99.99%+) with dedicated support
  • You're already in Auth0/Okta and migration cost exceeds ongoing savings

Use Aeion Identity when:

  • You run Aeion OS and need authentication for your own deployment
  • You want to avoid per-user/per-MAU pricing as you scale
  • You want full control over encryption keys
  • You want suspicious login detection without paid add-ons
  • You want billing-integrated RBAC (role elevation on subscription)
  • You want everything in one place (auth + modules + infrastructure)

Migration from Auth0/Okta:

``` 1. Export users (CSV or API) 2. Export MFA configs (TOTP secrets — encrypted in Auth0/Okta) 3. Export OAuth connections (encrypted) 4. Configure Aeion Identity with same providers 5. Import users (email/password requires re-enrollment for MFA) 6. Update DNS to point to Aeion OS auth endpoints

The migration is non-trivial if you have MFA enabled. Budget: 2-4 weeks for a full migration with MFA. ```

For Aeion OS deployments, there's no question. Aeion Identity is already installed, already configured, and costs $0. Using Auth0 or Okta adds cost, complexity, and vendor lock-in for no benefit.

Frequently Asked Questions

Replaces. Aeion Identity ships the full surface: password + magic link + SSO (SAML 2.0, OIDC), MFA (TOTP, FIDO2 WebAuthn, backup codes), session management, API keys, social logins, suspicious-login detection, account lockout, password policies, JWT signing + rotation. There's no 'plus Auth0' — it's a full replacement, included in the platform.

Standards-compliant SAML 2.0 + OIDC IdP, with the same federation patterns as Okta. Inbound SSO from corporate IdPs (Azure AD, Google Workspace, Okta itself) supported for tenant employees. Outbound SSO (Aeion as IdP for downstream apps) supported for customer-portal scenarios. Just-in-time provisioning, SCIM 2.0 for user lifecycle.

FIDO2 / WebAuthn is a first-class MFA factor — register a YubiKey, Touch ID, Face ID, or any FIDO2 authenticator. Resident-key + non-resident-key flows both supported. TOTP / SMS / email available as fallbacks. Per-tenant MFA policies (required for admins, optional for end-users, etc.) configurable.

Each tenant has its own user table, role table, permission table, and session table — no cross-tenant user-id collisions. A single human can be a user in multiple tenants (with different roles in each) via a separate identity-link table. The session cookie / JWT carries (user_id, tenant_id) — never just user_id — to prevent cross-tenant escalation.

Auth0 charges $0.025-$0.10 per MAU depending on tier; at 100K MAU you're looking at $2,500-$10,000/month. Aeion Identity is $0, included free with whatever Aeion module(s) you're already paying for. The bigger structural win: when identity is your platform's, you control SLA, you control the feature roadmap, you don't get hit with surprise per-MAU true-up bills at the end of the year.

Enterprise Identity — Included Free, No Vendor Lock-In