CT ClaimTrace by AXIONYX.io
Get a keyObtenir une clé
The AI that reads the sourceL'IA qui lit la source Private betaBêta privée

An AI that reads the real sources. And proves it.Une IA qui lit les vraies sources. Et le prouve.

ClaimTrace is a verification layer. Its AI opens the entity's own publications — full web page, linked PDF, scanned image, event pop-up — reads them, and returns the field you asked for with its proof: source URL, date, verbatim excerpt, confidence. Nothing published? A motivated null. Never an invention.ClaimTrace est une surcouche de vérification. Son IA ouvre les publications de l'entité elle-même — page web complète, PDF lié, image scannée, fenêtre événementielle — les lit, et renvoie le champ demandé avec sa preuve : URL source, date, extrait verbatim, confiance. Rien de publié ? Un null motivé. Jamais une invention.

An AI that reads — never guessesUne IA qui lit — jamais qui devine 11 external adversarial audits11 audits externes adversariaux 0 fabricated menu in the last 4 audits0 menu fabriqué aux 4 derniers audits
ClaimV1 — réponse réelle de l'API · Brasserie Le Jura, Neuchâtel · prod 31.07.2026
{
  "field": "menu_du_jour",
  "value": { "items": [
      { "name": "Aile de raie meunière", "price": "20 CHF" },
      { "name": "Tajine de légumes",     "price": "20 CHF" } ] },
  "provenance": {
    "source_url": "https://brasserielejura.ch/event/menu-du-vendredi-31-juillet/",
    "verbatim": "Menu du Vendredi 31 juillet — Aile de raie meunière — Tajine de légumes (…)",
    "page_kind": "menu_du_jour",
    "domain_owned_by_entity": true
  },
  "confidence": 0.92
}

Extrait verbatim d'une réponse capturée en production le 31.07.2026 (req_2912809e9f3f49e99219). La source appartient à l'établissement et reste consultable. L'IA a lu cette page — elle n'a pas résumé un index.

EntityV1 — real API response · Entre Dos, Barcelona · prod 08.08.2026
{
  "title": "Entre Dos",
  "location": { "address": "Carrer del Carme, 40, Ciutat Vella, 08001 Barcelona" },
  "contact": { "website": "https://www.restaurante-entredos.com/" },
  "claims": [],
  "not_found": {
    "reason": "not_published",
    "detail": "Source officielle lue : la donnée demandée n'y est pas publiée.",
    "source_checked": "https://www.restaurante-entredos.com/"
  }
}

Verbatim extract of a response captured in production on 08.08.2026 (req_463438843762408e826c), asked for today's menú del día in Barcelona. The AI opened the restaurant's own website, found no menu of the day published there — and answered with a documented absence instead of a plausible invention. That refusal is the product.

The core conceptLe concept phare

An AI of truth, not an AI that guessesUne IA de vérité, pas une IA qui devine

A generative model produces what is plausible. ClaimTrace's AI does the opposite job: it opens the page, reads it the way a human would, and only serves words that exist in what it read.Un modèle génératif produit ce qui est plausible. L'IA de ClaimTrace fait le travail inverse : elle ouvre la page, la lit comme un humain le ferait, et ne sert que des mots qui existent dans ce qu'elle a lu.

Entity + needa restaurant · today's menu Entité + besoinun restaurant · le menu du jour THE AI READS THE REAL SOURCESIt reads the page as a human would — not an index summary L'IA LIT LES VRAIES SOURCESElle lit la page comme un humain — pas un résumé d'index Website(JS rendered)Linked PDFScannedimageEventpop-up Site web(JS rendu)PDF liéImagescannéeFenêtreévénement Literal anchoringevery served word exists in what was read Ancrage littéralchaque mot servi existe dans ce qui a été lu Verified fact + proofsource URL · publication date · verbatim excerpt · confidence Fait vérifié + preuveURL source · date · extrait verbatim · confiance Nothing published? → motivated null Rien de publié ? → null motivé
01

It readsElle lit

JavaScript pages rendered in a real browser, linked PDFs, scanned images, event pop-ups — the real content, not an extract.Pages JS rendues dans un vrai navigateur, PDF liés, images scannées, fenêtres événementielles — le contenu réel, pas un extrait.

02

It anchorsElle ancre

Every value is tied to the sentence that proves it: URL, date, verbatim, confidence.Chaque valeur est reliée à la phrase qui la prouve : URL, date, verbatim, confiance.

