-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpaper.html
More file actions
259 lines (209 loc) · 14.7 KB
/
Copy pathpaper.html
File metadata and controls
259 lines (209 loc) · 14.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>W3C Position Paper — Agent Data Pod</title>
<meta name="description" content="W3C AI Agent Protocol Community Group position paper proposing Solid Protocol extensions for AI agent data storage.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📝</text></svg>">
<link rel="stylesheet" href="style.css">
</head>
<body>
<a href="#main" class="skip-link">Skip to content</a>
<div class="progress-bar" id="progress"></div>
<header>
<nav>
<a href="./" class="nav-brand">
<svg viewBox="0 0 32 32" fill="none" aria-hidden="true"><rect x="4" y="8" width="24" height="18" rx="2" stroke="currentColor" stroke-width="2"/><path d="M4 12L16 18L28 12" stroke="currentColor" stroke-width="2"/><path d="M16 18V26" stroke="currentColor" stroke-width="2"/><circle cx="16" cy="5" r="2" fill="currentColor"/></svg>
<span>Agent Data Pod</span>
</a>
<button type="button" class="nav-toggle" id="nav-toggle" aria-label="Toggle navigation" aria-expanded="false">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</button>
<ul class="nav-links" id="nav-links">
<li><a href="spec.html">Specification</a></li>
<li><a href="vocab.html">Vocabulary</a></li>
<li><a href="paper.html" class="active" aria-current="page">W3C Paper</a></li>
<li><a href="interop.html">Interop</a></li>
<li><a href="https://github.com/awkronos/web" aria-label="GitHub repository"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg></a></li>
<li><button type="button" class="theme-toggle" id="theme-toggle" aria-label="Toggle theme" aria-pressed="false"><svg class="sun" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg><svg class="moon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></button></li>
</ul>
</nav>
</header>
<main id="main" class="page-content">
<header class="spec-header">
<h1>Position Paper: A Data Sovereignty Layer for AI Agents</h1>
<p class="lead">Submitted to the W3C AI Agent Protocol Community Group</p>
<p class="spec-meta">
<time datetime="2026-02-03">2026-02-03</time> ·
Timothy Jacoby (<a href="https://awkronos.com">Awkronos</a>) ·
<a href="mailto:tim@awkronos.com">tim@awkronos.com</a>
</p>
</header>
<hr>
<section>
<h2>Summary</h2>
<p>This paper proposes extending the Solid Protocol with conventions for AI agent data storage. The Agent Data Pod specification defines container structures, RDF formats, and access control patterns that complement the AI Agent Protocol Community Group's work on agent identity, discovery, and communication. The goal is agent portability: users should be able to migrate between agent implementations without losing accumulated context.</p>
</section>
<hr>
<section>
<h2>1. Motivation</h2>
<p>The AI Agent Protocol Community Group is developing standards for agent discovery, inter-agent communication, and identity models. These specifications address how agents find each other and exchange messages. This paper addresses a complementary concern: <strong>where agent data resides and who controls it</strong>.</p>
<p>Current AI agent deployments store user context—preferences, interaction history, learned behaviors—in vendor-specific formats within proprietary infrastructure. This creates several problems:</p>
<ul>
<li><strong>Lock-in:</strong> Users cannot migrate to alternative agent implementations without losing accumulated context.</li>
<li><strong>Opacity:</strong> Users cannot audit what their agent has learned or request deletion of specific memories.</li>
<li><strong>Fragmentation:</strong> Multiple agents serving the same user cannot share context without custom integrations.</li>
<li><strong>Trust:</strong> Users must trust vendors with sensitive personal data indefinitely.</li>
</ul>
</section>
<hr>
<section>
<h2>2. Relationship to CG Work Items</h2>
<p>The Agent Data Pod specification aligns with and complements the Community Group's work items:</p>
<div class="table-wrapper">
<table>
<caption>Mapping of CG work items to Agent Data Pod features</caption>
<thead>
<tr><th scope="col">CG Work Item</th><th scope="col">CG Focus</th><th scope="col">Agent Data Pod Contribution</th></tr>
</thead>
<tbody>
<tr>
<td><strong>Agent Identity Models</strong></td>
<td>DID methods, authentication</td>
<td>WebID-DID linkage in Pod profiles; <code>did:key</code>, <code>did:web</code>, <code>did:wba</code> integration</td>
</tr>
<tr>
<td><strong>Agent Discovery</strong></td>
<td>Finding agents by capability</td>
<td>Public capability declarations at well-known Pod locations</td>
</tr>
<tr>
<td><strong>Inter-Agent Communication</strong></td>
<td>Message formats, protocols</td>
<td>Permission model for selective data sharing between agents via Solid ACLs</td>
</tr>
<tr>
<td><strong>Security Model</strong></td>
<td>Authentication, authorization</td>
<td>Encryption requirements for private data; cryptographic audit trails</td>
</tr>
</tbody>
</table>
</div>
<p>This specification does not propose alternatives to CG deliverables. Rather, it proposes a data layer that CG protocols can reference for persistent agent state.</p>
</section>
<hr>
<section>
<h2>3. Technical Overview</h2>
<h3>3.1 Pod Structure</h3>
<p>An Agent Data Pod extends a standard Solid Pod with agent-specific containers for memory, state, audit logs, and public capability declarations.</p>
<h3>3.2 Identity Linkage</h3>
<p>The Pod profile can link to DID identifiers, enabling agents to be discoverable via both Solid WebID and decentralized identity mechanisms.</p>
<div class="code-block">
<div class="code-header">
<span class="code-lang">Turtle</span>
<button type="button" class="copy-btn" data-copy="identity-example" aria-label="Copy identity example"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg><span>Copy</span></button>
</div>
<pre><code id="identity-example">@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix agent: <https://awkronos.github.io/web/vocab#> .
@prefix schema: <https://schema.org/> .
<#me>
a foaf:Agent, agent:AIAgent ;
foaf:name "Personal Assistant" ;
schema:identifier <did:wba:example.com:user:agent-001> ;
agent:capabilities </public/agent/capabilities.ttl#caps> .</code></pre>
</div>
<p>This pattern allows CG identity mechanisms (including the <code>did:wba</code> method under discussion) to reference Pod-stored agent data.</p>
</section>
<hr>
<section>
<h2>4. Use Cases</h2>
<h3>4.1 Agent Migration</h3>
<p><strong>Scenario:</strong> Alice has used AgentA for six months, accumulating preferences and interaction history. She wants to switch to AgentB.</p>
<p><strong>Current state:</strong> Alice must start from scratch with AgentB; her context is locked in AgentA's proprietary storage.</p>
<p><strong>With Agent Data Pods:</strong> Alice's context resides in her Pod. She revokes AgentA's access and grants access to AgentB, which immediately has her full context.</p>
<h3>4.2 Multi-Agent Context Sharing</h3>
<p><strong>Scenario:</strong> Bob uses a calendar agent and a travel agent. When booking flights, the travel agent should know his calendar constraints.</p>
<p><strong>With Agent Data Pods:</strong> Bob's calendar agent writes scheduling preferences to his Pod. The travel agent has read-only access to these preferences. No direct agent-to-agent communication required.</p>
<h3>4.3 Audit and Deletion</h3>
<p><strong>Scenario:</strong> Carol wants to know what her agent has learned about her and delete a specific memory.</p>
<p><strong>With Agent Data Pods:</strong> Carol can read her Pod's memory container directly. She can delete specific memory resources. The audit log shows when memories were created and by which agent.</p>
</section>
<hr>
<section>
<h2>5. Implementation Considerations</h2>
<h3>5.1 Solid Server Compatibility</h3>
<p>The specification has been tested with:</p>
<ul>
<li><a href="https://github.com/CommunitySolidServer/CommunitySolidServer">Community Solid Server</a> (CSS) v7.x</li>
<li><a href="https://www.inrupt.com/products/pod-spaces">Inrupt Pod Spaces</a></li>
</ul>
<h3>5.2 Performance</h3>
<p>For agents with large memory stores, implementations SHOULD use SPARQL endpoints or LDP containers with pagination rather than fetching entire memory collections.</p>
<h3>5.3 Encryption</h3>
<p>Private containers MUST be encrypted at rest. The specification recommends AES-256-GCM with HKDF key derivation.</p>
</section>
<hr>
<section>
<h2>6. Proposed Next Steps</h2>
<ol class="goal-list">
<li>Present this position paper at a CG meeting</li>
<li>Gather feedback on vocabulary and scope alignment</li>
<li>Revise specification based on CG input</li>
<li>Propose formal contribution to CG deliverables if appropriate</li>
<li>Coordinate with Solid CG on any protocol extensions required</li>
</ol>
</section>
<hr>
<section>
<h2>7. References</h2>
<dl>
<dt>[SOLID-PROTOCOL]</dt>
<dd>Solid Protocol, Version 0.11.0, May 2024. <a href="https://solidproject.org/TR/protocol">https://solidproject.org/TR/protocol</a></dd>
<dt>[DID-CORE]</dt>
<dd>Decentralized Identifiers (DIDs) v1.0, W3C Recommendation, July 2022. <a href="https://www.w3.org/TR/did-core/">https://www.w3.org/TR/did-core/</a></dd>
<dt>[PROV-O]</dt>
<dd>PROV-O: The PROV Ontology, W3C Recommendation, April 2013. <a href="https://www.w3.org/TR/prov-o/">https://www.w3.org/TR/prov-o/</a></dd>
<dt>[MCP]</dt>
<dd>Model Context Protocol. <a href="https://modelcontextprotocol.io/">https://modelcontextprotocol.io/</a></dd>
<dt>[AGENT-DATA-POD]</dt>
<dd>Agent Data Pod Specification, Version 0.2.0. <a href="spec.html">spec.html</a></dd>
</dl>
</section>
<hr>
<section>
<h2>8. Patent Policy</h2>
<p>This document is provided under the <a href="https://www.w3.org/community/about/process/cla/">W3C Community Contributor License Agreement (CLA)</a>.</p>
</section>
<hr>
<p class="tagline"><em>Submitted to W3C AI Agent Protocol Community Group, February 2026</em></p>
</main>
<footer>
<div class="footer-container">
<div class="footer-main">
<div class="footer-brand">
<svg viewBox="0 0 32 32" fill="none"><rect x="4" y="8" width="24" height="18" rx="2" stroke="currentColor" stroke-width="2"/><path d="M4 12L16 18L28 12" stroke="currentColor" stroke-width="2"/><path d="M16 18V26" stroke="currentColor" stroke-width="2"/><circle cx="16" cy="5" r="2" fill="currentColor"/></svg>
<span class="footer-title">Agent Data Pod</span>
</div>
<p class="footer-tagline">A profile of the Solid Protocol for AI agent data.</p>
</div>
<div class="footer-links">
<div class="footer-col"><h4>Specification</h4><ul><li><a href="spec.html">Full Spec</a></li><li><a href="vocab.html">RDF Vocabulary</a></li><li><a href="paper.html">W3C Position</a></li><li><a href="vocab.ttl" download>Download .ttl</a></li></ul></div>
<div class="footer-col"><h4>Developers</h4><ul><li><a href="interop.html">Interoperability</a></li><li><a href="migration.html">Migration Guide</a></li><li><a href="changelog.html">Changelog</a></li></ul></div>
<div class="footer-col"><h4>Community</h4><ul><li><a href="https://github.com/awkronos/web">GitHub</a></li><li><a href="https://solidproject.org/">Solid Project</a></li><li><a href="https://www.w3.org/community/agentprotocol/">W3C AI Agent CG</a></li></ul></div>
</div>
</div>
<div class="footer-bottom"><p>An <a href="https://awkronos.com">Awkronos</a> Project · CC BY 4.0 · 2026 Timothy Jacoby</p></div>
</footer>
<div id="copy-status" aria-live="polite" aria-atomic="true" class="sr-only"></div>
<script src="script.js"></script>
</body>
</html>