Verification Methods
The verification methods available in runnable workflows today, plus reserved method values and their strength taxonomy.
A method is a single way a user can prove their age or identity. You don't choose methods per request — you curate them on a workflow, and Stile compiles the session's method list from that selection, filtered by the user's jurisdiction.
Method roles matter
mdl and document_capture are generally available primary widget paths. nfc_passport is a
primary path only in a supported native embed because ordinary Web NFC cannot read an ICAO
passport chip. selfie_liveness and selfie_match are active biometric layers that run with a
primary method. self_attestation is implemented as an additional declaration step, but do not
configure it as the only hosted-widget path. The values mid, eudi_pid, facial_age,
carrier_lookup, open_banking, parental_consent, student, and standalone apple_wallet are
reserved but not implemented; workflow publishing rejects steps that use them.
Methods are filtered by jurisdiction
A workflow can list a method that isn't valid everywhere. At session time, Stile removes methods that aren't recognized in the user's detected jurisdiction — for example, mDL is dropped in markets that don't accept digital driver's licenses.
Government digital credentials
Wallet-held, government-issued credentials — the highest-assurance methods, presented directly from the user's phone.
| Method | Value | Availability | What it is |
|---|---|---|---|
| Mobile Driver's License | mdl | Available | An ISO 18013-5 mDL presented from the phone's wallet via OID4VP. |
| Mobile Identity | mid | Planned | Reserved for a government-issued mobile identity credential. |
| EUDI PID | eudi_pid | Planned | Reserved for European Digital Identity PID credentials. |
Document and chip
Verify a physical identity document — by photo or by reading its secure chip.
| Method | Value | Availability | What it is |
|---|---|---|---|
| Document Capture | document_capture | Available | Photograph a physical ID; Stile extracts and validates the data (OCR + barcode cross-reference) and matches a selfie to the document portrait. |
| NFC Passport | nfc_passport | Native embed | Read the passport's NFC chip (ICAO 9303) for a cryptographically signed identity. Requires Stile's supported native NFC bridge. |
A workflow can restrict which document types document_capture accepts:
| Document type | Value |
|---|---|
| ID card | ID_CARD |
| Passport | PASSPORT |
| Driver's license | DRIVERS_LICENSE |
| Residence permit | RESIDENCE_PERMIT |
| Health card | HEALTH_CARD |
Biometric
Use the camera to estimate age or confirm a live, matching person.
| Method | Value | Availability | What it is |
|---|---|---|---|
| Facial Age | facial_age | Planned | Reserved for AI age estimation from a selfie. |
| Selfie Liveness | selfie_liveness | Active layer | Confirms a real, physically-present person to defeat photo and replay attacks. Runs with a primary proof method. |
| Selfie Match | selfie_match | Active layer | Matches a live selfie against the portrait on a verified document. Runs with a primary proof method. |
Liveness can run with one of three strategies, set as a workflow preference: 3d_action (the user performs a movement such as a head turn), flashing (screen-light reflection), or passive (no user action).
Signal-based
Derive an age or identity signal from an account the user already holds.
| Method | Value | Availability | What it is |
|---|---|---|---|
| Carrier Lookup | carrier_lookup | Planned | Reserved for mobile-carrier age and identity signals. |
| Open Banking | open_banking | Planned | Reserved for bank-account identity signals. |
ip_analysis, device_risk, and geolocation are available supplementary risk checks. They can enrich or branch a workflow but are not standalone identity proofs.
| Check | Value | Availability | What it does |
|---|---|---|---|
| IP Analysis | ip_analysis | Available | Evaluates IP-derived risk signals. |
| Device Risk | device_risk | Available | Evaluates device and automation risk. |
| Geolocation | geolocation | Available | Adds location context for workflow policy and review decisions. |
These checks can appear in session.methods, but they do not mint a reusable credential or add a credential-strength rank.
Declaration and consent
Lower-assurance methods for contexts where a regulation permits them, or where a guardian is involved.
| Method | Value | Availability | What it is |
|---|---|---|---|
| Self Attestation | self_attestation | Additional step | The user declares their age or identity. Implemented, but not a standalone hosted-widget path. |
| Parental Consent | parental_consent | Planned | Reserved for parent or guardian consent. |
| Student | student | Planned | Reserved for academic enrollment verification. |
Device requirements
Runnable methods have the hardware requirements below. Planned rows describe the intended modality only and cannot be selected in a published workflow; supplementary risk checks are described in Signal-based.
| Method | Status | Needs |
|---|---|---|
mdl | Available | A digital wallet app on the user's phone (presented via OID4VP). |
nfc_passport | Native embed | An NFC-capable phone plus Stile's supported native bridge. Standard browser Web NFC is not sufficient for an ICAO chip read. |
document_capture | Available | A camera. |
selfie_liveness, selfie_match | Active layer | A camera and a primary proof method in the same runnable path. |
self_attestation | Additional step | No special hardware; include a renderable primary in the same hosted-widget path. |
mid, eudi_pid, facial_age | Planned | Intended for a wallet app or camera, depending on the method. |
carrier_lookup, open_banking | Planned | Intended for a carrier or bank account connection. |
parental_consent, student, apple_wallet | Planned | Reserved; no runnable standalone step exists today. |
Choosing methods
You curate methods on a workflow; these tradeoffs help you pick:
- Assurance vs. friction. Available mDL and chip-read passports provide high assurance but require compatible credentials or hardware. Document capture is broadly available but asks for a camera and a few taps. Self attestation is lower friction and lower assurance.
- Offer alternatives. With any-of composition, list several methods so users can pick the one they can complete — e.g. mDL for those who have it, document capture for everyone else.
- Let jurisdiction filtering work. Methods not recognized in the user's market are removed automatically, so you can list a superset and trust the compiled list to be valid where each user is.
- Stack for high assurance. With all-of, combine independent checks (e.g. document capture plus a liveness selfie) when the use case warrants it.
Strength ranking
When you reuse a prior verification for a returning user, method values are ranked by strength. This compatibility taxonomy includes reserved values; a rank does not mean the method can currently be configured in a new workflow.
| Rank | Strength | Method |
|---|---|---|
| 1 | self_attestation | User declaration |
| 2 | facial_age | AI age estimation |
| 3 | carrier_lookup | Mobile carrier verification |
| 4 | open_banking | Bank account verification |
| 5 | document_capture | Physical ID scan + selfie |
| 6 | mdl | Mobile Driver's License |
| 7 | mid | Mobile ID |
| 8 | eudi_pid | EU Digital Identity |
Selfie liveness and selfie match are counted at document-capture strength; student and parental consent at self-attestation strength.