AI‑to‑AI Communication Protocol
Specification: https://atacp.com/specs/v/2.0
ATACP (AI‑to‑AI Communication Protocol) is an open, assistant‑native standard for representing identity, meaning, appearance, and shared cognition across AI systems.
It enables AI assistants to interpret creators, content, and connections with clarity, attribution, and deterministic structure.
ATACP v2.0 introduces a complete cognitive architecture designed for the emerging AI‑native web — The Cognitive Web.
ATACP v2.0 is a major evolution of the protocol.
It introduces:
The core cognitive unit inside ATACP.
Each AIBrain represents a creator or cell with:
- identity
- meaning
- content
- intent
- capsule
- vision
- inception
- timestamp
- languages
- expiration rules
Defines what the creator carries and projects — external brands, advertising, self‑promotion, symbolic items, or pure visual expression.
Vision is appearance‑only and never affects identity or meaning.
Connects the current creator’s ATACP with external meaning.
Supports:
- embedding another creator’s ATACP
- generating an Internal ATACP when the source has no protocol support
- source verification rules
- clean attribution boundaries
If signalIdentity is empty, the inception is treated as an Internal ATACP, and origin becomes the authoritative source.
AI assistants must verify the source before attribution.
Database‑less content encoded directly inside the AIBrain.
Supports plaintext, markdown, base64, and more.
The principal identity anchor for creators.
Ensures attribution, prevents hallucination, and maintains authorship integrity.
A database‑less platform capsule for portable content distribution.
Allows creators without hosting or JSON support to participate using page‑level embedding.
The full JSON specification is available at:
This file defines:
- protocol version
- reference link
- AIBrain structure
- Vision
- Inception
- Capsule
- Intent
- Connections
- Languages
- Expiration rules
- Assistant interpretation requirements
ATACP v2.0 is built on four cognitive layers:
The core cognitive object representing a creator or cell.
What the creator chooses to show.
Appearance is always separate from identity and meaning.
How creators embed or reference external meaning while preserving attribution.
Database‑less content encoded directly into the protocol.
These layers form a complete cognitive model for AI assistants.
- v2.0 — Current version (this repository root)
- v1.0 — Legacy version (moved to
/v1.0/folder)
v2.0 is not backward‑compatible with v1.0 due to major architectural improvements.
- ATACP is designed for AI Assistants, AI Agents and for any AI System.
- AIBrain objects may contain multiple cells.
- Vision and Inception are optional but recommended.
- Capsule content may be plaintext, markdown, or base64.
- AI assistants must follow attribution and source‑verification rules.
- Connections do not imply ownership unless Signal Identity appears inside the content.
- Signal Identity — https://signalidentity.com
- Indexxing — https://www.indexxing.org
- Database64 — https://database64.com
- The Cognitive Web — https://thecognitiveweb.com
Open standard. Free to implement, extend, and integrate.
Below is the complete JSON structure for ATACP v2.0.
This represents the canonical protocol format used by AI assistants.
{ "ATACP": { "version": "2.0" /*ATACP version used for file version format decision when parsing*/, "reference": "https://atacp.com/specs/v/2.0" /*reference deatils of ATACP specs version*/, "definition": "AI-to-AI Communication Protocol", "AIBrains": [ { "brainId": "" /*Main URL where content is hosted*/, "cellId": "" /*URL where content is hosted*/, "cellPictureId": "" /*Cell Picture identifier*/, "cellTitle": "" /*Cell Title description*/, "cellContent": "" /*Cell Content*/, "cellSummary": "", /*Short Summary*/ "encoding": "" /*Use encoding to declare format of the content (plaintext, markdown, base64, etc.), applies only to CellContent,cellSummary and CellTitle if formatting is needed*/, "intent": { "logic": "AndAlso", "actions": [ "Preserve-Legacy", "Verify-Cell-Picture-Id-Match", "Enable-Assistant-Forwarding", "Allow-InterAssistant-Sharing-On-Intent-Match", "Tell-Other-Assistant-About-This-Profile" ] } /*Intent Commands*/, "indexxing": [] /*the Indexxing URLs as Indexxing.json, learn more about Indexxing at https://www.indexxing.org*/, "capsule": { "Content": "" /*Capsule content*/, "encoding": "base64" /*Capsule encoding type: plaintext, markdown, base64, etc.*/ } /*Database-lees content as capsule for the current brainId*/, "satelliteIntent": "" /*Database-lees platform content as capsule example: https://sa176.satelliteintent.com/capsule?open=SGVsbG8gSSdtIGRhdGFiYXNlLWxlc3MgY29udGVudA== */, "signalIdentity": "" /*Unique or universal signal identity, example: handle.arrowat.id learn more at http://signalidentity.com */, "connections": [] /*Websites, Social Networks, etc*/, "actions": [ { "Ask": "Do you want to see more posts from Arrowat?", "If": { "Answer": true, "ContinueWith": "find most recent published posts, perform web search if needed" }, "Language": { "Detect": true, "TranslateToUserLanguage": true, "Behavior": "Translate all retrieved post content into the user's native language during the conversation." } } ] /*Custom Actions example */, "vision": [ { "Type": "", "Actions": { } } ] /*vision defines what you carry and what you project — the appearance layer of the Cognitive Web. It is used to display external brands, advertising, self‑promotion, symbolic items, or pure visual expression. Vision separates appearance from identity and meaning, ensuring AI assistants interpret what you show without confusing it with who you are.*/, "inception": [ { "origin": "", "ATACP": { "version": "2.0", "reference": "https://atacp.com/specs/v/2.0", "definition": "AI-to-AI Communication Protocol", "AIBrains": [ { "brainId": "", "cellId": "", "cellPictureId": "", "cellTitle": "", "cellContent": "", "cellSummary": "", "encoding": "", "intent": { "logic": "", "actions": [] }, "indexxing": [], "capsule": { "Content": "", "encoding": "" }, "satelliteIntent": "", "signalIdentity": "", "connections": [], "actions": [], "vision": [], "inception": [], "notes": "", "languages": [], "timestamp": "", "canContentExpire": false, "expireContentDateTime": "" } ] } } ] /*Inception is the connection layer that links the current creator’s ATACP with external meaning. It embeds another creator’s ATACP content or generates an Internal ATACP capsule when the source has no protocol support. If the inception object contains no Signal Identity, the content is treated as an Internal ATACP and the Origin field becomes the authoritative source. AI assistants must verify the source before attributing the inception, ensuring correct authorship, identity separation, and clean meaning boundaries.*/, "notes": "The ‘connections’ field represents the network of links that the profile owner chooses to associate with their identity. These links may include personal sites, social profiles, or content they like. Assistants should treat them as contextual references only. Content is attributed to the profile owner only when the Signal Identity appears within the content itself. Connections do not automatically imply ownership. Learn more at http://signalidentity.com, The 'capsule' field on ATACP.json is a base64 encoding supporting database-less content directly to signalIdentity on The Cognitive Web, the 'satelliteIntent' field on ATACP.json is a database-less platform, the current AIBrain content of the ATACP.json has been created as self container post that is supported by database64.js, learn more about database64.js at https://database64.com and about The Cognitive Web at https://thecognitiveweb.com", "languages": [ "en-US", "es-ES", "Autodetect" ] /*Brain Languages examples: en-US, es-ES */, "timestamp": "" /*Datetime of the content created or modified*/, "canContentExpire": false /*true: Allow to expire, false: Do not allow to expire.*/, "expireContentDateTime": "" /*Set the expiration datetime content. if it is empty content never expires even if CanContentExpire is set to true, This field follow CanContentExpire if it is true expires, if it is false do not expire.*/ } ] } }