Skip to content

Security & Deployment

This page describes the IDToken Seal security model — how it protects users, services, and identity data. For a higher-level overview of why IDToken Seal is trustworthy, see the Introduction.

IDToken Seal applies multiple independent security layers. Compromising one layer does not compromise the system:

LayerWhat it protectsHow
Transport encryptionData in transitTLS 1.3 for all connections (HTTPS and WebSocket Secure)
Mutual authenticationAgainst phishing and impersonationOut-of-band OTP verification — both the service and the user prove their identity to each other (X.1280)
Document-anchored identityAgainst fake accountsIdentity is derived from a trusted document (passport, national ID, organizational credential), not self-declared
Biometric verificationAgainst device theftEvery authentication requires a live face match against the credential photo
Hardware-bound keysAgainst key extractionThe mobile app’s private key is stored in the device’s secure element and cannot be exported
Cryptographic signaturesAgainst tamperingAll tokens, assertions, and credentials are signed with ECDSA and verified by relying parties
Selective disclosureAgainst over-sharingUsers approve each data scope individually; consent is cryptographically bound to the authentication
ThreatMitigation
Brute-force attacksOTP attempts are strictly limited per session; rate limiting is enforced on all authentication endpoints
Replay attacksSessions are single-use and short-lived; each is deleted after the first verification attempt resolves
Man-in-the-middleOTP is delivered out-of-band (push notification), not through the browser session; response integrity is verified via cryptographic hash
PhishingMutual authentication — the user verifies the service by matching the displayed code. A fake site cannot produce a valid code without the server’s key material. Additionally, Service VDS registration prevents users from trusting unverified services.
Timing attacksConstant-time comparison is used for all security-sensitive token and code verification
Data breachesNo password database exists to steal. The server stores only public key bindings, not identity data. Identity claims are derived from the VDS at authentication time.
Credential theftNo passwords, no session cookies to hijack. The private key never leaves the device’s secure element.
Unauthorized data accessServices declare allowed scopes at registration; the server rejects scope overreach before the authentication flow starts

All cryptographic operations use well-established, standards-compliant algorithms:

PurposeStandard
Identity credential signaturesECDSA with P-256 curve (ISO 22376)
Token and assertion signingECDSA with P-256 (ES256)
OTP derivationHMAC-based key derivation (HKDF-SHA256)
Response integrityHMAC-SHA256
SAML assertion signingECDSA or RSA with SHA-256

Private keys are generated with cryptographically secure randomness, stored with restricted access, and rotated according to the operator’s key management policy.

All security-relevant events are recorded in an immutable, append-only audit log:

  • Authentication attempts (success, failure, timeout)
  • Enrollment and revocation events
  • Consent decisions (what was requested, what was granted, what was denied)
  • Administrative actions (operator login, configuration changes)

The audit log cannot be modified or deleted after the fact. OTP values are never stored in plaintext. See Admin Console for audit log access.

IDToken Seal is designed for high-availability production deployment:

  • Horizontally scalable — multiple server instances behind a load balancer, with no sticky sessions required
  • Real-time event delivery — WebSocket notifications are correctly routed regardless of which instance the client is connected to
  • Edge-protected — designed to run behind a reverse proxy that handles TLS termination, DDoS protection, and WebSocket proxying
  • Health monitoring — a health check endpoint reports the status of all dependencies for use with load balancer probes and container orchestration

Schema migrations run automatically on server startup and are idempotent — safe to run multiple times without side effects. The migration sequence covers enrollment storage, session management, the immutable audit log, operator management, service provider registration, and consent tracking.

RequirementHow IDToken Seal addresses it
GDPR data minimizationSelective disclosure ensures services receive only the claims they need and the user approves
GDPR right of accessThe immutable audit log provides a complete record of what data was shared, with whom, and when
eIDAS assurance levelsTrust levels map to eIDAS Low, Substantial, and High based on the credential issuance method
No user databaseThe server stores no personal identity data — only public key bindings. Identity claims are derived from the cryptographically signed VDS at authentication time.