stile

Logistics identity verification

Stop fraud at the boundary, not after the load moves: carrier onboarding, broker handoff, dock pickup. Identity verification for high-risk logistics workflows, signed yes/no in ~30 seconds.

  • Document Capture
  • Liveness
  • Face Match
  • mDL
  • Age Tier
  • Signed Webhook
// POST /v1/verification_sessions
{
  "type": "identity",
  "workflow_id": "wf_01HQ9Z2N7K8VRPB",
  "return_url": "https://acme-logistics.com/verified"
}

// Webhook  verification_session.verified
{
  "type": "verification_session.verified",
  "data": {
    "object": {
      "id": "vks_4p9x2m",
      "object": "verification_session",
      "status": "verified",
      "type": "identity",
      "current_method": "document_capture",
      "verification_result": {
        "method": "document_capture",
        "confidence": 0.97,
        "face_match_passed": true,
        "liveness_passed": true
      }
    }
  }
}

The gap

The loss is visible. The identity behind is not.

  1. Dollars lost

    Incident reports and write-offs name the symptom. The identity-of-record behind the carrier stays unverified.

  2. Carrier names on paper

    MC numbers and DOT filings name an entity. They don't bind the human signing the contract or pulling the load.

  3. Patterns after the freight is gone

    Fraud post-mortems surface the pattern after the load has moved. Identity needs to be answered at the boundary, not afterwards.

The product

Built for how fraud works now.

Two shifts at once: synthetic IDs and deepfake selfies are cheap, and mobile driver's licenses are signed and TSA-accepted. The product is built for both.

Accepts the new standard

Native support for mobile driver's licenses — verified by cryptographic signature, not a photo. ISO/IEC 18013-5.

Liveness and spoof checks

Models trained to detect deepfake selfies, injection attacks, and synthetic IDs that fool a human or a static checker.

Proof, not paperwork

Every check returns a signed, tamper-evident record. Audit-ready by default — no screenshots, no manual logs.

Proof

Proof for every check, replayable in sandbox.

HMAC-SHA256-signed webhooks plus a verifiable audit chain. Counsel can see what was decided, when, which evidence was checked, and which credential was presented — without you keeping a single screenshot.

signed_eventjson
POST https://acme-logistics.com/webhooks/stilestile-signature: t=1715299200,v1=8b3f...e2c1content-type: application/json {  "type": "verification_session.verified",  "data": {    "object": {      "id": "vks_4p9x2m",      "object": "verification_session",      "status": "verified",      "type": "identity",      "verification_result": {        "method": "document_capture",        "confidence": 0.97,        "face_match_passed": true,        "liveness_passed": true      }    }  }}

How it works

Driver tap-to-verified in ~30 seconds.

Only the signed yes/no enters your system. No raw PII. No retained images.

  1. Step 01

    Trigger

    A system or mobile device calls the API or surfaces a QR. Stile returns a verification-session URL.

  2. Step 02

    Verify

    Driver opens the link, captures a mobile driver's license (Apple/Google Wallet) or a photo of a government ID, plus a liveness selfie.

  3. Step 03

    Sign

    Stile cryptographically signs the result. No raw PII crosses your wire.

  4. Step 04

    Webhook

    A signed assertion is delivered to your callback URL. Sandbox-replayable and auditable.

  5. Step 05

    Decide

    Your onboarding, dispatch, or gate system acts on the signed result. ~30 seconds end-to-end.

Outcome

One verified identity. Every handoff.

See the same signed pass/fail your dock, dispatch, or onboarding system will receive.

Why Stile

Easy. Cheap. No PII. Effective.

  1. Easy

    Integrates quietly into existing workflows using QR codes, kiosk tablets, or driver phones.

  2. Low cost

    $0.25 per verification at enterprise scale. A fraction of legacy ID-verification costs.

  3. No PII

    No data monetization schemes. A signed yes/no is returned. No images stored, no profiles built, no data resold.

  4. Effective

    Designed to detect liveness attacks, synthetic IDs, and impersonation. Re-trained against emerging tactics to stay ahead of what's next.

Methods

Six ways to verify the person, not just the paperwork.

