Implemented endpoints
- Discovery and JWKS
- Authorization Code with PKCE
- Token, UserInfo, introspection, and revocation
- RP-initiated logout
Pre-beta identity provider
A small, auditable OIDC provider focused on strict protocol behavior, tenant isolation, and operator evidence.
Protocol scope
The launch surface is for engineers and reviewers who need to inspect what exists, what is excluded, and what evidence remains before beta.
Evidence stack
The site parses the release-gate Markdown table at build time, so the public page follows the same evidence contract as the docs collection.
| Gate | Evidence | Status |
|---|---|---|
| Source hygiene | bun run check:public-surface passes | CI-gated |
| Dependency policy | cargo deny check, cargo audit, bun run audit, and cairn-api operations dependency-policy-evidence pass | CI-gated locally; release receipt required |
| Rust quality | cargo fmt, cargo check, cargo test, and cargo clippy -D warnings pass | CI-gated |
| Frontend quality | bun run check, bun run test, bun run build, and bun run test:e2e pass | CI-gated |
| Database migrations | Postgres 17 migration tests pass against a disposable database | CI-gated |
| Containers | Compose validates, API image builds, web image builds, and image-level smoke checks pass | CI-gated |
| Deployed OIDC metadata | cairn-api operations oidc-metadata-smoke passes against the HTTPS API origin | Pending external evidence |
| OpenID conformance | Config OP and Basic OP suite runs pass using generated static registration/config artifacts | Pending external evidence |
| Browser origin defense | cairn-api operations browser-origin-smoke passes against the HTTPS API origin | Pending external evidence |
| Security headers | cairn-api operations security-headers-smoke passes against HTTPS API and web origins | Pending external evidence |
| SCIM provisioning | Built-in SCIM smoke and token-free Okta/Entra connector summaries pass | Pending external evidence |
| Email delivery | Provider smoke and lifecycle email smoke pass through the configured production command provider | Pending external evidence |
| Restore drill | cairn-api operations restore-check passes against a restored database | Pending external evidence |
| Key operations | Signing-key rotation and KEK re-encryption receipts pass evidence validation | Pending external evidence |
| Emergency access | Break-glass admin recovery drill passes and records audit evidence | Pending external evidence |
| Audit operations | NDJSON archive and retention purge receipts pass evidence validation | Pending external evidence |
| Final release evidence | cairn-api operations evidence-check <evidence-dir> passes with fresh artifacts and no unexpected files | Pending external evidence |
Documentation
Each page carries validated title, description, category, order, and source metadata before it is rendered into the static site.
Local quick start
bun install --frozen-lockfile
bun run check:public-surface
bun run check
bun run test cargo fmt --all -- --check
cargo check --workspace --locked
cargo test --workspace --locked
cargo clippy --workspace --all-targets --locked -- -D warnings bun run check
bun run build Rust compile and test commands require a local toolchain with a working linker. Browser automation is not part of this site workflow.
Security reporting
Authentication, authorization, OIDC, session, CSRF, MFA, token, signing-key, cross-organization access, audit, deployment, and secret-handling reports belong in the private reporting path described by the security policy.
Open security policy