Skip to main content

Overview

IdentSphere is a self-hostable authentication and access-control SDK. It ships:

  • A Rust backend (Axum-based) with ~40 HTTP endpoints covering every modern auth flow.
  • A TypeScript / React frontend package (@identsphere/react) with typed hooks + guards + an Axios client that handles refresh, CSRF, and cookie session bookkeeping for you.
  • A standalone Docker image (identsphere-server) that any language stack can call as a sidecar.
  • A CLI (identsphere migrate, identsphere export) for operating the database.

You wire it into your application, run it on your own infrastructure, and nothing ever phones home.

The model

┌──────────────────────────────────────────────────────────────────────┐
│ Your infrastructure │
│ │
│ ┌──────────────┐ HTTPS ┌──────────────────┐ SQL ┌───────┐ │
│ │ Your app + │───────────►│ identsphere-server │────────►│ Pg │ │
│ │ frontend │ cookies │ (this SDK) │ │ │ │
│ │ │ + JWT │ │ └───────┘ │
│ └──────────────┘ │ - register │ │
│ │ - login │ │
│ │ - MFA │ │
│ │ - passkey │ │
│ │ - OAuth │ │
│ │ - sessions │ │
│ │ - audit │ │
│ └──────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘
✗ no outbound connections ✗

What you choose at deploy time

ConcernDefault (zero config)Production options
EmailLogOnlySender — prints to stdoutSMTP, Resend, SES, SendGrid
Object storageLocalFsStorage — local diskS3, R2, GCS, MinIO
Session cachePostgresOnlyCache — DB onlyRedis
JWT signingHS256 (shared secret)RS256 (asymmetric, JWKS-published)

Every provider is a trait — bring your own implementation if our defaults don't match what you need.

What's actually here

LayerLines of codeTests
identsphere-core~4,50038
identsphere-axum~6,50043
identsphere-cli~6000 (smoke-tested via migration runs)
identsphere-webhooks~1503
@identsphere/react~2,500(typecheck only)
Total~14,00084

Plus reserved-but-not-shipped premium crates: identsphere-saml, identsphere-scim, identsphere-audit-export.

Where to go next