Same signed result regardless of which credential the principal or driver presents.

  • Mobile driver's license

    ISO/IEC 18013-5 wallet credential, verified by signature, not a photo.

  • Government ID scan

    OCR plus barcode cross-reference, the always-available fallback path.

  • Liveness + face match

    Passive liveness scored against the document portrait, sub-second.

  • QR / guard-station handoff

    Per-session QR at the dock or gate — no app install for the driver.

  • Re-verification on record change

    A changed identity-of-record on file re-triggers the check automatically.

  • Signed webhook result

    Every method returns the identical pass/fail shape to your system.

Trusted across regulated industries · Built on open standards

OpenID4VPW3C DIDsISO/IEC 18013-5GDPR ReadyeIDAS CompatibleFIDO2 / WebAuthnCCPA CompliantAlcohol & VapeGaming & GamblingDating & SocialCreator Platforms

Integration surfaces

Call it from the dock, the gate, or onboarding.

A verification session is one API call. Trigger it from a dispatch system, a guard-station tablet, or a carrier-onboarding form — the signed result comes back the same way regardless of trigger.

  • REST API — one POST to create the session, one signed webhook back.
  • Node.js SDK — typed client, webhook signature verification built in.
  • Hosted iframe — drop the verification UI into a kiosk or internal tool with no build.
Read the docs
verification_sessionscreate-session.sh
# 1. Server: create a verification session.curl -X POST https://api.stile.id/v1/verification_sessions \  -H "Authorization: Bearer stile_sk_live_..." \  -H "Content-Type: application/json" \  -d '{    "type": "identity",    "workflow_id": "wf_age21_us",    "return_url": "https://shop.example.com/checkout/return"  }' # → 200 OK{  "id": "vks_01jq...",  "object": "verification_session",  "type": "identity",  "status": "pending",  "methods": ["mdl", "document_capture"],  "client_secret": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi...sig",  "return_url": "https://shop.example.com/checkout/return",  "cancel_url": null,  "expires_at": 1715238000,  "created": 1715234400}

Where it fits

Three identity moments. Three points of leverage.

Each row maps to a deeper page below. Carrier onboarding, broker handoff, and pickup at the dock — same primitive, three workflows.

Three identity moments. Three points of leverage.
Identity momentWhat Stile verifiesOutcome

Moment 01

Carrier onboarding

What Stile verifies

Government ID, liveness, and face match of the principal signing the contracts.

Outcome

Chameleon and shell-carrier admissions filtered before authority issues.

Moment 02

Broker / shipper handoff

What Stile verifies

Carrier principal and assigned driver re-verified before sensitive load details are released.

Outcome

Impersonator carriers caught at booking, before a load is ever assigned.

Moment 03

Pickup at the dock

What Stile verifies

Driver via QR code or guard-station tablet. Cryptographically matched to driver on the record.

Outcome

Forged IDs and fictitious pickups stopped at the gate, before the load moves.

FAQ

Logistics buyers ask

Still have questions? Reach out to our team.

Contact us

No. Stile returns a signed yes/no plus the audit pointer. Document images, biometric templates, and PII never leave Stile's verification pipeline.

Yes. The driver scans the QR with their phone camera, captures a mobile driver's license or a photo of a government ID plus a liveness selfie, and the gate system receives the signed assertion via webhook. No app install required on the driver's side.

Yes. ISO/IEC 18013-5 mobile driver's licenses from Apple Wallet and Google Wallet are accepted natively. The wallet releases the signed credential; the merchant never sees the underlying document.

Anti-spoof models score the liveness capture for injection, replay, and printed-photo attacks. The document is cross-referenced for synthetic-ID indicators and OCR mismatches. Both checks are pre-flight to the verified webhook.

Audit pointers are retained per the workflow's retention policy. Counsel can replay any signed event in the sandbox for the duration of that retention window — without storing the underlying PII.

The ask

See it running on your workflow.

Bring a real onboarding form, dispatch system, or gate script and we'll wire up a live verification session against it — QR at the dock, a link from onboarding, whichever surface your workflow already runs. Signed pass/fail back to your system, no PII stored, no screenshots to keep.

Book demoRead the docs

Signed webhook

verification_session.verified

object
verification_session
status
verified
client_reference_id
order_1934
livemode
true
completed_at
1741564800

Selected fields from the event's data.object. Every delivery carries a Stile-Signature header holding an HMAC-SHA256 of the timestamp and the raw body, keyed with your endpoint secret. The snapshot carries outcome fields only, so captures, biometric templates and document images are never part of it.