Bridge legacy IAM (Active Directory, LDAP, SAML, OAuth) to JIS cryptographic identity — no middleman migration
Project description
jis-iam-bridge
Bridge Legacy IAM to JIS Cryptographic Identity
Keep your enterprise IAM. Add JIS on top. No rip-and-replace.
The Problem
Enterprises have millions of identities tied to centralized servers:
- Active Directory — Windows domain accounts, group policies
- LDAP — OpenLDAP, 389 Directory, cross-platform auth
- SAML — Federated SSO, Okta, Azure AD, PingFederate
- OAuth/OIDC — Google Workspace, Auth0, Keycloak
Every one of these systems is a middleman. Your identity exists because a server says it does. Server down? Identity gone. Breach? Everyone exposed.
JIS (Jasper Identity Scheme) uses cryptographic identity — no middleman. Your identity is derived from keys you control, verifiable by anyone, dependent on no central server.
But you can't migrate millions of users overnight. That takes years.
The Solution
jis-iam-bridge lets you keep your legacy IAM and add JIS on top.
Every AD/LDAP/SAML/OAuth user gets a deterministic JIS identity
derived from their existing credentials.
[Active Directory] ←→ [jis-iam-bridge] ←→ [JIS Identity]
[LDAP Server] ←→ [jis-iam-bridge] ←→ [JIS Identity]
[SAML IdP] ←→ [jis-iam-bridge] ←→ [JIS Identity]
[OAuth Provider] ←→ [jis-iam-bridge] ←→ [JIS Identity]
How It Works
- Register your IAM sources (AD domain, LDAP server, SAML IdP, OAuth provider)
- Map users — each IAM user gets a deterministic
jis:URI identity - Both systems work in parallel — legacy IAM for existing apps, JIS for new
- Gradual migration — move workloads to JIS at your own pace
- TIBET audit trail — every identity mapping is a provenance token
Identity Derivation
IAM user: "jvandemeent@corp.example.com" (Active Directory)
↓ deterministic hash
JIS identity: jis:a3f8c91b2d4e7063
The JIS identity is derived from the source type, domain, and user ID. Same input always produces the same JIS identity. No central registry needed.
Group Mapping
AD/LDAP groups are mapped to JIS capabilities:
AD Group "Domain Admins" → JIS capability: admin
AD Group "Engineering" → JIS capability: engineering
LDAP Group "cn=developers" → JIS capability: developers
Installation
pip install jis-iam-bridge
CLI Usage
# Concept overview — the middleman problem and gradual migration
jis-iam-bridge info
# Demo — simulate 50 AD users, map to JIS, verify, show migration status
jis-iam-bridge demo
# Bridge statistics
jis-iam-bridge status
# Show configured IAM sources
jis-iam-bridge sources
Python API
from jis_iam_bridge import IAMBridge, IAMSource
bridge = IAMBridge()
# Register an Active Directory source
bridge.add_source(IAMSource(
name="Corp AD",
source_type="active_directory",
endpoint="ldaps://dc01.corp.example.com",
domain="corp.example.com",
))
# Map a user to JIS identity
mapping = bridge.map_identity("jvandemeent", "active_directory")
print(mapping.jis_id) # jis:a3f8c91b2d4e7063
print(mapping.source_type) # active_directory
print(mapping.active) # True
# Resolve JIS identity back to IAM source
sources = bridge.resolve(mapping.jis_id)
print(sources[0].iam_user_id) # jvandemeent
# Migration status per source
status = bridge.migration_status()
# {"active_directory": {"total": 500, "mapped": 123, "percentage": 24.6}}
TIBET Provenance
Every identity mapping creates a TIBET audit token:
- ERIN — the mapping action, IAM user, JIS identity
- ERAAN — IAM source, domain, groups
- EROMHEEN — bridge node, timestamp, sync context
- ERACHTER — intent description ("Identity bridge: AD → JIS")
License
MIT — Humotica / J. van de Meent
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jis_iam_bridge-0.1.0.tar.gz.
File metadata
- Download URL: jis_iam_bridge-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78a302ee5c7b30bd179a2aa77424ccfdee98f58b01b8f3f1deb444317d48a0a4
|
|
| MD5 |
6116a8214e0ba0c03d0601ec82322ecd
|
|
| BLAKE2b-256 |
cbd18b036cd80a03b9e1d7f6e812a018f09fe47cccec04d7421a173ec315c7ee
|
File details
Details for the file jis_iam_bridge-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jis_iam_bridge-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa38767d3e635891c5a5c0b7d5e740776ed4b5851e4abec2ed4b87a913ee24d4
|
|
| MD5 |
c58e039fe7e79a2376e69db5994a4dc7
|
|
| BLAKE2b-256 |
e9f234b1bdf17c7a39a277ae5acb95a1cc28834cdf6ac821eb5b2a6c5ff7fdb2
|