Solution

Passwordless Authentication

Prove identity with cryptographic credentials—no passwords, no phishing, no credential reuse

How it works

Cryptographic proof instead of passwords

Why & who

Why this matters, and who it's for

Why this matters now
80% of breaches
Verizon DBIR, 2026

Involve stolen or weak passwords—phishing, credential stuffing, password reuse across sites

$1.2M average cost
IBM Security, 2025

Per data breach from compromised credentials—not including reputation damage

Password resets cost $70 each
Gartner, 2025

Helpdesk overhead—enterprises with 10,000 employees spend $2.1M/year on password support

Who it's for

Security Leader

Zero phishing risk—cryptographic proof, not passwords users can be tricked into sharing

IT Team

No password resets, no credential stuffing, no shared account cleanup

Developer

OpenID4VP + W3C VCs, drop-in replacement for password flows

The shift

From phishable secrets to phishing-proof credentials

The Problem

Passwords are the weakest link in security:

  • 80% of data breaches involve stolen or weak passwords (Verizon DBIR, 2026)
  • Phishing works: Users tricked into entering passwords on fake login pages—attacker gets credential, logs in as victim
  • Credential stuffing: Users reuse passwords across sites—one breach exposes accounts everywhere
  • Password resets cost $70 each (Gartner, 2025)—enterprises with 10,000 employees spend $2.1M/year on helpdesk password support
  • Shared passwords: Healthcare shifts share passwords, contractors share accounts—no attribution when breach occurs

Even “strong” authentication is vulnerable:

  • 2FA (OTP, SMS): Phishable via man-in-the-middle attacks—attacker intercepts OTP, uses it immediately
  • Password managers: Master password is still a password—phish that, access vault
  • Biometrics: Server stores template—if breached, user can’t “change” their fingerprint

Why It Matters Now

  • Zero Trust Architecture requires cryptographic proof of identity at every access—passwords don’t provide that
  • GDPR/CCPA: Storing usernames + passwords = PII risk—passwordless reduces liability
  • Cyber insurance: Premiums skyrocket for orgs without phishing-proof authentication
  • Remote work: Employees log in from untrusted networks—password phishing attacks surge

The infrastructure exists: W3C Verifiable Credentials for identity attributes, OpenID4VP for presentation flows, Affinidi Vault for secure key storage. The platforms that adopt passwordless authentication first will eliminate their #1 attack vector.


How Affinidi Enables Passwordless Authentication

The key shift: Instead of users entering passwords (reusable secrets), they present verifiable credentials (cryptographic proofs):

  1. Credential issuance - Organization (employer, university, government) issues W3C Verifiable Credential to user: “This person is an employee with role X”
  2. Credential storage - User stores credential in Affinidi Vault on their device—private keys never leave secure enclave
  3. Login flow - User visits app, app requests: “Prove you’re an employee.” User presents credential (signed by issuer), app verifies signature
  4. No password - App never sees password, doesn’t store password hash. Phishing impossible: attacker can’t steal private key from secure enclave.

All of this works cross-device (credential synced via encrypted backup, not exposed to sync service) and supports selective disclosure (prove “I’m over 21” without revealing birthdate).

Technical Foundation

  • Elements Services issues W3C Verifiable Credentials for identity attributes:

    • Employee credentials (role, department, start date)
    • Age credentials (over 18, over 21, etc.)
    • Professional licenses (verified by issuing authority)
    • Access credentials (authorized for system X, expires date Y)
  • Affinidi Vault stores credentials on user’s device—private keys in hardware secure enclave (iOS Keychain, Android Keystore, Windows TPM)

  • OpenID4VP (Verifiable Presentations) provides login flow:

    • App: “Prove you’re an employee”
    • User: Presents credential (signed by employer)
    • App: Verifies signature + checks issuer via Trust Registry
  • Trust Registry (TRQP) validates credential issuers in real-time:

    • “Is this employer authorized to issue employee credentials?”
    • “Is this credential still valid (not revoked)?”
  • BBS+ Selective Disclosure lets users reveal only needed attributes:

    • Prove “over 21” without revealing exact birthdate
    • Prove “employee” without revealing salary or department

