Join waitlist
How it works

From the moment a request lands to the complete answer.

Four steps. The first three happen in the background, on the schedule you set. The last one runs in under a second, every time.

i. Connect 5–10 min · once

Connect every place a photo could live.

OAuth into your cloud drives, point us at your CMS, give us read-only S3 keys. Every connector is read-only by default; we never write to your sources.

Google Drive OAUTH · READ-ONLY
SharePoint GRAPH · READ-ONLY
Dropbox OAUTH · READ-ONLY
Box OAUTH · READ-ONLY
AWS S3 IAM ROLE · GET-ONLY
WordPress REST · MEDIA
Network drive SMB · READ-ONLY
Public website CRAWL · BFS
ii. Crawl Hourly · daily · weekly

Crawl on your schedule, never on your servers.

We pull every image touched since the last crawl. Compute happens on EU infrastructure under our control — your sources only see read traffic.

  • Incremental: we only re-process images that changed
  • Rate-limited: we never push your CMS over its budget
  • Audited: every fetch is logged with source URL and hash
iii. Index Background · continuous

Detect every face. Group identities.

Each face becomes a vector. The same person across photos collapses into one identity cluster. Uncertain matches stay uncertain — you confirm or reject during review, and the cluster sharpens.

14:02:13 CRAWL sharepoint://comms/events/q3 · 412 new images
14:02:14 DETECT 412 images · 1,847 faces · avg 0.92 confidence
14:02:15 EMBED 1,847 vectors · 512-dim · stored in EU vault
14:02:16 CLUSTER +18 new identities · +1,829 appearances merged
14:02:17 REVIEW 23 borderline matches queued for human confirmation
iv. Answer < 1 second

When a request lands, the answer is already there.

Paste the requester's reference photo or pick the matching identity. Get every appearance, with source URL, file path, crawl date and confidence — exportable as a regulator-ready PDF.

  • Search latency: median 0.4s across a 100k-image archive
  • Audit trail: every search is logged with the operator and reason
  • Export: one PDF, machine-readable JSON, or both