Skip to main content
FASTLOGIN · FOR ORG ADMINS

Provision a hospital. Audit it.

Stand up a FastLogin tenant in an afternoon. Bulk-enrol staff. Assign per-product entitlements. Read the audit chain. Suspend access in seconds when a clinician leaves.

FastLogin tenants are the org-admin surface — a hospital, group, or HMO provisioning verified staff, scoped entitlements, and a hash-chained audit trail.
01 / 06

1 · Stand up your tenant

Sign in as the named admin contact for your organisation. We pre-create the tenant during the customer-onboarding call, with your hospital's name, registration number, and timezone (Africa/Lagos by default) configured. From there, you control the tenant: branding, support email, allowed-domain rules, MFA freshness window for clinical scopes.

fastlogin.fastclinic.xyz/login
Sign in to Fastclinic
Sign in with passkey
Use password instead
Continue · 15-min access · 24-hr refresh
02 / 06

2 · Add IT admins and roles

An organisation has more than one administrator. You add other IT staff as co-admins, and define roles below them — clinical lead, finance lead, front desk supervisor — each with the entitlements they actually need. Admin actions are rate-limited at sixty requests per minute per admin to keep an attacker who phishes one credential from blast-radiusing the entire tenant.

fastlogin.fastclinic.xyz/org/st-martins/roster
142 ACTIVE
St. Martin's Specialist Hospital · Roster
Bulk-enrol staff
NameRoleMDCNLast sign-inStatus
Dr. Adaeze N.DoctorMDCN/R/1234509:14 · LagosActive
Dr. Tunde O.DoctorMDCN/R/22318YesterdayActive
Nurse Funmi A.NurseNMCN/N/5501208:50 · LagosActive
Mary EzeFront desk08:10 · LagosActive
Dr. Sade B.LocumMDCN/R/98412Last weekSuspended
Verified MDCN licences refresh weekly · After-hours access flagged for review
03 / 06

3 · Bulk-enrol clinical staff

Upload a CSV of staff with name, role, and licence number, or enter them one at a time. Each invited person gets the registration flow we already shipped, and KYC verification runs against their licence number. Until verification clears, their entitlements are pending — they can sign in to the tenant, but no clinical scopes are issued.

fastlogin.fastclinic.xyz/account/verification
APPROVED
Verification status — Dr. Adaeze N.
MDCN · MDCN/R/12345NIN · 12345678901LIVENESS · APPROVED
  1. 09:14Identifier verified · email + phone OTP
  2. 09:15Identity created · Kratos session active
  3. 09:16Liveness selfie · single-frame · 99.9% match
  4. 09:18MDCN licence · MDCN/R/12345 · valid
  5. 09:18MFA enrolled · passkey + TOTP + backup codes

Verification artefacts retained for 7 years on Nigerian-region AWS, hash-chained per NDPA 2023 §25.

04 / 06

4 · Assign per-product entitlements

The matrix shows your staff by row, the Fastclinic products by column. Cell values say what each person can do: Doorcta consultations, OneHealth read, OneHealth write, FastCredits spend, finance reconcile. Entitlements are typed (active, suspended, expired, revoked) and sourced (organisation-inherited or personal). One toggle suspends one cell; one row-level revoke exits a leaver from every product at once. The matrix is the source of truth, not a derived view — the cell value at the time a token is issued is exactly what Hydra encodes in the scope claim. There is no separate authorisation database to keep in sync. Your entitlement edit propagates to product-side enforcement in five minutes via the JWKS-aligned token-refresh window.

fastlogin.fastclinic.xyz/org/st-martins/entitlements
5 USERS · 3 PRODUCTS
Entitlement matrix · who can use what
UserDoorctaOneHealthFastCredits
Dr. Adaeze N.Doctor · activeProvider · activeSpend · active
Dr. Tunde O.Doctor · activeProvider · activeSpend · active
Nurse Funmi A.Read-only · activeRead-only · active
Mary EzeFront desk · activeReconcile · active
Dr. Sade B.Doctor · suspendedProvider · suspended
organisation-inherited
personal entitlement
suspended (revocable)
05 / 06

5 · Watch the audit

Every authentication, every entitlement change, every consent grant is in the org audit feed with IP, device, AAL, and timestamp. Africa/Lagos timezone, with after-hours sign-ins (outside 08:00–18:00) flagged for review automatically. You can filter, export, and reconcile against your HR records on a schedule. The chain is hash-linked; tampering is detectable end-to-end.

fastlogin.fastclinic.xyz/account/audit
7Y RETENTION
Authentication audit · last 24 hours
Hash-chained · NDPA §25
WhenEventAALIP / Device
09:14:02user.registration_step_completedAAL2102.89.42.7 · Chrome · Lagos
09:14:48user.registration_advancedAAL2102.89.42.7 · Chrome · Lagos
09:15:31user.session.createdAAL2102.89.42.7 · Chrome · Lagos
13:42:09user.session.createdAAL241.220.11.88 · iOS · Abuja
19:08:11admin.registration_resetAAL210.0.4.12 · Chrome · ops
All AAL2After-hours: 1Africa/Lagos
06 / 06

