Platform Features

Identity infrastructure that
doesn't hold you back

Every capability you need for enterprise-grade CIAM — in a single, self-hosted Spring Boot service.

Authentication MFA Multi-Tenancy Federation Security Enterprise
Authentication

Industry-standard OAuth2 & OpenID Connect

Built on Spring Authorization Server — the officially maintained OAuth2/OIDC implementation for the JVM. Fully compliant with the latest RFCs.

  • Authorization Code + PKCE
  • Client Credentials (service-to-service)
  • Device Authorization Flow
  • Refresh Token rotation with reuse detection
  • Token Introspection & Revocation (RFC 7009)
  • OIDC UserInfo endpoint & Discovery
Token endpoint — cURL
curl -X POST https://acme.auth.platform.com/oauth2/token \
  -d grant_type=authorization_code \
  -d code=SplxlOBeZQQYbYS6WxSbIA \
  -d code_verifier=dBjftJeZ4CVP... \
  -d redirect_uri=https://app.example.com/cb \
  -u client_id:client_secret

# Response
{
  "access_token": "eyJhbGciOiJSUzI1...",
  "token_type":   "Bearer",
  "expires_in":   3600,
  "id_token":     "eyJhbGciOiJSUzI1..."
}
MFA

Four MFA methods, one unified flow

Per-tenant MFA policy — transparent to the OAuth2 client application.

🔐

TOTP

RFC 6238. Works with Google Authenticator, Authy, 1Password. ±1 step tolerance. Pure Java HmacSHA1.

🔑

Passkeys (WebAuthn)

FIDO2 / WebAuthn. Biometric & hardware key support. Phishing-resistant by design.

📧

Email OTP

Time-limited codes via configurable notification provider. HMAC-SHA256 signed OTPs.

📱

SMS OTP

Pluggable SMS provider. 6-digit codes with 10-minute expiry and replay protection.

Multi-Tenancy

True isolation — not just filtering

Each tenant has its own users, applications, OAuth2 clients, signing keys, MFA policy, and org hierarchy. PostgreSQL Row-Level Security enforces isolation at the DB layer.

  • Subdomain routing: acme.auth.platform.com
  • Header routing: X-Tenant-ID
  • Per-tenant RSA-2048 key pairs (auto-generated)
  • PostgreSQL RLS policy on every user row
  • Per-tenant JWT issuer, MFA policy, and branding
{
  "iss": "https://auth.platform.com/acme",
  "sub": "user_01HX...",
  "tenant_id": "acme",
  "org_id":    "org_engineering",
  "app_id":    "app_dashboard",
  "roles": ["admin", "developer"],
  "permissions": [
    "users:read",
    "users:write"
  ],
  "email": "alice@acme.com",
  "given_name":  "Alice",
  "family_name": "Smith"
}
Federation

Connect any enterprise identity provider

🏛️

SAML 2.0 IdP & SP

Act as SAML IdP or connect to Okta, Azure AD, Google Workspace via metadata import with JIT user provisioning.

🌐

OIDC Federations

Federate with any upstream OpenID Connect provider. Map external claims to local tenant roles automatically.

📋

SCIM 2.0 Provisioning

Automated user provisioning and deprovisioning from Azure AD, Okta, Google. Lifecycle events via Kafka.

Security

Defense in depth, from Day 1

🛡️

Argon2id Password Hashing

Primary hashing algorithm. Legacy bcrypt support for migration with auto-upgrade on next login.

🚦

Rate Limiting

5 failed attempts / 15-min window. 30-min lockout. Redis-backed — survives restarts and horizontal scaling.

💧

Breached Password Detection

Checks against known breach databases using k-Anonymity. Rejects compromised credentials at registration and reset.

🚫

Banned Password Lists

Configurable per-tenant banned-word lists block weak, company-specific, and contextual passwords.

⚠️

Risk Evaluation

Per-request risk scoring evaluates device fingerprint, IP reputation, geo-velocity, and behavioural signals.

🔒

DB Row-Level Security

PostgreSQL RLS enforces tenant isolation at the database level — a query without a tenant filter returns zero rows.

Enterprise

Ready for complex organizational hierarchies

🏢

Organizations

Hierarchical org units. Assign apps, roles, and permissions at org level. Supports enterprise B2B2C.

👥

Memberships

Users can belong to multiple orgs with different roles in each. Full membership APIs.

📬

Notification Providers

Per-tenant email and SMS providers. Bring your own SMTP, Mailgun, Twilio, or SendGrid.

Java 21 Virtual Threads

Project Loom — tens of thousands of concurrent auth requests on commodity hardware.

📨

Kafka Event Bus

Idempotent JSON events for all auth lifecycle events. Zero-message-loss delivery.

🐳

Docker & Kubernetes

Single Docker image, configurable via env vars. Helm chart for Kubernetes with HPA support.

Feature Matrix

What's included at every tier

FeatureCommunityStarterEnterprise
Authentication
OAuth2 / OIDC (all flows)
PKCE & refresh token rotation
MFA
TOTP (RFC 6238)
Email & SMS OTP
WebAuthn Passkeys
Multi-Tenancy
Number of tenantsUp to 3Up to 25Unlimited
Per-tenant JWT signing keys
PostgreSQL RLS isolation
Federation
SAML 2.0 (IdP + SP)
OIDC Federation
SCIM 2.0 Provisioning
Security
Argon2id + bcrypt migration
Rate limiting + lockout
Breached password detection
Risk evaluation

Ready to get started?

Everything you need to ship secure identity — with full source code, no vendor lock-in.

Quick Start GuideSee Pricing