Prove a digital file is what you said it is.
Upload any file or URL with a structured spec. Eleven specialised AI agents run the checks in parallel. We sign the result with our key — and anyone, anywhere, can validate the certificate offline.
OCR, colour palette, document text, video frames, audio transcript, code quality, website structure, reference match — each is the world expert in its job.
Vision questions go through Claude, GPT, and Gemini in parallel. Only unanimous agreement counts as confident — disagreement routes to manual review.
Every result is a JWT signed by our rotating private key. Verify it offline with our public JWKS — no API call to us required.
How it works in 60 seconds
Sign up
Email verification + your API key in two HTTP calls. Free tier is live before you can finish reading this paragraph.
POST a verification
Upload the file (or pass a URL) and a structured test plan. Each case names an agent and the precise params it should check.
Get a signed certificate
Within seconds, you receive the per-case results plus a JWT. Anyone can verify it against our public JWKS at /.well-known/jwks.json.
Three lines, three runtimes
curl -X POST https://trustdealapp.com/api/v1/verify-only \
-H "Authorization: Bearer td_live_..." \
-F "file=@logo.png" \
-F 'test_plan={
"cases": [
{ "agent_kind": "ocr_text", "key": "logo_brand", "label": "Logo includes KAFE", "expected": "yes",
"params": { "must_contain": ["KAFE"] } },
{ "agent_kind": "dominant_colour", "key": "logo_red", "label": "Dominant red", "expected": "yes",
"params": { "target_hex": "#bb2233", "tolerance": 25 } }
]
}'
// npm install @trustdeal/sdk
const { TrustDeal } = require("@trustdeal/sdk");
const td = new TrustDeal({ apiKey: process.env.TRUSTDEAL_API_KEY });
const result = await td.verify.run({
testPlan: {
criteria: [
{ id: "format", description: "PNG file", agent_kind: "auto" },
{ id: "minSize", description: "At least 2000×2000", agent_kind: "auto" },
{ id: "subject", description: "Contains KAFE wordmark", agent_kind: "ocr_text" },
],
},
fileUrl: "https://your-cdn.com/logo.png",
});
console.log(result.passed ? "✓ Passed" : "✗ Failed", result.score);
console.log("Certificate JWT:", result.certificate.jwt);
# pip install requests
import os, requests
resp = requests.post(
"https://trustdealapp.com/api/v1/verify-only",
headers={"Authorization": f"Bearer {os.environ['TRUSTDEAL_API_KEY']}"},
files={"file": open("logo.png", "rb")},
data={"test_plan": '''
{ "cases": [
{"agent_kind":"auto","key":"format","label":"PNG file","expected":"yes",
"params":{"mime":"image/png"}},
{"agent_kind":"ocr_text","key":"brand","label":"Includes KAFE","expected":"yes",
"params":{"must_contain":["KAFE"]}}
] }
'''},
timeout=60,
)
result = resp.json()
print("PASSED" if result["passed"] else "FAILED", result["score"])
print("Certificate:", result["signed_certificate"])
Built for the people who can't afford to be wrong
Journalists & fact-checkers
Verify that a leaked document matches the claimed metadata. Confirm a photo wasn't tampered with. Issue a public certificate readers can audit.
Insurance & claims
Validate damage photos against policy specs. Detect duplicates, manipulated EXIF, banned content — automatically, with a signed evidence trail.
Procurement & vendor audit
Confirm vendor deliverables meet the contract before approving payment. Multi-vendor RFP responses scored on the same precise criteria.
Academic & research
Confirm a dataset is what it claims. Verify methodology compliance for journal submissions. Issue cryptographic proofs of submission integrity.
Compliance teams
Enforce brand-asset compliance across hundreds of suppliers without humans-in-the-loop. Every approval has an audit-grade certificate.
Marketplaces
Drop in our API at moderation time. Lift fraudulent listings before they ever reach a buyer. Reduce dispute volume by 60-80%.
Pricing that scales with you
- 5 verifications / month
- All agents · all params
- Signed certificates
- Public JWKS verification
- 100 verifications / month
- Email support
- Multi-model consensus
- 30-day result history
- 1,000 verifications / month
- Priority support
- Custom agent kinds
- 1-year result history
- Custom volume
- Dedicated agents in your account
- SLA + named contact
- SOC 2 reports on request
Get your API key
Two steps. Free tier active immediately. Cancel any paid tier from the dashboard.