03

It abstainsElle s'abstient

A motivated not_found — absence is an answer, and it is documented.Un not_found motivé — l'absence est une réponse, et elle est documentée.

Anti-hallucination for your AI agentsAnti-hallucination pour vos agents IA

The honest null is what makes every other answer trustworthyLe null honnête est ce qui rend toutes les autres réponses fiables

Invented ground data is the failure your users notice: a plausible menu, a plausible opening time, a plausible price. It costs more than an empty answer, because it is impossible to detect downstream.La donnée terrain inventée est la panne que vos utilisateurs voient : un menu plausible, un horaire plausible, un prix plausible. Elle coûte plus cher qu'une réponse vide, car elle est indétectable en aval.

  • Two states an agent can actually handle: a proven fact, or a documented absence.Deux états gérables par un agent : un fait prouvé, ou une absence documentée.
  • A real partial fact is worth more than a complete invented one.Un fait partiel réel vaut mieux qu'un fait complet inventé.
  • The absence carries the source that was read — it is auditable, not a shrug.L'absence porte la source lue — elle est auditable, ce n'est pas un haussement d'épaules.
The entity's own source La source de l'entité IT PUBLISHES THE FACT claim + source URL date & verbatim excerpt confidence score IT STAYS SILENT not_found + reason source that was read claims: [] ELLE PUBLIE LE FAIT claim + URL source date & extrait verbatim score de confiance ELLE RESTE SILENCIEUSE not_found + raison source lue claims: [] A plausible value that was never read:ClaimTrace never returns it. Une valeur plausible jamais lue :ClaimTrace ne la renvoie jamais.
11

external adversarial auditsaudits adversariaux externes

0

fabricated menus in the last 4 audits (91 entities in the last two, 31.07.2026)menu fabriqué aux 4 derniers audits (91 entités aux 2 derniers, 31.07.2026)

3 299

automated tests green (full suite re-run 08.08.2026)tests automatisés verts (suite complète rejouée le 08.08.2026)

21/21

customer-journey assertions verified live on production (08.08.2026)assertions du parcours client vérifiées live sur la prod (08.08.2026)

9

anchored golden cases re-checked before every deploy — a gap blocks and rolls backcas golden ancrés re-vérifiés avant chaque déploiement — un écart bloque et rollback

Written into the engineInscrites dans le moteur

Eight guarantees, written into the engineHuit garanties, inscrites dans le moteur

Not a policy page — four mechanical gates and eight guarantees a response either satisfies, or it is not served.Pas une page de politique — quatre verrous mécaniques et huit garanties qu'une réponse tient, sinon elle n'est pas servie.

1 Identity gatethe address outweighs the name — no homonyms Verrou d'identitél'adresse pèse plus lourd que le nom — pas d'homonymes 2 Domain ownershiponly the entity's own publications are accepted Propriété du domaineseules les publications de l'entité sont acceptées 3 Literal anchoringthe served text exists in what was read Ancrage littéralle texte servi existe dans ce qui a été lu 4 Live revalidationconfirmed · contradicted · unverifiable — said as such Revalidation liveconfirmé · démenti · invérifiable — dit tel quel
Dimension
The ClaimTrace guaranteeLa garantie ClaimTrace
What you receiveCe que vous recevez
A ClaimV1 object per fact.Un objet ClaimV1 par fait.
Provenance
URL, date, verbatim, page kind, domain ownership.URL, date, verbatim, type de page, propriété du domaine.
When the data does not existQuand la donnée n'existe pas
A motivated not_found, never a guess.Un not_found motivé, jamais une supposition.
Accepted sourcesSources acceptées
The entity's publications only — 17 aggregators rejected.Publications de l'entité uniquement — 17 agrégateurs rejetés.
HomonymsHomonymes
The address outweighs the name.L'adresse pèse plus lourd que le nom.
JS pages, PDFs, scansPages JS, PDF, scans
Rendered and read, not skipped.Rendus et lus, pas ignorés.
FreshnessFraîcheur
Live revalidation: confirmed, contradicted, unverifiable.Revalidation live : confirmé, démenti, invérifiable.
For your AI agentPour votre agent IA
A proven answer or an explicit absence.Une réponse prouvée ou une absence explicite.

In thirty secondsEn trente secondes

What you getCe que vous obtenez

