stile

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.

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: createdpendingprocessingverified (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.

On this page