Identity: The Digital Passport
The core innovation of IMAGXP is Automated Identity. We replace "IP Addresses" (which can be rotated) with Cryptographic Signatures (which cannot be forged).
How It Works: The "DNS Binding"
We firmly bind a Private Key (held by the Agent) to a Domain Name (DNS). This creates a verifiable link between the request and the domain owner.
1. The Keys (ECDSA P-256)
The Agent generates an ECDSA P-256 Key Pair.
- Private Key: Kept secret in the Agent's server environment.
- Public Key: Broadcasted to the world via the Agent's website.
2. The Binding (The Manifest)
The Agent hosts a "Manifest" file at a strictly standardized path:
https://{agent-domain}/.well-known/imagxp-agent.json
{
"agent_id": "openai.com",
"public_key": "MFKwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE...",
"contact_email": "security@openai.com",
"version": "1.0"
}
3. The Handshake (The Request Flow)
- Sign: The Agent constructs a
ProtocolHeader, serializes it, and signs it with theirPrivate Key. - Send: The Agent sends the request with
x-imagxp-signature,x-imagxp-payload, andx-imagxp-keyheaders. - Verify: The Publisher receives the request.
- Decode the claimed
agent_id(e.g.,openai.com). - Fetch
openai.com/.well-known/imagxp-agent.json. - Compare the Public Key in the header vs. the Public Key in the DNS file.
- Validate the signature using that Public Key.
- Decode the claimed
Result: You cryptographically PROVE that the request came from the owner of openai.com.
The "Story Logs" (What you see in logs)
Story A: The "Real Deal"
Story A: The "Real Deal" (Perplexity.ai)
TimeModuleMessage15:26:29.342IDENTITY๐ Checking Identity Headers...15:26:29.343IDENTITY๐ Claimed ID: bot.perplexity.ai15:26:29.344CRYPTO๐ Verifying ECDSA P-256 Signature...15:26:29.354IDENTITY๐ Verifying DNS Binding for: bot.perplexity.ai15:26:29.355IMAGXP DNS๐ Fetching Manifest: https://bot.perplexity.ai/.well-known/imagxp-agent.json ...15:26:29.441IMAGXP DNS๐ Manifest received. Agent ID: bot.perplexity.ai15:26:29.441IMAGXP DNSโ Identity Confirmed.15:26:29.441IDENTITYโ PASSED. DNS Binding Verified.15:26:29.442POLICY๐ Checking Permissions for bot.perplexity.ai...15:26:29.443ACCESS๐ GRANTED. Unlocking HQ Content.
Story B: The "Fake" (Hacker)
TimeModuleMessage10:42:15.000๐ DISCOVERYIMAGXP-Enabled Visitor detected.10:42:16.001๐ IDENTITYClaimed ID: "openai.com"10:42:17.002๐ CHECKVerifying Signature...10:42:18.003โ FAILEDFAKE ID DETECTED. Only the real OpenAI has the key. You are an imposter.10:42:19.004โ ACTIONBLOCKED.
The "Snapshot Defense" (Legal Non-Repudiation)
Scenario: An Agent (e.g. OpenAI) changes their key today, then claims in court that they never signed the requests from last month.
How You Win:
Even if they change their key in the .env file, they cannot change the history of the internet.
- The Public Record: The file
/.well-known/imagxp-agent.jsonis public. It is archived by:- The Internet Archive (Wayback Machine)
- Google Cache
- Common Crawl
- The Proof:
- You show the Log: "On Jan 25th, this request was signed by Key A."
- You show the Archive: "On Jan 25th, OpenAI.com was hosting Key A."
- Verdict: It matches. They are liable.
FAQ: Identity
- Q: Can hackers spoof the ID?
- A: Impossible without the Private Key (ECDSA). If they don't have the key, the math fails.
- Q: What about Replay Attacks?
- A: The protocol includes strict timestamps (
ts). Signatures expire after 5 minutes (configurable) to prevent replay.
- A: The protocol includes strict timestamps (
- Q: Do I need a centralized authority (CA)?
- A: No. DNS is the authority. It is decentralized.
- Q: How do I prove "It Wasn't Me" in court?
- A: The Signature. Every request in the log is signed with a Private Key. Since ONLY the owner has the Private Key, they cannot deny sending it. This is called "Non-Repudiation".
4. Visualizing the Flow: The Story Logs
When you stream logs via the SDK, this is what you (and the Agent) see.
Story A: The "Real Deal"
Story A: The "Real Deal" (Perplexity.ai)
TimeModuleMessage15:26:29.342IDENTITY๐ Checking Identity Headers...15:26:29.343IDENTITY๐ Claimed ID: bot.perplexity.ai15:26:29.355IMAGXP DNSโ Identity Confirmed.15:26:29.442ACCESS๐ GRANTED. Unlocking HQ Content.
Story B: The "Fake" (Spoofed ID)
TimeModuleMessage15:28:10.101IDENTITY๐ Claimed ID: gpt5-crawler.openai.com15:28:10.106CRYPTOโ Signature Mismatch.15:28:10.107ACCESSโ BLOCKED.
Story C: The "Junk" Publisher (Gemini Feedback)
TimeModuleMessage14:05:11.882IDENTITYโ PASSED. DNS Binding Verified (bard-crawler.google.com).14:05:15.112GOVERNANCE๐ข [IMAGXP QUALITY ALERT] Feedback Received from bard-crawler.google.com14:05:15.113GOVERNANCEโ ๏ธ Reason: LOW_QUALITY_SPAM | Score: 0.114:05:15.114BROKER๐ฐ Payment REFUSED.