6 · Revoke when someone leaves

When a clinician resigns, you revoke their entitlements row in seconds. Active sessions are killed; refresh tokens are invalidated; product-side caches refresh on the next JWKS poll within five minutes. The hash-chained audit records the revocation event. Their personal Fastclinic identity continues to exist; only the organisation's entitlements drop. Their old access at the org is forensically reconstructable from the chain forever.

fastlogin.fastclinic.xyz/account/sessions
3 ACTIVE
Active sessions
15-min access · 24h refresh · rotated
DeviceWhereLast seenAction
This device · Chrome 124 · macOSLagos · 102.89.42.7Now
iPhone 15 · SafariAbuja · 41.220.11.8812 min agoEnd session
Doorcta app · iOSLagos · 102.89.42.72 hours agoEnd session
All sessions AAL2
End all other sessions
What you get

Tenant-scoped admin with rate limits

Admin requests cap at sixty per minute per admin. Multiple admins per tenant. No single phished credential can reach the entire roster in a minute.

Bulk-enrol with KYC behind it

Upload staff in bulk, but each clinician still passes Didit liveness and licence verification before their clinical scopes ever issue. You don't trade safety for speed.

Per-product entitlement matrix

Doorcta, OneHealth, FastCredits as columns. Staff as rows. Cell-level grants, with sources flagged (org-inherited vs personal) and statuses typed.

Hash-chained, exportable audit

Africa/Lagos timezone, after-hours flagging built in, seven-year retention, daily WORM export. The audit isn't a feature you bolt on; it's the substrate.

Capabilities

Auth
  • 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
MFA / step-up
  • 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)
KYC
  • 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
OAuth2 / OIDC
  • 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
Audit
  • 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
Compliance
  • 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.

SIGN IN · REGISTER · MFAOAUTH2 CONSENTEVERY EVENTPUBLISH KEYSACCESS · 15-MINACCESS · 15-MINACCESS · 15-MINVERIFYVERIFYVERIFYPATIENT · PROVIDER · ADMINORY KRATOS · IDENTITYORY HYDRA · OAUTH2 / OIDCJWKS · 5-MIN CACHEAUDIT LOG · HASH-CHAINEDDOORCTAONEHEALTHFASTCREDITS
15-min access tokens · 24-hr refresh
Hydra issues short-lived access tokens; refresh tokens rotate on every use. Compromise window measured in minutes, not weeks.
JWKS · 5-min cache
Each product caches FastLogin's public keys for 5 minutes. Key rotation propagates without redeploy.
AAL2 step-up · phishing-resistant
Sensitive operations require AAL2 — passkey or TOTP, not just a password. Kratos enforces; Hydra checks before issuing scoped tokens.

Integrations

Fastclinic
Doorcta

Telehealth signs patients and doctors in via FastLogin. Consult start requires AAL2 within the last fifteen minutes. Doorcta never sees the user's password.

Fastclinic
OneHealth

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.

Fastclinic
FastCredits

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.

External
Ory Kratos

Open-source identity store. We run pinned releases and edit configuration at fastlogin/ory/kratos/. Container restarts are part of every config change.

External
Ory Hydra

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
Didit

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

NDPA 2023 — lawful basis recorded

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)
Audit log — 7-year hash chain, daily WORM export

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.

African data residency

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.

Phishing-resistant MFA policy

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-63B
Token lifetimes — short by design

Access 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

