01
Install a PPIL client
@aithne/ppil-client for Node.js and TypeScript, plus PHP, Python, and Java clients in the roster below. The client mirrors the verified AVP contract and respects merchant-side signing.
Aithne's PPIL client drops age checks into your site in an afternoon. Your users prove their age from their wallet — you never see their identity.
Integration
01
@aithne/ppil-client for Node.js and TypeScript, plus PHP, Python, and Java clients in the roster below. The client mirrors the verified AVP contract and respects merchant-side signing.
02
Set the AVP URL and license key avp-api-key-aithne from environment only. Keys are never committed, never logged, never displayed as anything but a masked example.
03
The middleware redirects unverified users to the wallet dialog. Verify attestations via verify(). Verified users short-circuit — no repeat dialogs.
PPIL clients
Five PPIL clients mirror the verified @aithne/ppil-client AVP surface. Each integrates the same way and never touches a user's name, email, phone, address, or payment details.
Lightweight, high-throughput client with age-verification middleware and CTS callback wiring.
Typed PPIL client for TypeScript stacks, with the full issue / verify / rotate API surface.
PSR-4 Composer client, PHP 8.0+, ext-curl. Mirrors the verified contract for the AVP scope with merchant hooks.
PyPI-style package, Python 3.9+, requests. Full issue / verify / rotate / revoke helper surface.
Maven artifact, JDK 11+, Jackson. Includes mTLS trust-chain support for the ecosystem trust model.
Start from the AVP endpoint and the PPIL contract — the single shared surface every client talks to.
Endpoint & license key
Defined in the ratified AVP contract; availability is confirmed before go-live.
The AVP trusts the wallet attestation and returns a verifiable age claim — nothing more.
correlationId.Security model
Private keys and HSM/external signers stay under your control. The client never holds keys and never signs.
You receive only the age attestation claim. Identity, name, DOB, email, phone, address never transit your site or logs.
Trust-service tokens are request-lifetime only, masked in logs (maskSensitive ), never persisted.
Compliance framing
Aithne is designed with privacy-by-design thinking and is aligned with emerging wallet / EUDI concepts. We do not claim certification, approval, or guarantees we do not hold.
Age is proven with an age claim from the user's wallet, verified against the AVP — not by collecting documents or identity data.
Merchant-signed verification records give you an audit trail without a PII inventory to breach.
Requirements vary by market — verify your obligations with legal counsel before go-live.
See the privacy / trust page for hosting, TLS, and cookie posture.
FAQ
None. No name, email, phone, address, or payment details are collected, stored, or logged by aithne.online or the PPIL integration. Attestations are receipt-based; you keep merchant-signed verification records.
Aithne is attestation-based: you verify an age claim from the user's wallet, with auditable receipts and no PII inventory to breach. Requirements vary by market — verify obligations with legal counsel.
Yes — a merchant-signed verification in the session short-circuits the age gate, with no repeat dialog for verified users.
Node.js, TypeScript, PHP, Python, and Java clients, all mirroring the same verified AVP contract. See the SDK roster above.
Keys are environment-only (avp-api-key-aithne). They are never committed, logged, or shared. Rotate them like any secret. The site never shows a real key — only masked examples.
Yes. The AVP supports revoking a proof token (revoke()); subsequent verify or get calls are rejected. See the AVP glossary entry.