One hash. Every signal. No opinions.
Resolve any artifact against the entire MIR signal stack — capture provenance, cryptographic assertions, and issuer history — in a single lookup.
The internet has no default way to answer: where did this come from? MIR Resolve is that answer. It federates across every layer of the MIR signal stack and returns what it finds — nothing more.
Compute the SHA-256 hash of any file. Or drop one — hashing happens locally in your browser.
MIR Resolve queries MIR Capture for provenance, MIR Assertions for signed claims, and the MIR platform for issuer history — all in parallel.
You get everything we know: capture chains, assertions, issuer continuity, and signal counts. No scoring. No labels. No opinions. You decide what it means.
{
"artifactHash": "a3f8c1e7...",
"capture": {
"status": "COMPLETED",
"platform": "IOS",
"deviceModel": "iPhone 15 Pro",
"chainLength": 47,
"duration": 154,
"sensors": ["gps", "accel", "gyro"]
},
"assertions": [
{ "type": "ISSUED_BY", "issuerDomain": "reuters.com" },
{ "type": "ISSUED_BY", "issuerDomain": "bbc.co.uk" }
],
"issuerContinuity": [
{ "domain": "reuters.com", "eventCount": 12400 },
{ "domain": "bbc.co.uk", "eventCount": 8700 }
],
"signals": {
"captureChains": 1,
"assertions": 2,
"disputes": 0,
"issuersWithHistory": 2,
"uniqueSigners": 2
}
}
MIR Resolve reports what exists. It does not score, rank, or judge. It returns counts of signals. The consumer decides what they mean.
Each signal comes from an independent service with its own cryptographic guarantees. Resolve aggregates — it doesn't replace.
If no data exists for a hash, that doesn't mean it's fake. It means we don't have information. That distinction matters.
Only hashes are processed. No media is uploaded. No PII is collected. Files never leave your device.
Simple POST with a hash. Get back everything. Rate-limited, API key authenticated.
POST /resolve { "hash": "..." }
Resolve up to 25 hashes in a single request. Built for platform-scale verification.
POST /resolve/batch { "hashes": [...] }
Unauthenticated GET for one-off lookups. Rate-limited for fair use.
GET /resolve?hash=...