SCIM provisioning for your existing databases

SCIMply

SCIMply is a ready-to-run SCIM 1.1 and 2.0 gateway that sits in front of your existing databases — MySQL, PostgreSQL, and MongoDB out of the box. Connect your identity provider once. Users are provisioned, updated, and deprovisioned automatically, wherever you store them. Built as a Go SDK for teams that need to go further.

Connect your IdP once. Every database stays in sync.

Your identity provider fires a provisioning event. SCIMply receives it, translates it into a native write, and keeps your databases current — no scripts, no cron jobs, no manual reconciliation.

🐬

MySQL & PostgreSQL

Map SCIM attributes directly onto your relational schema. SCIMply handles create, update, and deactivate operations against your existing tables — no migration required, no middleware to maintain.

🍃

MongoDB

Write identity events into MongoDB collections with flexible document mapping. Flat collections or nested tenant models — SCIMply adapts to your schema, not the other way around.

🔗

SCIM 1.1 & 2.0

Full protocol compliance for both versions. Connect Okta, Entra ID, Google Workspace, or any standards-based identity provider without writing a single line of provisioning code.

🧩

Extensible Go SDK

Implement the Connector interface to target any backend in idiomatic Go. Custom APIs, legacy systems, internal services — if it stores users, SCIMply can reach it.

📋

Compliance-Ready Audit Logs

Timestamped, tamper-proof logs in auditor-friendly formats. Demonstrate SOC 2, ISO 27001, HIPAA, and GDPR compliance with evidence that satisfies real auditors.

🚀

Open Source & Self-Hostable

Deploy on your own infrastructure. MIT licensed, no vendor lock-in, no per-connection fees, and no enterprise sales call required to get started.

A product you run. A SDK you own.

SCIMply ships as a ready-to-deploy SCIM gateway with built-in connectors for MySQL, PostgreSQL, and MongoDB. When your requirements go beyond the defaults, the same codebase is an importable Go SDK — extend it to any backend your stack runs on.

🔗

Your IdP fires an event. SCIMply writes it. Your database stays current.

Point your identity provider’s SCIM configuration at SCIMply. Every event — user created, updated, or deprovisioned in Okta, Entra ID, or Google Workspace — is received, validated against SCIM 1.1 or 2.0, and written directly into your database. No adapter layer. No polling.

Provisioning Log
CREATEdavid@company.com→ MySQLSCIM 2.02s ago
UPDATEalice@company.com→ PostgreSQLSCIM 2.048s ago
DEPROVISIONbob@company.com→ MongoDBSCIM 1.13m ago
CREATEcarol@company.com→ MySQLSCIM 2.05m ago
UPDATEeve@company.com→ PostgreSQLSCIM 1.112m ago
Connectors
🐬

MySQL

connected

users.production

12,841

synced 2s ago

🐘

PostgreSQL

connected

identity.public.accounts

4,209

synced 48s ago

🍃

MongoDB

connected

app.identities

8,672

synced 3m ago

🗄️

MySQL, PostgreSQL, and MongoDB — no schema changes required.

SCIMply connects to your existing database and maps SCIM attributes onto your schema. Relational or document, flat or nested — define the mapping once in configuration. Your table and collection structure stays exactly as it is.

🧩

Need a backend we don’t cover? Implement one interface.

SCIMply is built as a Go SDK, not a black-box binary. Implement the Connector interface to reach any backend — a custom API, a legacy directory, or an internal service. Your implementation slots in alongside the built-in connectors with no changes to the gateway itself.

connector.go
type Connector interface {
// CreateUser provisions a new identity.
CreateUser(ctx context.Context,
user *scim.User,
) error

// UpdateUser applies a PATCH or PUT operation.
UpdateUser(ctx context.Context,
id string,
ops []scim.PatchOp,
) error

// DeleteUser deprovisions an identity.
DeleteUser(ctx context.Context,
id string,
) error

// GetUser retrieves a single identity by ID.
GetUser(ctx context.Context,
id string,
) (*scim.User, error)
}

gateway.Register(“custom”, &MyConnector{})

Works with the identity providers you already use.

SCIMply receives events from any standards-compliant identity provider over SCIM 1.1 or 2.0. No custom adapters. No per-IdP configuration.

Okta

SCIM 1.1 · 2.0

supported

Microsoft Entra ID

SCIM 2.0

supported

Google Workspace

SCIM 2.0

supported

Auth0

SCIM 2.0

supported

Ping Identity

SCIM 1.1 · 2.0

supported

Any SCIM provider

SCIM 1.1 · 2.0

supported

Ready to get started?

SCIMply is a ready-to-run SCIM 1.1 and 2.0 gateway that sits in front of your existing databases — MySQL, PostgreSQL, and MongoDB out of the box. Connect your identity provider once. Users are provisioned, updated, and deprovisioned automatically, wherever you store them. Built as a Go SDK for teams that need to go further.

Star on GitHub