01How long does it take to provision a hospital tenant?
From signed paperwork to first clinician signed in: typically the same business day. The tenant is created during onboarding, the bulk-enrol CSV runs against Kratos in minutes, and KYC verifications complete asynchronously over the following hour. The bottleneck is licence-document quality, not our pipeline. We have shipped tenants for facilities ranging from twelve-clinician boutique clinics to three-hundred-clinician university teaching hospitals on the same code path; the per-tenant configuration only differs in MFA freshness, after-hours window, and brand asset set. We don't custom-fork the auth surface for any tenant.
02What happens to a staffer's identity when they leave?
You revoke the organisation's entitlements; their personal Fastclinic identity continues to exist independently. They lose access to the org's products immediately; they keep access to anything they own personally — a personal FastCredits balance, for instance. The audit chain preserves the entitlement-revoked event with timestamp; you can prove they had access on day X and not on day Y.
03Can we enforce a stricter MFA policy for our tenant?
Yes. The default policy is passkey plus TOTP plus an AAL2 freshness window of one hour for clinical scopes. You can shorten the freshness window — fifteen minutes, or zero, which forces a step-up on every record open — and you can require hardware-key passkeys (YubiKey or Google Titan) instead of platform passkeys for a defined role set. The settings live in the tenant admin console.
04How do we handle locums and visiting specialists?
Invite their existing FastLogin identity to your tenant. They sign in with the credentials and MFA they already have; your tenant grants them an entitlement set scoped to the locum role, with whatever expiry you configure. When the locum stint ends, the entitlement expires automatically — no manual revoke required. The clinical record shows the session-by-session attribution.
05Where can we see who accessed what?
The org audit feed shows every authentication and every entitlement-change event across the tenant. The OneHealth audit feed (separate UI, same chain) shows record-level access events with the FastLogin user ID. Both feeds export to CSV or to your SIEM by signed webhook. The chain is hash-linked; tampering shows up at verification time.
06What's the rate-limit story for our admin actions?
Admin endpoints throttle at sixty requests per admin per minute by default. The threshold is per-admin, not per-tenant, so multiple admins acting concurrently aren't bottlenecked by each other. Bulk operations like CSV roster import bypass the per-request limit but trigger an audit event each. The trust page exposes the live thresholds.
07How do we get our regulator a clean compliance record?
The data-processing record names every dataset, every processor, every lawful basis. It's exportable as a PDF on demand. The audit chain export gives the regulator forensic-grade authentication and access logs for the seven-year retention. The pentest history and incident-response runbook are linked from the trust page. We don't ask you to assemble a compliance binder.
08What if a clinician's identity is compromised at our hospital?
You revoke their entitlements immediately and suspend their personal identity through the abuse-flag flow. The on-call from Fastclinic engages within fifteen minutes and walks through the active-sessions terminate, audit-chain export for forensic review, and per-product cache flush. If the breach involved a passkey, the new-device passkey enrolment is rate-limited and audit-logged so a re-attack is detectable.
09Can we white-label the FastLogin sign-in screen?
Yes — within the brand boundaries that keep the SSO contract obvious. Your hospital logo, your brand colours, your support email and footer text. The 'Sign in with FastLogin' affordance stays where it is so users learn one ecosystem-wide pattern. Tenant branding lives in the admin console; changes propagate within five minutes via the same JWKS-cache schedule.
10Why does after-hours flagging matter?
Because hospital sign-in patterns cluster sharply during business hours, and an attacker phishing a credential is most likely to test it at 3am Lagos. The 08:00–18:00 default window flags out-of-hours events without blocking them, so legitimate on-call clinicians aren't locked out and a security team gets a high-signal review queue. The window is configurable per tenant. The flag is just a bit on the audit row, so your SIEM can subscribe to flagged events as a separate stream and only escalate when the on-call roster doesn't justify them — exactly the kind of derivable workflow the chain is built to support.
11Can we federate from our existing identity provider (IdP)?
Yes for a defined SSO-only inbound path: your existing Microsoft Entra, Okta, or Google Workspace can sign your staff into FastLogin via SAML or OIDC. We map the IdP claims into a FastLogin identity at first sign-in, and KYC still runs once per clinician on the Fastclinic side because the licence-board check has to be bound to a Fastclinic identity, not a third-party IdP claim. If you maintain SCIM provisioning on your IdP, we can consume the lifecycle events to auto-suspend FastLogin entitlements when a staffer is offboarded in the IdP. SCIM consumption is opt-in at tenant configuration time.
12Can our hospital have a custom-domain sign-in URL?
Yes. Your tenant can be served from a custom domain like sso.your-hospital.ng with the same FastLogin contract behind it. The custom domain still issues OAuth2 tokens with the canonical Hydra issuer string baked into the JWT — relying parties trust the issuer, not the DNS — so a custom domain doesn't change the security model, only the user-facing branding. The certificate management is handled by us; you provide the DNS CNAME and we provision the cert via the same automation that runs on the canonical domain.
13How is FastLogin priced for organisations?
FastLogin is bundled with the Fastclinic ecosystem subscription that includes Doorcta, OneHealth, and FastCredits — there is no separate per-seat fee for identity. KYC verification draw against the FastCredits ledger at the cost we pay Didit plus a thin operational margin. Hospital pricing scales by the number of MDCN-verified clinicians on the tenant, not by sign-in count, because we want your sign-in volume up and identity-spread down. The pricing page has the current bands; sales will model your hospital against the bands during onboarding. The included audit-chain export, the included after-hours flagging, the included DSAR pipeline — those are not add-ons. They are how the platform meets NDPA 2023 obligations, and we don't think a healthcare platform should charge a hospital extra for compliance primitives.
14What's the operational story for the FastLogin service itself?
FastLogin runs in a multi-AZ deployment in the Lagos AWS region with PostgreSQL primary plus warm replica, Redis for rate limits and pre-identity registration tokens, and an active-active deployment of Kratos and Hydra behind an internal load balancer. Deployments roll out via a blue-green strategy with config validation as the gate — Kratos and Hydra refuse to boot on invalid config, so the gate is a true halt rather than a warning. Runbooks for every paged scenario live in the security docs and are reviewed quarterly by the on-call rotation. We also run a pentest by an external firm at least annually with the report shared with enterprise customers under NDA.

Provision your hospital — keep the audit clean.

Stand up a FastLogin tenant for your organisation, bulk-enrol verified staff, assign entitlements per product, and read the hash-chained audit on demand.