Example Flow: Enterprise SaaS Login

[User Alice wants to log into Slack]

Alice's employer issued credential (stored in Affinidi Vault):
  - Issuer: Company XYZ (did:webvh:company-xyz)
  - Subject: Alice (did:webvh:alice)
  - Role: Engineer
  - Department: Platform
  - Valid until: 2027-07-22

Slack login page: "Sign in with verifiable credential"

Slack requests: "Prove you're an employee of Company XYZ"

Alice's Vault prompts: "Share employee credential with Slack?"

Alice approves → Vault creates Verifiable Presentation:
  - Credential: [employee credential]
  - Proof: [cryptographic signature using Alice's DID private key]

Slack receives presentation, verifies:
  ✓ Signature valid (Alice's DID signed this)
  ✓ Credential signature valid (Company XYZ issued this)
  ✓ Issuer trusted (TRQP query: Company XYZ authorized to issue employee credentials)
  ✓ Credential not revoked (TRQP query)
  ✓ Credential not expired (valid until 2027-07-22)

Alice logged in—no password entered, no password stored

Audit log: "User did:webvh:alice (employee credential from Company XYZ) logged in at 2026-07-22T09:15:00Z"

What this means:

  • Phishing impossible: Attacker can’t steal Alice’s private key from secure enclave
  • Credential stuffing blocked: No password to reuse across sites
  • Zero password resets: No password forgotten = no helpdesk calls
  • Audit trail: Slack can prove “User Alice, employee of Company XYZ (verified), logged in at timestamp X”
  • Real-time revocation: Company XYZ fires Alice → revokes credential → next login blocked instantly

Real-World Applications

Enterprise SaaS: Zero Phishing Risk

Problem: Employees use weak passwords or reuse passwords across apps. Credential stuffing attacks succeed—attacker logs into Slack, GitHub, AWS Console with same password.

Solution: HR issues employee credential to each employee (stored in Affinidi Vault). Login to any SaaS app: app requests “prove you’re an employee,” user presents credential, app verifies signature + checks Trust Registry.

Outcome:

  • Zero passwords stored—phishing impossible (no password to steal)
  • Credential stuffing blocked—no password to reuse across sites
  • Password resets eliminated—10,000 employees, $70/reset, 30% reset annually = $210k saved

Healthcare (HIPAA): No Shared Passwords

Problem: Clinicians access PHI with passwords. Shared passwords between shifts (written on sticky notes), never rotated. HIPAA audit: “Who accessed this patient record?”—answer: “The shared ‘nurse-station-3’ account.”

Solution: Hospital issues clinician credential with role + department (stored in Affinidi Vault). Login to EHR: present credential with selective disclosure—prove “Nurse in Cardiology” without revealing name.

Outcome:

  • PHI access requires cryptographic proof of role—no shared passwords
  • HIPAA audit trail: Clinician DID + credential hash + timestamp (prove which clinician, when)
  • Real-time revocation: Clinician leaves hospital → credential revoked → next EHR login blocked instantly

Remote Workforce (VPN): Phishing-Proof Access

Problem: VPN login with password + 2FA (OTP). Attackers phish both factors—fake VPN login page, victim enters password + OTP, attacker uses both immediately. Account compromised despite “strong” 2FA.

Solution: Company issues employee credential. VPN login: present credential (stored in Vault on device). Cryptographic challenge-response—attacker can’t replay, can’t steal private key.

Outcome:

  • Phishing attacks fail: Attacker can’t steal private key from secure enclave
  • Zero VPN account compromises—cryptographic proof, not reusable secrets
  • IT overhead reduced: No password resets, no “I forgot my VPN password” tickets

Age-Restricted Services: Privacy-Preserving Verification

Problem: User proves age by uploading driver’s license to website. Service sees full license: name, address, birthdate, photo, license number. Privacy nightmare—PII stored on server, GDPR liability.

Solution: Government issues age credential with BBS+ selective disclosure. Login to age-restricted service: user proves “over 21” without revealing birthdate, name, or address.

Outcome:

  • Service verifies age cryptographically—zero PII stored (no name, no birthdate, no address)
  • User privacy preserved—only reveals “over 21” boolean, nothing else
  • Compliance with GDPR/CCPA—service doesn’t process PII, no data breach risk

Why Affinidi

Affinidi PasswordlessPasswords + 2FAPassword ManagersBiometrics
Phishing-proof✓ Cryptographic challenge✗ 2FA phishable (OTP interception)✗ Master password phishable⚠ Depends on implementation
No shared secrets✓ Private keys never leave device✗ Password stored on server✗ Vault syncs (cloud exposure)⚠ Template on server
User privacy✓ Selective disclosure✗ Username = identifier✗ Vault provider sees metadata✗ Biometric = identifier
Revocation✓ Real-time TRQP⚠ Manual password change⚠ Manual vault lock⚠ Device-level only
Standards-based✓ OpenID4VP + W3C VCs✗ Proprietary✗ Proprietary⚠ FIDO2 (device-bound)

What this means:

  • Passwords + 2FA: Still phishable—OTP interception, password reuse, stored on server (breach risk)
  • Password managers: Master password is still a password—phish that, access vault. Vault sync exposes to cloud provider.
  • Biometrics: Server stores template (if breached, user can’t change fingerprint). No selective disclosure—biometric identifies user, can’t prove “over 21” without full identity.

Affinidi provides cryptographic challenge-response + no server-stored secrets + selective disclosure + real-time revocation—the only architecture that eliminates passwords AND protects user privacy.

Proof It Works

  • OpenID4VP - Industry-standard presentation protocol (adopted by EU Digital Identity Wallet)
  • W3C Verifiable Credentials - Standard credential format (no proprietary lock-in)
  • BBS+ Selective Disclosure - Production-ready zero-knowledge proofs (prove “over 21” without revealing birthdate)
  • Affinidi Vault - Open-source wallet with hardware secure enclave (iOS/Android/Windows)

Get Started

For Developers

Add passwordless login to your app

Replace username/password form with OpenID4VP flow—credential verification in under an hour.

Start building →


For IT Teams

See a live demo of passwordless authentication

Watch employee log in with verifiable credential, see real-time revocation, compare to password flow.

Schedule demo →


For Enterprises

Custom deployment consultation

Issue employee credentials at scale, integrate with existing identity providers (Okta, Azure AD), configure Trust Registry.

Talk to an expert →


Technical Deep Dives

Case Studies

(Coming soon: Enterprise SaaS passwordless deployment)

Real-world applications

Proof of feasibility

These are examples of the same solution applied across different industries—not new solutions.

Enterprise SaaS

Problem

Employees use weak passwords or reuse passwords across apps—credential stuffing attacks succeed, accounts compromised

Solution

User stores employee credential (issued by HR) in Affinidi Vault. Login: app requests 'prove you're an employee,' user presents credential, app verifies signature.

Outcome

Zero passwords stored—phishing impossible, credential stuffing blocked, password resets eliminated

Healthcare (HIPAA)

Problem

Clinicians access PHI with passwords—shared passwords between shifts, written on sticky notes, never rotated

Solution

Hospital issues clinician credential with role + department. Login to EHR: present credential with selective disclosure (prove 'Nurse' without revealing name).

Outcome

PHI access requires cryptographic proof of role—no shared passwords, HIPAA audit trail: clinician DID + timestamp

Remote Workforce (VPN)

Problem

VPN login with password + 2FA. Attackers phish both factors (OTP interception). Account compromised despite 'strong' auth.

Solution

Company issues employee credential. VPN login: present credential (stored in Vault on device). Cryptographic challenge-response—phishing-proof.

Outcome

Phishing attacks fail: attacker can't steal private key from secure enclave. Zero VPN account compromises.

Age-Restricted Services

Problem

User proves age by uploading driver's license—service sees full license (name, address, photo). Privacy nightmare.

Solution

Government issues age credential with BBS+ selective disclosure. Login: user proves 'over 21' without revealing birthdate, name, or address.

Outcome

Service verifies age cryptographically—zero PII stored, user privacy preserved, compliance with GDPR/CCPA

Why Affinidi

How we're different

Capability Affinidi Passwords + 2FA / Password Managers / Biometrics
Phishing-proof Yes—cryptographic challenge, no reusable secret No—2FA phishable (OTP interception) | No—master password phishable | ⚠ Depends on implementation
No shared secrets Yes—private keys never leave device No—password stored on server | No—vault syncs across devices | ⚠ Template stored server-side
User privacy Yes—selective disclosure, no PII leak No—username = identifier | No—vault provider sees metadata | No—biometric template = identifier
Revocation Real-time TRQP queries Manual password change | Manual vault lock | Device-level only
Standards-based OpenID4VP + W3C VCs No standard (proprietary) | No standard (proprietary) | FIDO2 (device-bound)
Get started

Choose your path

Pick the entry point that matches where you are in your journey.

Built in the open · Audited · Interoperable

Trust you can verify, not just claims.

56 Public repositories
120 Contributors
5,000+ Commits
8 SDK languages
Open standards
Decentralized Identity Foundation — contributorWorld Wide Web Consortium — contributorGlobal Legal Entity Identifier Foundation — contributorAYRA — contributor
  • DIDComm v2.1
  • Trust Spanning Protocol (TSP Rev2)
  • DID:WebVH
  • Selective Disclosure (SD-JWT)
  • Digital Credentials Query Language (DCQL)
  • European Digital Identity (EUDI)
Explore our GitHub → Join 2,500+ on Discord →
Security & compliance
  • ISO 27001 certified Independently audited (SAC & UKAS), backed by a public Trust Centre.
  • Zero PII stored User-consented by design — no central honeypot of personal data.
  • End-to-end encryption DIDComm v2.1 encrypted channels for every exchange.
  • Data residency & self-host Run in your own cloud or on-prem — data never leaves your domain.
Visit the Trust Centre →

Cookie Preferences

We use cookies to enhance your experience. You can manage your preferences below. For more information, read our Cookie Policy.

Strictly Necessary Always Active

These cookies are essential for core website functions such as security, session integrity, and cookie preference storage. They cannot be disabled.

  • _cf_bm: Distinguishes humans from bots (Cloudflare) · 30m
  • _cfuvid: Ensures secure browsing (Cloudflare) · Session
  • __hs_initial_opt_in: Prevents HubSpot's banner · 7 days
  • _gtm_debug: GTM debug mode (testing only) · Session
Analytics

These cookies help us understand how visitors interact with the site so we can improve content and performance. All data is aggregated and anonymous.

  • _ga, _gid, _gat: Google Analytics · Session – 2 years
  • __hstc, hubspotutk, __hssrc: HubSpot visitor tracking · 13 months
  • __hs_opt_out: HubSpot opt-out preference · 6 months
Marketing & Targeting

These cookies allow us and our partners to serve personalised ads and measure campaign performance.

  • _gcl_au, _gcl_dc: Google Ads conversion tracking · 90 days
  • IDE: Google Display Network personalisation · 1 year
  • _fbp: Meta / Facebook remarketing · 90 days
  • li_gc, _li_fat_id, bcookie: LinkedIn tracking · 1–24 months
  • guest_id, personalization_id: Twitter/X analytics · 2 years