One sign-in for every Fastclinic product.
Verified identity, phishing-resistant MFA, and OAuth2 / OIDC for the whole ecosystem. Sign in once. Use Doorcta, OneHealth, FastCredits, and every partner app — without ever rebuilding auth.
FastLogin is the identity layer of the Fastclinic ecosystem — one verified account, one MFA enrolment, one consent record, every product.
Healthcare apps in Nigeria still ship their own login screens, their own KYC checks, their own audit logs. Every duplication is a place users get fatigued, providers get unverified, and regulators get a different story from each system. FastLogin replaces all of it with a single, NDPA 2023-compliant identity service. Patients verify their phone and email once. Providers upload their MDCN licence once and pass a Didit liveness check once. Organisations provision their staff once. From there, every Fastclinic product — and every partner app that integrates the SSO — speaks to the same identity, the same hash-chained audit log, the same scope-limited OAuth2 token. The credentials never leave Lagos. The audit trail is hash-chained and exported daily to write-once storage. The token any product holds expires every fifteen minutes. We treat identity the way the rest of the platform treats records: encrypted, scoped, expiring, and provably tamper-evident. The architecture is opinionated. It picks Ory Kratos for credential storage and Ory Hydra for OAuth2 because reimplementing either is a mistake every healthcare startup eventually regrets. It picks passkeys plus TOTP plus backup codes because no single factor is enough at NIST AAL2. It picks African data residency because residency is not a switch you flip later. It picks a hash-chained audit because regulators ask for evidence, not assurances. The full Hydra issuer is locked at fastlogin.fastclinic.xyz. Every relying party — Fastclinic-built or partner — points at that single issuer string and trusts no one else. When a key rotates in Hydra, every relying party picks up the new key within five minutes through the standard JWKS poll. When a session is revoked in Kratos, every product sees the revocation by the time the access token next refreshes. Identity is a system, not a feature. Building it once and reusing it everywhere is the difference between an ecosystem of products and four loosely related apps.
Capabilities
- Email + phone verification (OTP)
- Passkey (WebAuthn / FIDO2)
- TOTP authenticator app
- Backup recovery codes (lookup_secret)
- Password as fallback only
- Session-bound CSRF on every flow
- Phishing-resistant by default
- AAL2 step-up before sensitive scopes
- Per-device session listing + revoke
- Configurable step-up freshness window
- Hardware-key support (YubiKey / Titan)
- Didit liveness (passive single-frame)
- iBeta Level 1 PAD certified
- MDCN licence verification (provider)
- NIN verification (patient)
- 3 retry attempts before terminal decline
- 30-day Didit retention, 24-hour purge
- 15-min access tokens
- 24-hour refresh with rotation
- JWKS · 5-min cache
- Scope-limited consent screen
- Authorization-code with PKCE
- Client-credentials for service tokens
- Hash-chained event log
- 7-year retention
- Daily export to WORM S3
- Africa/Lagos timezone
- After-hours flagging (08:00–18:00)
- Per-IP and per-device columns
- NDPA 2023 §25 lawful basis
- African data residency
- Documented data-processing record
- DSAR export pipeline
- Cross-product consent ledger
- Quarterly third-party pentest
Under the hood
What ships when you ship this. The architecture is built once and inherited by every Fastclinic product.
Integrations
Telehealth signs patients and doctors in via FastLogin. Consult start requires AAL2 within the last fifteen minutes. Doorcta never sees the user's password.
Health-record access requires AAL2 plus an explicit scope on the consent screen. Provider identity is the MDCN-verified FastLogin identity — there is no separate clinical login.
The shared credits ledger trusts FastLogin's identity for both individual and organisation accounts. Hold, capture, and refund actions all carry the FastLogin user ID and write to the same audit chain.
Open-source identity store. We run pinned releases and edit configuration at fastlogin/ory/kratos/. Container restarts are part of every config change.
Open-source OAuth2 / OIDC server. Tokens are signed with rotating keys; the public key set is cached by every relying party for five minutes. Hydra never sees user passwords.
External KYC processor for liveness, MDCN licence OCR, and NIN verification. Signed agreement under NDPA 2023; selfie data deleted after thirty days on Didit's side.
Compliance & safety
FastLogin processes personal data under contract, consent, legal obligation, and legitimate-interest bases per NDPA 2023 §25. Every dataset and processor is recorded in the data-processing record kept by the Fastclinic Limited data controller (RC 1919428).
NDPA 2023 (NDPC)Every authentication event is hashed into a Postgres-side chain. Tampering with any historical row breaks the chain. We export the chain daily to write-once-read-many S3 storage; the seven-year retention satisfies records-of-processing requirements.
Identities, sessions, KYC artefacts, and audit logs are hosted in a Nigerian-region AWS account. Cross-border transfer is limited to the named Didit liveness flow under signed processor agreement.
Every FastLogin account holds both a passkey credential and a TOTP secret. Passkeys carry the phishing-resistance properties NIST 800-63 names as AAL2-eligible without an authenticator-app fallback. We require both factors so a lost device is recoverable.
NIST 800-63BAccess tokens last fifteen minutes. Refresh tokens last twenty-four hours and rotate on every use. JWKS caches expire every five minutes. Compromise windows are measured in minutes, not weeks.
Plain answers
01What does FastLogin actually do?
02Why centralise identity instead of letting each product do its own auth?
03Is FastLogin a custom build or off-the-shelf?
04Where does the data live?
05How long do FastLogin tokens last?
06What does AAL2 mean and why does FastLogin require it?
07Can a third-party Nigerian healthcare app integrate FastLogin?
08What happens if FastLogin is down?
09How do I integrate FastLogin into a third-party Nigerian app?
10How is consent tracked across products?
Ready to ship with FastLogin?
Request a 30-minute architecture review. We will walk through the integration points, the compliance posture, and the timeline.