An AI that reads, never guessesUne IA qui lit, jamais qui devine

The page is opened and read. What was not read is not served.La page est ouverte et lue. Ce qui n'a pas été lu n'est pas servi.

Every fact carries its proofChaque fait porte sa preuve

Source URL, publication date, verbatim excerpt, confidence — in the response itself.URL source, date de publication, extrait verbatim, confiance — dans la réponse elle-même.

The honest nullLe null honnête

not_found with its reason and the source that was read.not_found avec sa raison et la source lue.

Real ground, not a summaryLe terrain réel, pas un résumé

Today's menu, today's price — read where the entity published it.Le menu du jour, le prix du jour — lus là où l'entité les a publiés.

Proven by adversarial auditProuvé par audit adversarial

Eleven external audits designed to catch fabrication. The last four found no fabricated menu.Onze audits externes conçus pour prendre la fabrication en défaut. Les quatre derniers n'ont trouvé aucun menu fabriqué.

Swiss and sovereignSuisse et souverain

Built and operated by AXIONYX.io Sàrl, Neuchâtel. Public data only, traced provenance.Construit et opéré par AXIONYX.io Sàrl, Neuchâtel. Données publiques uniquement, provenance tracée.

Request → response — nothing is dressed upRequête → réponse — rien n'est maquillé

A real request, its real responseUne requête réelle, sa réponse réelle

POST /v1/fetch
curl -X POST https://claimtrace.dev/v1/fetch \
  -H "X-API-Key: afk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "thematique": "restaurants menus du jour",
    "lieu": "Neuchâtel",
    "prompt": "le menu du jour réel, avec prix si publié"
  }'
curl -X POST https://claimtrace.dev/v1/fetch \
  -H "X-API-Key: afk_…" \
  -H "Content-Type: application/json" \
  -d '{
    "thematique": "restaurants menú del día",
    "lieu": "Barcelona",
    "prompt": "the real menu of the day, with price if published"
  }'
FetchResultV1· abridged, prod 08.08.2026· abrégée, prod 31.07.2026
{
  "schema_version": "1",
  "request_id": "req_2912809e9f3f49e99219",
  "entities": [ /* 12 entités */ ],
  "verification": {
    "truth_rules_version": "2026-07-30.r12-carte-refusee-prix-global",
    "verified_live": true,
    "checked_at": "2026-07-31T09:10:12Z"
  },
  "usage": { "credits_charged": 11, "cache_hits": false },
  "attribution": ["© OpenStreetMap contributors (ODbL)"]
}
{
  "schema_version": "1",
  "request_id": "req_463438843762408e826c",
  "entities": [ /* 6 entities — all honest not_found */ ],
  "verification": {
    "truth_rules_version": "2026-07-31.r17-menu-survit-au-silence-tous-chemins",
    "verified_live": true,
    "checked_at": "2026-08-08T19:23:58Z"
  },
  "usage": { "credits_charged": 5, "cache_hits": false },
  "attribution": ["© OpenStreetMap contributors (ODbL)"]
}
The honest nullLe null honnête· Entre Dos, Barcelona · 08.08.2026· Brasserie Le Cardinal
{
  "claims": [],
  "not_found": {
    "reason": "not_published",
    "detail": "Source officielle lue : la donnée
              demandée n'y est pas publiée.",
    "source_checked": "http://www.lecardinal-brasserie.ch/"
  }
}
{
  "claims": [],
  "not_found": {
    "reason": "not_published",
    "detail": "Source officielle lue : la donnée
              demandée n'y est pas publiée.",
    "source_checked": "https://www.restaurante-entredos.com/"
  }
}

The detail sentence is served verbatim by the engine, in French — we display it as it comes. See the FAQ on response languages.La phrase detail est servie verbatim par le moteur, en français — nous l'affichons telle quelle. Voir la FAQ sur la langue des réponses.

  • SSE streaming: entities arrive as they are verified.Flux SSE : les entités arrivent au fil de la vérification.
  • 24 h replay per request_id, isolated per key.Relecture 24 h par request_id, isolée par clé.
  • Measured 08.08.2026: ~3 s for an already-verified area, 64–163 s for a fresh collection with live verification.Mesuré le 08.08.2026 : ~3 s sur une zone déjà vérifiée, 64–163 s pour une collecte fraîche avec vérification live.
  • Cache hits are served free of charge.Les hits de cache sont servis gratuitement.

