# idantitem

> Commercial eKYC platform for Haiti and the Caribbean diaspora.
> 80% deterministic (MRZ + ICAO 9303 checksums + structured OCR + rules
> engine), 20% AI (face recognition, liveness, image preprocessing).
> Country coverage: Haiti DGCR permis, Haiti Dermalog CIN, Québec SAAQ
> permis, French CNI, Dominican Cédula, US driver license, ICAO passports.
> Free tier: 500 eKYC verifications per month on individual accounts.

## Docs

- [Full reference for LLMs](/llms-full.txt): every API endpoint, schemas, integration recipes
- [OpenAPI spec (JSON)](/openapi.json): machine-readable API surface
- [Interactive Swagger UI](/docs): try endpoints from the browser
- [Integrator guide (HTML)](/guide): walkthrough for first-time integrators (FR)
- [Compliance & security page](/compliance): technical measures, sub-processors, retention, RGPD alignment (FR)

## Get a key

- [Create an account](/signup): individual = 500 free eKYC / month
- [Dashboard](/app): manage projects, API keys, webhooks, screening, verifications, widget brand colors
- [Dashboard playground](/app#playground): run a real verification end-to-end with one of your projects, optionally forwarding the verdict to a test webhook

## API surface

- [Document auto-detect](/openapi.json): single endpoint that returns the document kind from an upload (`POST /api/v1/tools/document/autodetect`)
- [Structured extraction (universal)](/openapi.json): auto-detect + dispatch to the right country parser (`POST /api/v1/tools/document/structured`)
- HT permis: `POST /api/v1/tools/permis/structured`
- HT CIN (Dermalog): `POST /api/v1/tools/cin/structured`
- FR CNI: `POST /api/v1/tools/fr-cni/structured`
- DR Cédula: `POST /api/v1/tools/dr-cedula/structured`
- US driver license: `POST /api/v1/tools/us-dl/structured`
- Sanctions / PEP screening: `POST /api/v1/screening`
- Widget session lifecycle: `POST /api/v1/widget/sessions{,/document,/selfie,/finalize}`
- Widget brand colors (publishable-key bootstrap): `GET /api/v1/widget/branding`
- Widget cross-check (server-to-server): `GET /api/v1/widget/verifications/{id}` with `Authorization: Bearer sk_…`. When the session was finalized with `expose_identity=true`, the response includes the full extracted `identity` block + a `media` block of HMAC-signed image URLs (TTL 1h), so the partner backend can store the KYC case file in its own DB.
- Project widget colors (dashboard-only): `PATCH /api/v1/accounts/projects/{id}/branding` body `{widget_primary_color, widget_background_color}`

## Integrations

- WooCommerce plugin (single-file PHP, 3 modes): download ZIP at `/downloads/idantitem-verify-woocommerce.zip`, configure publishable + secret keys in WP admin
- Shopify checkout extension + ready-to-adapt `orders/create` webhook handler (sources delivered to Partner customers under contract)
- Hosted widget URL — drop-in link merchants share by SMS / email, no integration code: `/w?pk=YOUR_PK`

## Optional

- [Trust badge SVG](/badge.svg): "Vérifié par idantitem" badge for merchant checkouts (light + dark variants)

## Pricing

- **Individual** — 500 eKYC verifications / month, included free
- **Business / Enterprise** — contact <https://idantitem.com> for SLA,
  volume tiers, on-premise deployment, dedicated support, audit access

## Attribution requirements

The platform itself is closed-source commercial software. Where we surface
matches from the OpenSanctions feed (CC-BY 4.0), the dashboard already
displays a "Powered by OpenSanctions" attribution. Integrators must
preserve that attribution if they re-display screening results.
