Introduction
stile is an identity and age verification platform. Verify your users in seconds with a single integration.
stile is an identity and age verification platform. Verify your users in seconds using mobile driver's licenses, facial age estimation, and more — with a single integration.
Quickstart
Get up and running in under 5 minutes.
Widget SDK
Drop-in web component for any framework.
Node.js SDK
Server-side SDK for webhooks and session management.
Webhooks
Get notified when a user completes verification.
How it works
Add the stile widget to your site, and it handles the entire verification flow for your users. When a user verifies, stile notifies your server so you can grant access.
Add the widget to your page
Include the <stile-button> web component with your publishable key. It works in any framework — React, Vue, Svelte, or plain HTML.
User completes verification
The widget opens a verification modal. Depending on the method, the user may scan a QR code with a digital wallet, take a selfie, or complete another verification step.
Your server gets notified
stile sends a webhook (an HTTP POST request) to your server confirming the result. You can then update your database, grant access, or unlock content.
Key concepts
Verification Sessions
A session tracks a single verification attempt. When a user clicks the verification button, the widget creates a session automatically. Sessions expire after 24 hours and go through these statuses: created → pending → processing → verified (or failed / cancelled / expired).
Verification Methods
stile tries multiple verification methods in order until one succeeds. This is called a method waterfall — if the first method isn't available or fails, it automatically falls through to the next. You don't need to manage this yourself.
Available methods:
- Mobile Driver's License (MDL) — verifies a digital driver's license stored on the user's phone using the ISO 18013-5 standard
- Mobile Identity (MID) — verifies a government-issued digital identity credential on the user's phone
- Facial Age Estimation — estimates the user's age from a selfie using AI. No document required.
- Carrier Lookup — checks age signals from the user's phone carrier
- Open Banking — verifies identity through bank account data
- Parental Consent — collects consent from a parent or guardian for users under 18
- EUDI PID — verifies a European Digital Identity credential
- Selfie Liveness — confirms a real person is present via a live selfie check
- Selfie Match — matches a selfie against a previously verified photo
- Self Attestation — the user self-declares their age or identity (lowest assurance)
- Document Capture — extracts and verifies data from a physical ID document photo
- Student Verification — verifies enrollment at an academic institution
API Keys
stile uses two types of keys. Publishable keys (pk_test_ / pk_live_) are used in the frontend widget and are safe to include in your HTML. Secret keys (vk_test_ / vk_live_) are used on your server for webhooks and API calls. See Authentication for details.
Webhooks
A webhook is a URL on your server that Stile calls when something happens — like a user completing verification. Each webhook is signed so you can verify it's really from stile and not a spoofed request. Learn more in the Webhooks guide.
Test mode
Use test keys (pk_test_ / vk_test_) during development. Test mode goes through the same flow as production but uses simulated verifications — no real identity documents are processed, and no real charges apply.