Credits for verified factsDes crédits pour des faits vérifiés

Launch pricing — betaGrille de lancement — bêta

1 credit = 1 entity freshly resolved and verified. A fact already verified recently (shared cache, at most 24 h for dated data) is served free of charge.1 crédit = 1 entité résolue et vérifiée à neuf. Un fait déjà vérifié récemment (cache partagé, 24 h au plus pour les données datées) est servi gratuitement.

DiscoveryDécouverte
0 CHF
50 credits on signup50 crédits à l'inscription
  • 50 credits50 crédits
  • 25 requests / day25 requêtes / jour
  • Email supportSupport par email
Get a free keyClé gratuite
Pack S
15 CHF
≈ 0.10 CHF / verified fact≈ 0,10 CHF / fait vérifié
  • 150 credits150 crédits
  • 500 requests / day500 requêtes / jour
  • Email supportSupport par email
Activate by emailActiver par email
Pack MRecommendedRecommandé
45 CHF
≈ 0.08 CHF / verified fact≈ 0,08 CHF / fait vérifié
  • 550 credits550 crédits
  • 500 requests / day500 requêtes / jour
  • Email supportSupport par email
Activate by emailActiver par email
Pack L
140 CHF
0.07 CHF / verified fact0,07 CHF / fait vérifié
  • 2 000 credits2 000 crédits
  • 500 requests / day500 requêtes / jour
  • Email supportSupport par email
Activate by emailActiver par email
Scale
99 CHF / month / mois
your own AI keyvotre clé IA
  • Credits: on your own keyCrédits : selon votre clé
  • 5 000 requests / day5 000 requêtes / jour
  • Email supportSupport par email
Talk to usÉcrivez-nous

Beta: packs are activated by email — write to us. Indicative launch pricing. Refusals (429, 402, 422) are never charged: the counter only counts admitted requests, and a 402 is returned before the request runs.Bêta : les packs s'activent par email — écrivez-nous. Grille indicative de la bêta. Les refus (429, 402, 422) ne sont jamais facturés : le compteur ne compte que les requêtes admises, et le 402 tombe avant exécution.

Before you integrateAvant d'intégrer

Operational questionsQuestions opérationnelles

How fast is a response?Quelle est la vitesse de réponse ?

Measured on 08.08.2026: an already-verified area answered in about 3 seconds; a fresh collection with live verification took 64 to 163 seconds depending on depth. The SSE stream sends entities as they come, so your agent starts working before the collection ends.Mesuré le 08.08.2026 : une zone déjà vérifiée a répondu en ~3 secondes ; une collecte fraîche avec vérification live a pris 64 à 163 secondes selon la profondeur. Le flux SSE envoie les entités au fil de l'eau : votre agent démarre avant la fin de la collecte.

How are credits counted?Comment les crédits sont-ils décomptés ?

1 credit = 1 entity freshly resolved and verified. Cache hits are free. Refused requests (rate limit, empty balance, invalid input) are never charged.1 crédit = 1 entité résolue et vérifiée à neuf. Les hits de cache sont gratuits. Les refus (limite atteinte, solde épuisé, requête invalide) ne sont jamais facturés.

What happens when my credits run out?Que se passe-t-il quand mes crédits sont épuisés ?

The API answers 402 before running the request — you are never charged for a refusal. Top up a pack (beta: by email) and the same key keeps working.L'API répond 402 avant d'exécuter la requête — un refus n'est jamais facturé. Rechargez un pack (bêta : par email) et la même clé continue de fonctionner.

Are there daily limits?Y a-t-il des limites quotidiennes ?

Yes, per key and per UTC day: 25 requests/day on Discovery, 500/day on packs, 5 000/day on Scale. Beyond, the API answers 429 with a Retry-After.Oui, par clé et par jour UTC : 25 requêtes/jour en Découverte, 500/jour en pack, 5 000/jour en Scale. Au-delà, l'API répond 429 avec un Retry-After.

What data is covered?Quelles données sont couvertes ?

The audited vertical today is restaurants (menus, Switzerland first). Other topics run in generic beta mode: the response then carries an explicit warning that claims have no dedicated truth harness yet.Le vertical audité aujourd'hui : les restaurants (menus, Suisse d'abord). Les autres thématiques tournent en mode générique bêta : la réponse porte alors un avertissement explicite (claims sans harnais de vérité dédié).

