INSIDE ATLANTIS
A working demo

Citizen digital identity for Atlantis

Federated sign-in through a double-blind identity exchange, and verifiable credentials in a wallet, running live on the internet and aligned with the technical profile of Australia's Trusted Digital Identity Framework.

AGDIS / TDIFtechnical profile

Technically compliant with the AGDIS Data Standards 2024

The federation follows the OpenID Connect profile of Australia's Digital ID (AGDIS) Data Standards 2024, which carries forward the Trusted Digital Identity Framework (TDIF). Of 32 technical requirements, 30 are met in full. The other 2 are met for Poseidon ID but limited for Atlantis ID by its Auth0 plan.

Signed and encrypted request objects · private_key_jwt · PKCE · pairwise subjects · consent at the exchange · TDIF assurance levels with step-up · RP audit ID · single logout · no attributes kept by the exchange · tamper-evident audit. This is technical compliance, not accreditation. See every requirement.

What the demo shows

Four messages

M1

Real products, real standards.

Auth0 runs the identity provider (Atlantis ID); Keycloak runs the identity exchange, and a second identity provider (Poseidon ID). Everything speaks OpenID Connect, OpenID4VCI and OpenID4VP.

Shown in: Steps 1, 2 (E1 for Keycloak as an identity provider)

M2

Double-blind and privacy-preserving.

You sign in to an agency through the exchange; another agency gets a different identifier for the same person, and neither learns which provider you used.

Shown in: Steps 2, 3

M3

Phishing-resistant MFA.

Passkeys are bound to the site and can't be phished; they give TDIF credential level 2, and an agency can insist on it.

Shown in: Steps 1, 4 (E3, E4)

M4

Verifiable credentials.

The identity provider issues a credential to the citizen's wallet; an agency trusts the issuer's published key, signs the citizen in and receives only the attributes it asked for.

Shown in: Step 5 (E6)

M5

Identity proofing from the passport chip.

The wallet reads an Australian passport over NFC; the identity provider checks DFAT's signature and revocation list (ICAO 9303 passive authentication) and raises the identity to IP1 Plus, then IP2 with a second document. Agencies can insist on it.

Shown in: E8

Live now

The parties

Every party runs on its own domain. Open any of them; the monitor shows what happens as you go.

PartyAddressRoleRuns on
Atlantis IDid-atlantis.xyzIdentity provider portal and credential issuer (did:web:id-atlantis.xyz)Node 22 service + Auth0
Auth0 (Atlantis ID sign-in)login.id-atlantis.xyzUniversal Login, passkeys, passwords, resets, ActionsAuth0 tenant on Essentials, custom domain
Poseidon IDposeidon-id.xyzSecond identity provider, email and passwordKeycloak 26.8.1
Identity exchangeexchange-atlantis.xyzDouble-blind broker: provider choice, consent, pairwise identifiersKeycloak 26.8.1 + Atlantis extensions
Agency Aagency-a-atlantis.xyzRelying party through the exchange; linking, step-up, passkeysNode 22 service
Agency Cagency-c-atlantis.xyzSecond relying party through the exchange; different identifierNode 22 service
Agency Bagency-b-atlantis.xyzWallet sign-in only: OpenID4VP verifierNode 22 service
Monitoratlantis-demo.xyzLive event flow, TDIF tags, tamper-evident audit chainNode 22 service + collector
Atlantis WalletOn the iPhoneHolds the SD-JWT credential, scans the QR codes, reads the passport chip over NFCSwiftUI app on iPhone (iOS 18+)