Which language are responses in?Dans quelle langue sont les réponses ?

Field names are stable English identifiers. Some human-readable details (e.g. the not_found.detail sentence) are currently served in French, verbatim from the engine.Les noms de champs sont des identifiants anglais stables. Certains détails lisibles (ex. la phrase not_found.detail) sont aujourd'hui servis en français, tels quels depuis le moteur.

Is this legal / compliant?Est-ce conforme ?

Public data only, traced provenance, Swiss nLPD and GDPR framing, OpenStreetMap attribution (ODbL). By design, no circumvention of any technical measure (login, captcha, paywall).Données publiques uniquement, provenance tracée, cadre nLPD (Suisse) et RGPD, attribution OpenStreetMap (ODbL). Par conception, aucun contournement de mesure technique (login, captcha, paywall).

Can I replay a response?Puis-je relire une réponse ?

Every response can be re-read for 24 h via GET /v1/requests/{id}, isolated per key.Chaque réponse est relisible 24 h via GET /v1/requests/{id}, isolée par clé.

Quickstart

In production in three requestsEn production en trois requêtes

1

Get your keyObtenez votre clé

One email, no card. 50 credits, displayed once.Un email, sans carte. 50 crédits, affichés une seule fois.

export CT_KEY="afk_…"
2

Stream a requestLancez une requête en flux

Entities arrive one by one, each with its proof.Les entités arrivent une à une, chacune avec sa preuve.

curl -N -H "X-API-Key: $CT_KEY" \
  "https://claimtrace.dev/v1/fetch/stream?thematique=restaurants%20menus&lieu=Neuch%C3%A2tel&prompt=le%20menu%20du%20jour"
3

Check your usageVérifiez votre consommation

Tier, daily quota, credit balance — the same values as your client area.Tier, quota du jour, solde de crédits — les mêmes valeurs que votre espace client.

curl -H "X-API-Key: $CT_KEY" https://claimtrace.dev/v1/usage
  • Same key in the client area — no second account.La même clé dans l'espace client — pas de second compte.
  • GET /v1/usage — balance and quota — solde et quota
  • GET /v1/stats — today's public service counters — les compteurs publics du service, du jour

Why you can believe itPourquoi on peut y croire

The proof is the auditLa preuve, c'est l'audit

ClaimTrace exposes an engine already running in production behind arc-menu.ch. It has been through eleven external adversarial audits — audits written to catch it inventing. The last four found no fabricated menu; the last two alone covered 91 entities (31.07.2026).ClaimTrace expose un moteur déjà en production derrière arc-menu.ch. Il a traversé onze audits externes adversariaux — des audits écrits pour le prendre en flagrant délit d'invention. Les quatre derniers n'ont trouvé aucun menu fabriqué ; les deux derniers couvrent à eux seuls 91 entités (31.07.2026).

Honest scope: the audited vertical is restaurant menus, Switzerland first. Other topics run in generic beta mode and the response says so explicitly.Périmètre honnête : le vertical audité, ce sont les menus de restaurants, la Suisse d'abord. Les autres thématiques tournent en mode générique bêta et la réponse le dit explicitement.

  • Nine golden cases re-checked before every deploy — a gap blocks and rolls back.Neuf cas golden re-vérifiés avant chaque déploiement — un écart bloque et rollback.
  • 3 299 automated tests green (full suite re-run on 08.08.2026).3 299 tests automatisés verts (suite complète rejouée le 08.08.2026).
  • 21/21 customer-journey assertions verified live on production (08.08.2026).21/21 assertions du parcours client vérifiées live sur la prod (08.08.2026).
  • 17 aggregator sources rejected by rule — only the entity publishes about itself.17 sources agrégatrices rejetées par règle — seule l'entité publie sur elle-même.
  • Versioned truth rules, carried in every response.Règles de vérité versionnées, portées dans chaque réponse.
  • No circumvention of any technical measure — by design.Aucun contournement de mesure technique — par conception.

Ready to buildPrêt à construire

Get a free keyObtenez une clé gratuite

50 credits, no card, no sales call.50 crédits, sans carte, sans appel commercial.

Your API keyVotre clé d'API

Your key is displayed once, here. One key per email address.Votre clé est affichée une seule fois, ici. Une clé par adresse email.

Trouble? Write to kam@axionyx.io.Un souci ? Écrivez à kam@axionyx.io.