<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Privacy on Scaling Trust Community</title><link>https://scalingtrust.org.uk/tags/privacy/</link><description>Recent content in Privacy on Scaling Trust Community</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 26 Aug 2026 10:00:00 +0100</lastBuildDate><atom:link href="https://scalingtrust.org.uk/tags/privacy/index.xml" rel="self" type="application/rss+xml"/><item><title>Without Intermediaries</title><link>https://scalingtrust.org.uk/blog/without-intermediaries/</link><pubDate>Wed, 26 Aug 2026 10:00:00 +0100</pubDate><guid>https://scalingtrust.org.uk/blog/without-intermediaries/</guid><description>Where new intermediaries are emerging in the age of AI, why their power could be systemically dangerous even in careful hands, and how, by keeping that power checkable and contestable, we might reap AI&amp;rsquo;s benefits without surrendering pluralism, privacy or safety.</description><content:encoded><![CDATA[<link rel=stylesheet href=diagrams.css>
<p>AI could be an incredibly positive force for humanity, compressing decades of research into months, putting services once unattainable to most within everyone&rsquo;s reach, and <a href="https://www.darioamodei.com/essay/machines-of-loving-grace" target="_blank" rel="noopener noreferrer">so much more</a>
. It could also be used as the ultimate information control technology, increasing surveillance, facilitating power concentration, and foreclosing the pluralism that lets societies thrive.</p>
<p>Much of this information control is exercised through intermediaries: the individuals, institutions and systems that sit between people and what they want to do. This post maps where new intermediaries are emerging in the age of AI, why their power could be systemically dangerous even in careful hands, and how, by keeping that power checkable and contestable, we might reap AI&rsquo;s benefits without surrendering pluralism, privacy or safety.</p>
<p><span class="companion"><em>This post serves as a companion piece to the Scaling Trust <a href="https://aria.org.uk/media/dkhlumky/scaling-trust-programme-thesis.pdf" target="_blank" rel="noopener noreferrer">programme thesis</a>
, to motivate and explain what we are funding and why we care about it.</em></span></p>
<h3 id="information-control">Information control</h3>
<p>Information control includes both surveillance (observation, tracking, collection) and influence (manipulation, shaping).<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
<p>Intermediaries are a main point of information control. They often provide a valuable service, and exist due to economic, legal or safety realities of the environments they exist in. For example: payment networks leverage economies of scale to give better prices; notaries and registries certify who owns what; and brokers and pharmacists screen what reaches people before it can hurt them.</p>
<p>This post is particularly concerned with intermediaries whose operations or integrity cannot be easily verified by users in real time. Instead, users must rely on reputation, credentials, or legal recourse to address any misconduct ex-post.</p>
<p>Artificial intelligence stands to make intermediaries more powerful due to its information dynamics: (1) AI is more useful the more context it has, creating strong incentives for people to share increasingly sensitive information; (2) AI has unprecedented capabilities to interpret that information and act on it. This is accelerated by market forces: competitive pressures simultaneously push companies to collect more data in order to stay relevant as a business (e.g. to facilitate automation), and push users to share more with their AI tools to avoid falling behind those who do.</p>
<figure class="diagram wide">
<svg viewBox="0 0 880 320" role="img" aria-label="A windmill spinning between two labels joined in a loop: sharing more data with AI, and AI is more useful. Gusts labelled market forces blow into the sails. With every turn of the loop the whole mill grows larger before starting again, and it is labelled: whoever controls the data">
<text x="170" y="162" class="slbl" text-anchor="middle">sharing more data with AI</text>
<text x="710" y="162" class="slbl" text-anchor="middle">AI is more useful</text>
<g stroke="#2a2a3a" stroke-width="1.1" fill="none" opacity=".65">
<path d="M 250 142 C 320 60 560 60 630 142" marker-end="url(#arrm)"/>
<path d="M 630 178 C 560 275 320 275 250 178" marker-end="url(#arrm)"/></g>
<text x="18" y="26" class="slbl">market forces</text>
<g class="windg"><path d="M 15 44 C 160 36 280 62 400 112"/></g>
<g class="windg" style="animation-delay:.4s"><path d="M 10 72 C 140 60 270 88 394 132"/></g>
<g class="windg" style="animation-delay:.8s"><path d="M 5 102 C 150 94 270 116 388 152"/></g>
<polygon points="330,272 550,272 530,196 350,196" fill="#ebe4d0" stroke="#bbb5a0" stroke-width=".6"/>
<g stroke="#d2cab2" stroke-width=".4" fill="none" opacity=".7">
<line x1="342" y1="234" x2="538" y2="234"/>
<line x1="403" y1="196" x2="396" y2="272"/><line x1="477" y1="196" x2="484" y2="272"/></g>
<ellipse cx="440" cy="268" rx="26" ry="5" fill="#3a3a78" opacity=".08"/>
<g transform="translate(440,266)"><g class="millgrow">
<rect x="-60" y="-140" width="120" height="140" fill="none" stroke="none"/>
<polygon points="-12,0 12,0 6,-80 -6,-80" fill="#f7f4ea" stroke="#4a4a46" stroke-width="1.2"/>
<path d="M -4 0 v -9 a 4 4 0 0 1 8 0 v 9 Z" fill="#2a2a3a"/>
<circle cx="0" cy="-51" r="2.4" fill="#09f" stroke="#4a4a46" stroke-width=".6"/>
<g transform="translate(0,-88)"><g class="sails">
<g><rect x="-4.5" y="-48" width="9" height="40" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><line x1="-4.5" y1="-38" x2="4.5" y2="-38" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-28" x2="4.5" y2="-28" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-18" x2="4.5" y2="-18" stroke="#4a4a46" stroke-width=".6"/><line x1="0" y1="-8" x2="0" y2="-48" stroke="#4a4a46" stroke-width=".6"/></g>
<g transform="rotate(90)"><rect x="-4.5" y="-48" width="9" height="40" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><line x1="-4.5" y1="-38" x2="4.5" y2="-38" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-28" x2="4.5" y2="-28" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-18" x2="4.5" y2="-18" stroke="#4a4a46" stroke-width=".6"/><line x1="0" y1="-8" x2="0" y2="-48" stroke="#4a4a46" stroke-width=".6"/></g>
<g transform="rotate(180)"><rect x="-4.5" y="-48" width="9" height="40" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><line x1="-4.5" y1="-38" x2="4.5" y2="-38" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-28" x2="4.5" y2="-28" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-18" x2="4.5" y2="-18" stroke="#4a4a46" stroke-width=".6"/><line x1="0" y1="-8" x2="0" y2="-48" stroke="#4a4a46" stroke-width=".6"/></g>
<g transform="rotate(270)"><rect x="-4.5" y="-48" width="9" height="40" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><line x1="-4.5" y1="-38" x2="4.5" y2="-38" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-28" x2="4.5" y2="-28" stroke="#4a4a46" stroke-width=".6"/><line x1="-4.5" y1="-18" x2="4.5" y2="-18" stroke="#4a4a46" stroke-width=".6"/><line x1="0" y1="-8" x2="0" y2="-48" stroke="#4a4a46" stroke-width=".6"/></g>
</g><circle cx="0" cy="0" r="4" fill="#2a2a3a"/></g>
</g></g>
<text x="440" y="290" class="ssub" text-anchor="middle">whoever controls the data</text>
<defs><marker id="arrm" markerWidth="8" markerHeight="8" refX="5" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 z" fill="#2a2a3a"/></marker></defs>
</svg>
<figcaption><strong>Figure 1:</strong> the flywheel</figcaption>
</figure>
<h3 id="powerful-intermediaries">Powerful intermediaries</h3>
<p>Intermediaries have repeatedly abused positions of trust for their own benefit. For example, regulators have found mobile carriers selling access to customers&rsquo; location data,<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> and banks manipulating the benchmark rate (LIBOR) they were trusted to report.<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup> However, beyond abuses of power, the trend of increasing information control within intermediaries causes systemic risks:</p>
<p><strong>Power concentration faster than it can be checked.</strong> Information is power.<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup> Controlling information used to be slower, and harder; AI speeds it up. One might say this is fine as long as the &lsquo;good guys&rsquo; are in power, using their control to protect us, and with their actions checked by the people.<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup> But power changes hands: the tools built by and for the benevolent intermediary could soon be in the hands of reckless ones. Our constitutional mechanics to keep them in check may not be robust or rapid enough to keep pace.</p>
<p><strong>Monoculture.</strong> Surveillance and influence both have a chilling effect on society. People who know they&rsquo;re being watched behave differently. People whose information comes from the same few sources slowly come to think the same way. A society under permanent visibility, or whose preferences are shaped by a few parties, slowly stops producing dissidents.<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup><sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup> This might seem fine at first, but it is often through dissidents that we discover new things. Dissent is one of society&rsquo;s error-correction mechanisms. Many ideas we now hold as obvious &ndash; that the Earth revolves around the Sun, that women should vote &ndash; each began as a deviant one.</p>
<figure class="diagram">
<svg viewBox="0 0 640 230" role="img" aria-label="Two panels of forty dots each, on a loop. Left, with dissidents: one dot at the edge turns blue -- a deviant idea -- and the colour spreads dot by dot until the whole field has changed. Right, under a watching eye, a society watched or preference-shaped: a dot flickers blue at the edge and fades before it can spread; the field never changes">
<text x="152" y="30" class="slbl" text-anchor="middle">with dissidents</text>
<text x="152" y="44" class="ssub" text-anchor="middle">a deviant idea becomes the next common sense</text>
<text x="490" y="30" class="slbl" text-anchor="middle">under watch</text>
<text x="490" y="44" class="ssub" text-anchor="middle">watched, or preference-shaped: nothing deviant spreads</text>
<g transform="translate(490,70) scale(0.85)" opacity="0.9"><path d="M -16 0 Q 0 -11 16 0 Q 0 11 -16 0 Z" fill="#f7f4ea" stroke="#2a2a3a" stroke-width="1.3"/><circle cx="0" cy="0" r="3.5" fill="#2a2a3a" class="pupil"/></g>
<line x1="320" y1="22" x2="320" y2="210" stroke="#ccc" stroke-dasharray="4 5"/>
<circle cx="60" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.80s"/>
<circle cx="386" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="61" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.40s"/>
<circle cx="387" cy="125" r="5" fill="#2a2a3a" class="flick" style="animation-delay:0.0s"/>
<circle cx="62" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.00s"/>
<circle cx="388" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="63" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.40s"/>
<circle cx="389" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="64" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.80s"/>
<circle cx="390" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="88" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.89s"/>
<circle cx="414" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="89" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.57s"/>
<circle cx="415" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="90" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.40s"/>
<circle cx="416" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="86" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.57s"/>
<circle cx="412" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="87" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.89s"/>
<circle cx="413" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="116" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.13s"/>
<circle cx="442" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="112" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.89s"/>
<circle cx="438" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="113" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.80s"/>
<circle cx="439" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="114" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:0.89s"/>
<circle cx="440" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="115" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.13s"/>
<circle cx="441" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="139" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.44s"/>
<circle cx="465" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="140" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.26s"/>
<circle cx="466" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="141" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.20s"/>
<circle cx="467" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="142" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.26s"/>
<circle cx="468" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="138" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.44s"/>
<circle cx="464" cy="196" r="5" fill="#2a2a3a" class="flick" style="animation-delay:9.3s"/>
<circle cx="167" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.79s"/>
<circle cx="493" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="168" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.65s"/>
<circle cx="494" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="164" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.60s"/>
<circle cx="490" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="165" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.65s"/>
<circle cx="491" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="166" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:1.79s"/>
<circle cx="492" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="190" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.15s"/>
<circle cx="516" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="191" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.04s"/>
<circle cx="517" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="192" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.00s"/>
<circle cx="518" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="193" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.04s"/>
<circle cx="519" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="194" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.15s"/>
<circle cx="520" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="218" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.53s"/>
<circle cx="544" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="219" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.43s"/>
<circle cx="545" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="220" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.40s"/>
<circle cx="546" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="216" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.43s"/>
<circle cx="542" cy="174" r="5" fill="#2a2a3a"/>
<circle cx="217" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.53s"/>
<circle cx="543" cy="196" r="5" fill="#2a2a3a"/>
<circle cx="246" cy="98" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.91s"/>
<circle cx="572" cy="98" r="5" fill="#2a2a3a"/>
<circle cx="242" cy="125" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.83s"/>
<circle cx="568" cy="125" r="5" fill="#2a2a3a"/>
<circle cx="243" cy="147" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.80s"/>
<circle cx="569" cy="147" r="5" fill="#2a2a3a"/>
<circle cx="244" cy="174" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.83s"/>
<circle cx="570" cy="174" r="5" fill="#2a2a3a" class="flick" style="animation-delay:4.7s"/>
<circle cx="245" cy="196" r="5" fill="#2a2a3a" class="adopt" style="animation-delay:2.91s"/>
<circle cx="571" cy="196" r="5" fill="#2a2a3a"/>
</svg>
<figcaption><strong>Figure 2:</strong> the deviant-idea cascade</figcaption>
</figure>
<p><strong>Path of least resistance.</strong> Control is often convenient for whoever holds it, and centralised data collection is technically easier than decentralised alternatives. History has plenty of examples of the ‘easier’ route being taken, from the backdoored Clipper chip of the 90s crypto wars to the blanket data-retention laws of the 2000s.<sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup> Surveillance and influence tend to arrive by default and short-term pragmatism, rather than by design.</p>
<p>Together, these dynamics risk eroding the values behind liberal democratic constitutions: individual liberty, pluralism, credible constraints on power.<sup id="fnref:9"><a href="#fn:9" class="footnote-ref" role="doc-noteref">9</a></sup></p>
<h3 id="information-must-flow-five-layers">Information must flow: five layers</h3>
<p>One way to zero in on the problem is to examine how information flows within the AI stack, and where new intermediaries emerge. Consider these five layers:</p>
<ul>
<li><strong>Applications &amp; agents</strong> &ndash; the interfaces, harnesses, and agents through which users share prompts, files, preferences and actions.</li>
<li><strong>Inference &amp; serving</strong> &ndash; the infrastructure that serves models and processes queries, responses and associated metadata.</li>
<li><strong>Models</strong> &ndash; the weights in which patterns learned from training data are encoded.</li>
<li><strong>Training</strong> &ndash; the processes that select and transform web data, licensed material, synthetic data, and user interactions into model capabilities.</li>
<li><strong>Hardware</strong> &ndash; the chips and datacentres on which the rest of the stack depends.</li>
</ul>
<p>Application and agent providers sit between users and their digital lives: they can observe our intentions, files and actions, and influence which options are presented or pursued. Model and inference providers sit between those applications and intelligence: they can retain interactions, determine how models behave, and decide which capabilities are available to whom. Cloud and hardware providers sit further upstream, between model developers and compute. They may see little user information directly, but they can determine who is able to build or operate powerful systems, and on what terms. These layers allow for different forms of control &ndash; surveillance, influence and gatekeeping.</p>
<figure class="diagram wide">
<svg viewBox="0 0 720 460" role="img" aria-label="The AI stack as five isometric slabs -- applications and agents, inference and serving, models, training, hardware -- with blue data packets flowing from you down through every layer. Left of each layer, in blue, what it sees of you: prompts, files, preferences and actions; queries, responses and metadata, possibly retained; patterns from your data, encoded into the weights; web data, licensed material, synthetic data and user interactions; little of you directly, compute telemetry. Right of each layer, in ink, what its operator can decide: which options are presented or pursued, which capabilities are available and to whom, how the model behaves and which viewpoints get amplified, what gets selected and transformed into model capabilities, who can build or operate powerful systems and on what terms">
<rect x="24" y="24" width="8" height="8" fill="#0099ff"/>
<text x="37" y="32" class="ssub">your data</text>
<ellipse cx="390" cy="62" rx="11" ry="3" fill="#3a3a78" opacity=".08"/>
<g transform="translate(390,60) scale(0.85)" stroke="#2a2a3a" stroke-width="1.6" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g>
<text x="404" y="40" class="ssub">you</text>
<text x="252" y="84" class="slbl" text-anchor="end" style="fill:#0099ff">what the layer sees</text>
<text x="252" y="98" class="ssub" text-anchor="end">surveillance</text>
<text x="516" y="84" class="slbl">what its operator can decide</text>
<text x="516" y="98" class="ssub">influence &amp; gatekeeping</text>
<path id="imflow" d="M 390 66 V 428" fill="none" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<polygon points="290,120 316,107 496,107 470,120" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,120 496,107 496,139 470,152" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="120" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="141" class="slbl">applications &amp; agents</text>
<text x="50" y="132" class="sdata">prompts, files,</text>
<text x="50" y="145" class="sdata">preferences &amp; actions</text>
<text x="516" y="132" class="schk">which options are presented,</text>
<text x="516" y="145" class="schk">which get pursued</text>
<polygon points="290,190 316,177 496,177 470,190" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,190 496,177 496,209 470,222" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="190" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="211" class="slbl">inference &amp; serving</text>
<text x="50" y="202" class="sdata">queries, responses, metadata --</text>
<text x="50" y="215" class="sdata">possibly retained</text>
<text x="516" y="202" class="schk">which capabilities are</text>
<text x="516" y="215" class="schk">available, and to whom</text>
<polygon points="290,260 316,247 496,247 470,260" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,260 496,247 496,279 470,292" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="260" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="281" class="slbl">models</text>
<text x="50" y="272" class="sdata">patterns from your data,</text>
<text x="50" y="285" class="sdata">encoded into the weights</text>
<text x="516" y="272" class="schk">how the model behaves, which</text>
<text x="516" y="285" class="schk">viewpoints get amplified</text>
<polygon points="290,330 316,317 496,317 470,330" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,330 496,317 496,349 470,362" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="330" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="351" class="slbl">training</text>
<text x="50" y="342" class="sdata">web data, licensed material,</text>
<text x="50" y="355" class="sdata">synthetic data, user interactions</text>
<text x="516" y="342" class="schk">what gets selected &amp; transformed</text>
<text x="516" y="355" class="schk">into model capabilities</text>
<polygon points="290,400 316,387 496,387 470,400" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,400 496,387 496,419 470,432" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="400" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="421" class="slbl">hardware</text>
<text x="50" y="412" class="sdata">little of you directly --</text>
<text x="50" y="425" class="sdata">compute telemetry</text>
<text x="516" y="412" class="schk">who can build or operate powerful</text>
<text x="516" y="425" class="schk">systems, and on what terms</text>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="0s" repeatCount="indefinite"><mpath href="#imflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="1.3s" repeatCount="indefinite"><mpath href="#imflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="2.6s" repeatCount="indefinite"><mpath href="#imflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="3.9s" repeatCount="indefinite"><mpath href="#imflow"/></animateMotion></circle></g>
</svg>
<figcaption><strong>Figure 3:</strong> where the new intermediaries sit</figcaption>
</figure>
<p>Today these seeing and decision-making roles increasingly sit within connected corporate ecosystems, creating chains of intermediaries whose power compounds across the stack. The Mythos export control episode<sup id="fnref:10"><a href="#fn:10" class="footnote-ref" role="doc-noteref">10</a></sup> showed how such a control point can be exercised: a government directive to one model provider caused access to a general-purpose capability to disappear worldwide. These intermediaries already shape not only what people see, but what they can do. As agents are entrusted with more of our economic and social activity, that control will extend further into the world.</p>
<h3 id="two-responses-verifiability-and-plurality">Two responses: verifiability and plurality</h3>
<p>At each layer, there are two complementary responses. The first is to make power more transparent and verifiable, so that institutions and citizens can check it. The second is to create technologically and economically credible alternatives; this response enables plurality across the stack, and enables people to exit when those checks fail. One constrains power; the other distributes it.</p>
<figure class="diagram">
<svg viewBox="0 0 680 380" role="img" aria-label="Two worlds. Left, if the layers stay closed: five houses stream blue data dots into two padlocked towers, each tower being all five layers of the stack fused into one block. Right, if the layers open up: the same five layers become shelves holding many small teal parts, some carrying ink check-seals meaning they can be verified, and two houses each trace their own blue path up the shelves, composing different stacks from different parts">
<text x="165" y="30" class="slbl" text-anchor="middle">if the layers stay closed</text>
<text x="165" y="44" class="ssub" text-anchor="middle">a few fused towers -- everyone routes through them</text>
<text x="500" y="30" class="slbl" text-anchor="middle" style="fill:#00b2a1">if the layers open up</text>
<text x="500" y="44" class="ssub" text-anchor="middle">every layer becomes a shelf of parts -- compose your own</text>
<g transform="translate(392,57) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="402" y="61" class="stiny">= checkable</text>
<polygon points="470,58 474,55 490,55 486,58" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".8"/>
<rect x="470" y="58" width="16" height="6" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".8"/>
<text x="492" y="64" class="stiny">= an alternative</text>
<line x1="320" y1="24" x2="320" y2="360" stroke="#ccc" stroke-dasharray="4 5"/>
<line x1="42" y1="112" x2="144.0" y2="221.5" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.5" fill="#0099ff"><animateMotion dur="3s" begin="0.0s" repeatCount="indefinite" path="M 42 112 L 144.0 221.5"/></circle></g>
<line x1="160" y1="80" x2="144.0" y2="221.5" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.5" fill="#0099ff"><animateMotion dur="3s" begin="0.4s" repeatCount="indefinite" path="M 160 80 L 144.0 221.5"/></circle></g>
<line x1="284" y1="108" x2="248.5" y2="190.0" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.5" fill="#0099ff"><animateMotion dur="3s" begin="0.8s" repeatCount="indefinite" path="M 284 108 L 248.5 190.0"/></circle></g>
<line x1="38" y1="228" x2="144.0" y2="221.5" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.5" fill="#0099ff"><animateMotion dur="3s" begin="1.2s" repeatCount="indefinite" path="M 38 228 L 144.0 221.5"/></circle></g>
<line x1="292" y1="262" x2="248.5" y2="190.0" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.5" fill="#0099ff"><animateMotion dur="3s" begin="1.6s" repeatCount="indefinite" path="M 292 262 L 248.5 190.0"/></circle></g>
<polygon points="95,280 109,273 193,273 179,280" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="179,280 193,273 193,288 179,295" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="95" y="280" width="84" height="15" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="95,264 109,257 193,257 179,264" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="179,264 193,257 193,272 179,279" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="95" y="264" width="84" height="15" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="95,248 109,241 193,241 179,248" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="179,248 193,241 193,256 179,263" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="95" y="248" width="84" height="15" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="95,232 109,225 193,225 179,232" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="179,232 193,225 193,240 179,247" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="95" y="232" width="84" height="15" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="95,216 109,209 193,209 179,216" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="179,216 193,209 193,224 179,231" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="95" y="216" width="84" height="15" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<polygon points="210,238 221,233 287,233 276,238" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="276,238 287,233 287,245 276,250" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="210" y="238" width="66" height="12" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="210,225 221,220 287,220 276,225" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="276,225 287,220 287,232 276,237" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="210" y="225" width="66" height="12" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="210,212 221,207 287,207 276,212" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="276,212 287,207 287,219 276,224" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="210" y="212" width="66" height="12" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="210,199 221,194 287,194 276,199" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="276,199 287,194 287,206 276,211" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="210" y="199" width="66" height="12" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/><polygon points="210,186 221,181 287,181 276,186" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="276,186 287,181 287,193 276,198" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="210" y="186" width="66" height="12" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<g transform="translate(137,245) scale(1.0)"><path d="M -4 0 v -3 a 4 4 0 0 1 8 0 v 3" fill="none" stroke="#4a4a46" stroke-width="1.4"/><rect x="-6" y="0" width="12" height="9" rx="2" fill="#f7f4ea" stroke="#4a4a46" stroke-width="1.4"/></g>
<g transform="translate(243,210) scale(0.85)"><path d="M -4 0 v -3 a 4 4 0 0 1 8 0 v 3" fill="none" stroke="#4a4a46" stroke-width="1.4"/><rect x="-6" y="0" width="12" height="9" rx="2" fill="#f7f4ea" stroke="#4a4a46" stroke-width="1.4"/></g>
<g transform="translate(42,112) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<g transform="translate(160,80) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<g transform="translate(284,108) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<g transform="translate(38,228) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<g transform="translate(292,262) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<line x1="100" y1="314" x2="116" y2="298" stroke="#777" stroke-width="1" stroke-dasharray="3 3" opacity=".6"/>
<text x="96" y="328" class="ssub" text-anchor="middle">all five layers, fused shut</text>
<path d="M 410 332 L 419 296 L 419 246 L 475 196 L 419 146 L 475 96" fill="none" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<path d="M 566 332 L 475 296 L 531 246 L 587 196 L 531 146 L 587 96" fill="none" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<g class="pkt"><circle r="2.2" fill="#0099ff"><animateMotion dur="4.4s" begin="0s" repeatCount="indefinite" path="M 410 332 L 419 296 L 419 246 L 475 196 L 419 146 L 475 96"/></circle></g>
<g class="pkt"><circle r="2.2" fill="#0099ff"><animateMotion dur="4.4s" begin="2.2s" repeatCount="indefinite" path="M 410 332 L 419 296 L 419 246 L 475 196 L 419 146 L 475 96"/></circle></g>
<g class="pkt"><circle r="2.2" fill="#0099ff"><animateMotion dur="4.4s" begin="0.9s" repeatCount="indefinite" path="M 566 332 L 475 296 L 531 246 L 587 196 L 531 146 L 587 96"/></circle></g>
<g class="pkt"><circle r="2.2" fill="#0099ff"><animateMotion dur="4.4s" begin="3.1s" repeatCount="indefinite" path="M 566 332 L 475 296 L 531 246 L 587 196 L 531 146 L 587 96"/></circle></g>
<text x="332" y="101" class="stiny">apps &amp; agents</text>
<polygon points="398,90 405,86 447,86 440,90" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="398" y="90" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="454,90 461,86 503,86 496,90" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="454" y="90" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="510,90 517,86 559,86 552,90" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="510" y="90" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="566,90 573,86 615,86 608,90" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="566" y="90" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<g transform="translate(494,87) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="332" y="151" class="stiny">inference</text>
<polygon points="398,140 405,136 447,136 440,140" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="398" y="140" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="454,140 461,136 503,136 496,140" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="454" y="140" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="510,140 517,136 559,136 552,140" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="510" y="140" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<g transform="translate(438,137) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="332" y="201" class="stiny">models</text>
<polygon points="398,190 405,186 447,186 440,190" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="398" y="190" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="454,190 461,186 503,186 496,190" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="454" y="190" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="510,190 517,186 559,186 552,190" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="510" y="190" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="566,190 573,186 615,186 608,190" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="566" y="190" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<g transform="translate(550,187) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="332" y="251" class="stiny">training</text>
<polygon points="398,240 405,236 447,236 440,240" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="398" y="240" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="454,240 461,236 503,236 496,240" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="454" y="240" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="510,240 517,236 559,236 552,240" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="510" y="240" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<g transform="translate(494,237) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="332" y="301" class="stiny">hardware</text>
<polygon points="398,290 405,286 447,286 440,290" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="398" y="290" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<polygon points="454,290 461,286 503,286 496,290" fill="#ebe4d0" stroke="#00b2a1" stroke-width=".9"/><rect x="454" y="290" width="42" height="13" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".9"/>
<g transform="translate(438,287) scale(0.7)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<g transform="translate(410,348) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
<g transform="translate(566,348) scale(1.0)" stroke="#4a4a46" stroke-width="1"><rect x="-6" y="-8" width="12" height="8" fill="#f7f4ea"/><polygon points="-8,-8 8,-8 0,-15" fill="#ebe4d0"/></g>
</svg>
<figcaption><strong>Figure 4:</strong> topology follows the stack</figcaption>
</figure>
<p>The good news is that alternatives are already being built, often for practical business reasons as much as ideological ones. In July, Nvidia and a consortium of others signed <a href="https://www.microsoft.com/en-us/corporate-responsibility/topics/open-weight/" target="_blank" rel="noopener noreferrer">Open Weights and American AI Leadership</a>
, making the case that open weights reduce costs, prevent lock-in, strengthen cybersecurity and let organisations control their own data and infrastructure. Thinking Machines has made <a href="https://thinkingmachines.ai/blog/the-future-worth-building-is-human/" target="_blank" rel="noopener noreferrer">a related case</a>
 for AI that can be shaped by the people it serves, rather than having its values determined in a handful of places, and followed it by releasing <a href="https://thinkingmachines.ai/news/introducing-inkling/" target="_blank" rel="noopener noreferrer">Inkling</a>
 with open weights. The motivations differ (competition, scientific transparency, sovereignty, privacy, customisation) but they point in the same direction: making AI more inspectable and giving people viable alternatives to centralised providers.<sup id="fnref:11"><a href="#fn:11" class="footnote-ref" role="doc-noteref">11</a></sup></p>
<blockquote>
<p>&ldquo;a single locus of value alignment, however well run, becomes a locus of power to be captured&rdquo;</p>
<p>&ndash; Thinking Machines&rsquo; manifesto</p>
</blockquote>
<p>Across the stack, both responses are already taking shape. Figure 5 maps some of the projects doing the work: at every layer, at least one way to check the incumbents and at least one credible alternative.</p>
<figure class="diagram wide">
<svg viewBox="0 0 720 460" role="img" aria-label="The AI stack as five isometric slabs -- applications and agents, inference and serving, models, training, hardware -- with blue data packets travelling from you down through every layer. Left of each layer, marked with an ink check-seal, how its power can be checked: audit trails recording what your agent did, with Langfuse offering open-source tracing of every step; Apple Private Cloud Compute, which keeps cloud inference but makes its privacy guarantees inspectable and cryptographically enforced, and AWS Nitro, whose isolation engine is formally verified; open weights anyone can inspect and test, plus independent evaluations of frontier models by METR and the UK AI Security Institute; OLMo publishing its data, code, recipes and checkpoints for scrutiny, and the Data Provenance Initiative auditing training datasets; chip attestation proving what hardware is running, as in NVIDIA confidential computing, and Caliptra, an open-source silicon root of trust. Right of each layer, in teal, the alternatives keeping it plural: OpenHands and Open WebUI, self-hostable apps that let you swap the model underneath and keep your interfaces, workflows and data; vLLM and llama.cpp, running models on infrastructure you control; DeepSeek, Qwen and Thinking Machines, open weights you can download, modify and run, which no provider can withdraw; Pluralis, spreading training itself across the internet, a 7.5B model on 1,700 consumer GPUs with no datacentre; Tenstorrent, open chip documentation and a RISC-V software stack, an alternative at the layer everything else depends on. A small sealed proof travels back up from the inference layer to you. Project names are links">
<rect x="24" y="24" width="8" height="8" fill="#0099ff"/>
<text x="37" y="32" class="ssub">your data</text>
<ellipse cx="390" cy="62" rx="11" ry="3" fill="#3a3a78" opacity=".08"/>
<g transform="translate(390,60) scale(0.85)" stroke="#2a2a3a" stroke-width="1.6" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g>
<text x="404" y="40" class="ssub">you</text>
<g transform="translate(140,80) scale(0.9)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="252" y="84" class="slbl" text-anchor="end">checking power</text>
<text x="252" y="98" class="ssub" text-anchor="end">each layer&#8217;s power made verifiable</text>
<text x="516" y="84" class="slbl" style="fill:#00b2a1">plurality</text>
<text x="516" y="98" class="ssub">real alternatives at each layer</text>
<path id="dflow" d="M 390 66 V 428" fill="none" stroke="#0099ff" stroke-width="1" opacity=".22"/>
<path id="dproof" d="M 372 205 C 352 160 358 100 384 66" fill="none" stroke="#2a2a3a" stroke-width="1" stroke-dasharray="2 3" opacity=".18"/>
<text x="398" y="100" class="ssub">a proof rides back</text>
<polygon points="290,120 316,107 496,107 470,120" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,120 496,107 496,139 470,152" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="120" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="141" class="slbl">applications &amp; agents</text>
<text x="50" y="132" class="schk"><a href="https://langfuse.com/" target="_blank" rel="noopener">Langfuse</a>: open-source tracing -- an audit</text>
<text x="50" y="145" class="schk">trail of every step your agent took</text>
<text x="516" y="132" class="sopen"><a href="https://www.openhands.dev/" target="_blank" rel="noopener">OpenHands</a> &#183; <a href="https://openwebui.com/" target="_blank" rel="noopener">Open WebUI</a>: self-hostable</text>
<text x="516" y="145" class="sopen">apps -- swap the model underneath,</text>
<text x="516" y="158" class="sopen">keep your interfaces, workflows &amp; data</text>
<g transform="translate(36,135) scale(0.85)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<polygon points="290,190 316,177 496,177 470,190" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,190 496,177 496,209 470,222" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="190" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="211" class="slbl">inference &amp; serving</text>
<text x="50" y="202" class="schk"><a href="https://security.apple.com/documentation/private-cloud-compute/verifiabletransparency" target="_blank" rel="noopener">Apple PCC</a> &#183; <a href="https://aws.amazon.com/blogs/compute/aws-nitro-isolation-engine-formally-verifying-the-hypervisor-in-the-aws-nitro-system/" target="_blank" rel="noopener">AWS Nitro</a>: keep the cloud,</text>
<text x="50" y="215" class="schk">but make its guarantees checkable --</text>
<text x="50" y="228" class="schk">attested software, verified isolation</text>
<text x="516" y="202" class="sopen"><a href="https://docs.vllm.ai/en/stable/" target="_blank" rel="noopener">vLLM</a> &#183; <a href="https://github.com/ggml-org/llama.cpp" target="_blank" rel="noopener">llama.cpp</a>: run models</text>
<text x="516" y="215" class="sopen">on infrastructure you control</text>
<g transform="translate(36,205) scale(0.85)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<polygon points="290,260 316,247 496,247 470,260" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,260 496,247 496,279 470,292" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="260" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="281" class="slbl">models</text>
<text x="50" y="272" class="schk"><a href="https://metr.org/" target="_blank" rel="noopener">METR</a> &#183; <a href="https://www.aisi.gov.uk/" target="_blank" rel="noopener">UK AISI</a>: independent evals of</text>
<text x="50" y="285" class="schk">frontier models -- and open weights</text>
<text x="50" y="298" class="schk">anyone can inspect &amp; test</text>
<text x="516" y="272" class="sopen"><a href="https://huggingface.co/deepseek-ai" target="_blank" rel="noopener">DeepSeek</a> &#183; <a href="https://huggingface.co/Qwen" target="_blank" rel="noopener">Qwen</a> &#183; <a href="https://thinkingmachines.ai/news/introducing-inkling/" target="_blank" rel="noopener">Thinking Machines</a>:</text>
<text x="516" y="285" class="sopen">open weights you can download, modify</text>
<text x="516" y="298" class="sopen">&amp; run -- no provider can withdraw them</text>
<g transform="translate(36,275) scale(0.85)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<polygon points="290,330 316,317 496,317 470,330" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,330 496,317 496,349 470,362" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="330" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="351" class="slbl">training</text>
<text x="50" y="342" class="schk"><a href="https://allenai.org/olmo2" target="_blank" rel="noopener">OLMo</a> &#183; <a href="https://www.dataprovenance.org/" target="_blank" rel="noopener">Data Provenance Initiative</a>:</text>
<text x="50" y="355" class="schk">data, code, recipes &amp; checkpoints</text>
<text x="50" y="368" class="schk">published; training datasets audited</text>
<text x="516" y="342" class="sopen"><a href="https://pluralis.ai/blog/pluralis-multi-party-training-stack/" target="_blank" rel="noopener">Pluralis</a>: training spread across the</text>
<text x="516" y="355" class="sopen">internet -- a 7.5B model on 1,700</text>
<text x="516" y="368" class="sopen">consumer GPUs, no datacentre needed</text>
<g transform="translate(36,345) scale(0.85)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<polygon points="290,400 316,387 496,387 470,400" fill="#ebe4d0" stroke="#4a4a46" stroke-width=".9"/><polygon points="470,400 496,387 496,419 470,432" fill="#d2cab2" stroke="#4a4a46" stroke-width=".9"/><rect x="290" y="400" width="180" height="32" fill="#f7f4ea" stroke="#4a4a46" stroke-width=".9"/>
<text x="304" y="421" class="slbl">hardware</text>
<text x="50" y="412" class="schk"><a href="https://www.nvidia.com/en-us/data-center/solutions/confidential-computing/" target="_blank" rel="noopener">NVIDIA confidential computing</a> &#183; <a href="https://github.com/chipsalliance/caliptra" target="_blank" rel="noopener">Caliptra</a>:</text>
<text x="50" y="425" class="schk">chips that attest to what they&#8217;re running,</text>
<text x="50" y="438" class="schk">and an open-source root of trust</text>
<text x="516" y="412" class="sopen"><a href="https://github.com/tenstorrent" target="_blank" rel="noopener">Tenstorrent</a>: open chip docs &amp; a RISC-V</text>
<text x="516" y="425" class="sopen">software stack: an alternative at the</text>
<text x="516" y="438" class="sopen">layer everything else depends on</text>
<g transform="translate(36,415) scale(0.85)" fill="none" stroke="#2a2a3a" stroke-width="1.2" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="0s" repeatCount="indefinite"><mpath href="#dflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="1.3s" repeatCount="indefinite"><mpath href="#dflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="2.6s" repeatCount="indefinite"><mpath href="#dflow"/></animateMotion></circle></g>
<g class="pkt"><circle r="2.7" fill="#0099ff"><animateMotion dur="5.2s" begin="3.9s" repeatCount="indefinite"><mpath href="#dflow"/></animateMotion></circle></g>
<g class="pkt"><g fill="none" stroke="#2a2a3a" stroke-width="1.1" stroke-linecap="round"><circle cx="0" cy="0" r="4.5" fill="#f7f4ea"/><path d="M -2 0.2 L -0.6 1.9 L 2.2 -1.7"/><animateMotion dur="4.6s" begin="1.4s" repeatCount="indefinite"><mpath href="#dproof"/></animateMotion></g></g>
</svg>
<figcaption><strong>Figure 5:</strong> opening up the stack</figcaption>
</figure>
<h3 id="the-sixth-layer">The sixth layer</h3>
<p>As AI agents begin to be deployed in the wild and start communicating with one another, a sixth layer is emerging: the coordination layer. The infrastructure that enables agents to interact with one another, including communication channels, protocols, negotiation practices, sensors, identity systems. Without it, an agent is essentially confined to single-player mode.</p>
<p>This layer could enable productive networks of agents and unlock tremendous value for humanity. But it could also negate efforts to distribute power elsewhere in the stack. Even an open model running on personal hardware does not protect us if every agentic interaction must clear through a central platform.</p>
<figure class="diagram">
<svg viewBox="0 0 720 360" role="img" aria-label="Two panels showing the same ten agents, each standing on its own tiny five-layer stack, connected two ways. Left, through one platform: every agent links only to a hub in the centre, labelled platform, and blue packets travel from agent to hub to agent. Right, between the agents themselves: the same agents are joined in a mesh of teal links, some marked with a check-seal, with no hub in the middle, and packets travel directly from agent to agent. Legend: the tiny stacks are the five layers each agent runs on; the links are the sixth layer">
<text x="178" y="26" class="slbl" text-anchor="middle">through one platform</text>
<text x="178" y="40" class="ssub" text-anchor="middle">a hub sets identity, rules &amp; fees -- every exchange passes through it</text>
<text x="542" y="26" class="slbl" text-anchor="middle" style="fill:#00b2a1">between the agents themselves</text>
<text x="542" y="40" class="ssub" text-anchor="middle">protocols each pair can run -- identity, payment &amp; proof travel on the link</text>
<line x1="360" y1="20" x2="360" y2="318" stroke="#ccc" stroke-dasharray="4 5"/>
<line x1="178.0" y1="117.0" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="232.1" y1="134.6" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="265.5" y1="180.6" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="265.5" y1="237.4" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="232.1" y1="283.4" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="178.0" y1="301.0" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="123.9" y1="283.4" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="90.5" y1="237.4" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="90.5" y1="180.6" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<line x1="123.9" y1="134.6" x2="178" y2="208" stroke="#2a2a3a" stroke-width=".9" opacity=".3"/>
<rect x="148" y="197" width="60" height="22" rx="1" fill="#2a2a3a"/><text x="178" y="212" class="stiny" text-anchor="middle" style="fill:#f7f4ea;font-weight:600">platform</text>
<g transform="translate(178.0,110.0) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="171.0" y="112.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="115.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="117.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="120.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="122.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(232.1,127.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="225.1" y="130.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="132.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="135.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="137.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="140.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(265.5,173.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="258.5" y="176.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="178.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="181.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="183.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="186.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(265.5,230.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="258.5" y="232.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="235.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="238.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="240.70000000000002" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="258.5" y="243.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(232.1,276.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="225.1" y="278.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="281.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="284.09999999999997" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="286.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="225.1" y="289.29999999999995" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(178.0,294.0) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="171.0" y="296.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="299.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="301.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="304.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="171.0" y="306.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(123.9,276.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="116.9" y="278.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="281.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="284.09999999999997" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="286.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="289.29999999999995" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(90.5,230.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="83.5" y="232.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="235.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="238.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="240.70000000000002" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="243.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(90.5,173.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="83.5" y="176.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="178.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="181.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="183.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="83.5" y="186.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(123.9,127.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="116.9" y="130.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="132.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="135.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="137.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="116.9" y="140.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="4.8s" begin="0s" repeatCount="indefinite" path="M 178.0 117.0 L 178 208 L 178.0 301.0"/></circle></g>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="5.6s" begin="0s" repeatCount="indefinite" path="M 265.5 237.4 L 178 208 L 90.5 180.6"/></circle></g>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="4.4s" begin="0s" repeatCount="indefinite" path="M 90.5 237.4 L 178 208 L 232.1 134.6"/></circle></g>
<line x1="542.0" y1="117.0" x2="596.1" y2="134.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="596.1" y1="134.6" x2="629.5" y2="180.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="629.5" y1="180.6" x2="629.5" y2="237.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="629.5" y1="237.4" x2="596.1" y2="283.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="596.1" y1="283.4" x2="542.0" y2="301.0" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="542.0" y1="301.0" x2="487.9" y2="283.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="487.9" y1="283.4" x2="454.5" y2="237.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="454.5" y1="237.4" x2="454.5" y2="180.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="454.5" y1="180.6" x2="487.9" y2="134.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="487.9" y1="134.6" x2="542.0" y2="117.0" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="542.0" y1="117.0" x2="629.5" y2="237.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="629.5" y1="180.6" x2="542.0" y2="301.0" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="596.1" y1="283.4" x2="454.5" y2="237.4" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="487.9" y1="283.4" x2="487.9" y2="134.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<line x1="454.5" y1="180.6" x2="596.1" y2="134.6" stroke="#00b2a1" stroke-width=".9" opacity=".55"/>
<g transform="translate(612.8,157.6) scale(0.55)" fill="none" stroke="#2a2a3a" stroke-width="1.3" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<g transform="translate(515.0,292.2) scale(0.55)" fill="none" stroke="#2a2a3a" stroke-width="1.3" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<g transform="translate(471.2,157.6) scale(0.55)" fill="none" stroke="#2a2a3a" stroke-width="1.3" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<g transform="translate(585.8,177.2) scale(0.55)" fill="none" stroke="#2a2a3a" stroke-width="1.3" stroke-linecap="round"><circle cx="0" cy="0" r="5.2" fill="#f7f4ea"/><path d="M -2.4 0.3 L -0.7 2.2 L 2.6 -2.1"/></g>
<text x="542" y="212" class="stiny" text-anchor="middle" style="fill:#aaa">no hub</text>
<g transform="translate(542.0,110.0) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="535.0" y="112.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="115.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="117.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="120.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="122.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(596.1,127.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="589.1" y="130.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="132.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="135.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="137.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="140.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(629.5,173.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="622.5" y="176.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="178.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="181.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="183.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="186.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(629.5,230.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="622.5" y="232.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="235.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="238.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="240.70000000000002" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="622.5" y="243.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(596.1,276.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="589.1" y="278.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="281.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="284.09999999999997" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="286.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="589.1" y="289.29999999999995" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(542.0,294.0) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="535.0" y="296.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="299.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="301.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="304.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="535.0" y="306.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(487.9,276.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="480.9" y="278.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="281.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="284.09999999999997" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="286.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="289.29999999999995" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(454.5,230.4) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="447.5" y="232.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="235.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="238.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="240.70000000000002" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="243.3" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(454.5,173.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="447.5" y="176.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="178.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="181.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="183.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="447.5" y="186.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g transform="translate(487.9,127.6) scale(0.5)" stroke="#2a2a3a" stroke-width="1.8" fill="none" stroke-linecap="round"><circle cx="0" cy="-24" r="5" fill="#f7f4ea"/><line x1="0" y1="-19" x2="0" y2="-7"/><line x1="-7" y1="-15" x2="7" y2="-15"/><line x1="0" y1="-7" x2="-5" y2="0"/><line x1="0" y1="-7" x2="5" y2="0"/></g><rect x="480.9" y="130.1" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="132.7" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="135.29999999999998" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="137.9" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="480.9" y="140.5" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="4.2s" begin="0s" repeatCount="indefinite" path="M 542.0 117.0 L 596.1 134.6 L 629.5 180.6"/></circle></g>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="5.0s" begin="0s" repeatCount="indefinite" path="M 596.1 283.4 L 542.0 301.0 L 487.9 283.4"/></circle></g>
<g class="pkt"><circle r="2.4" fill="#0099ff"><animateMotion dur="4.7s" begin="0s" repeatCount="indefinite" path="M 487.9 134.6 L 542.0 117.0 L 629.5 237.4"/></circle></g>
<g transform="translate(212,338)"><rect x="0" y="-4.0" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="0" y="-1.4" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="0" y="1.2000000000000002" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="0" y="3.8000000000000007" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/><rect x="0" y="6.4" width="14" height="1.7" fill="#f7f4ea" stroke="#00b2a1" stroke-width=".6"/></g>
<text x="232" y="343" class="stiny">an agent&#8217;s own five layers (Figure 3)</text>
<line x1="418" y1="340" x2="446" y2="340" stroke="#00b2a1" stroke-width="1"/>
<text x="452" y="343" class="stiny">the sixth layer: the links between agents</text>
</svg>
<figcaption><strong>Figure 6:</strong> the sixth layer</figcaption>
</figure>
<p>Consider the following example: your agent is negotiating a job offer with a company&rsquo;s agent. You don&rsquo;t want to reveal your minimum salary expectations, but they don&rsquo;t want to reveal their ceiling. The easy architecture would be that both agents are hosted by the same provider which, as the trusted information escrow, matches them and lets each agent query the other&rsquo;s context without &ldquo;seeing&rdquo; it. It&rsquo;s convenient, it&rsquo;s doable today and it&rsquo;s easily policed in case of agent misbehavior.</p>
<p>If this becomes a default architecture, it could also mean that a large share of negotiation in society &ndash; salaries, rents, settlements, acquisitions &ndash; routes through a handful of intermediaries with a complete view of both sides.</p>
<h3 id="scaling-trust">Scaling Trust</h3>
<p>Trusted information escrows have historically helped us navigate hard tradeoffs: security against utility, convenience against control, oversight against privacy. What’s exciting is that <a href="https://aiprospects.substack.com/p/security-without-dystopia-new-options" target="_blank" rel="noopener noreferrer">over the last few years, this tradeoff space itself has begun to move.</a>
<sup id="fnref:12"><a href="#fn:12" class="footnote-ref" role="doc-noteref">12</a></sup> Emerging technologies can relocate trust away from an intermediary with unrestricted access to everyone’s information and into cryptography, hardware, and other verifiable, scalable roots of trust. Increasingly that includes the physical world too &ndash; sensors that can prove what they measured, chips that can prove what they ran &ndash; because agents are heading there as well.</p>
<p>Now our two negotiating agents have another option: run a two-party secure computation that answers &ldquo;do our preferences match?&rdquo; and nothing else, or meet inside a trusted hardware enclave, and work it out while each side&rsquo;s limit stays its own. The previous trusted intermediary gets replaced by mathematics and silicon.<sup id="fnref:13"><a href="#fn:13" class="footnote-ref" role="doc-noteref">13</a></sup> The new tools dissolve the old tradeoff. You can have privacy <em>and</em> utility,<sup id="fnref:14"><a href="#fn:14" class="footnote-ref" role="doc-noteref">14</a></sup> security <em>and</em> efficiency.</p>
<figure class="diagram">
<svg viewBox="0 0 720 390" role="img" aria-label="A chart with utility on the horizontal axis and security on the vertical axis, and three frontiers shading from ink to teal. Innermost, ink, where we were: private but limited, a trusted middleman, useful but exposed. Further out, light teal, where we are (zero-knowledge, private set intersection, multi-party computation, enclaves), each point tagged with its technology: age proofs that reveal nothing else (zero-knowledge proofs), breach-checked passwords (private set intersection), cloud AI the provider cannot read (hardware enclaves with attestation). Outermost, dashed teal, where we could be, four points: audit trails that open only under due process (threshold decryption), proof that the evaluated model is the one serving you (attested inference, zkML), a salary negotiated with no hands revealed (two-party secure computation, generated on demand), and data used then provably not retained (attested enclaves)">
<g transform="translate(0,50)">
<line x1="80" y1="290" x2="80" y2="48" stroke="#4a4a46" stroke-width="1.2"/>
<polygon points="80,40 76,50 84,50" fill="#4a4a46"/>
<line x1="80" y1="290" x2="596" y2="290" stroke="#4a4a46" stroke-width="1.2"/>
<polygon points="604,290 594,286 594,294" fill="#4a4a46"/>
<text x="56" y="32" class="slbl">security</text>
<text x="596" y="312" class="slbl" text-anchor="end">utility</text>
<path d="M 95 85 C 100 210 250 264 575 267" fill="none" stroke="#2a2a3a" stroke-width="1.6"/>
<text x="582" y="271" class="ssub" style="fill:#2a2a3a;font-weight:600;font-size:11px">where we were</text>
<circle cx="101" cy="120" r="4" fill="#f7f4ea" stroke="#2a2a3a" stroke-width="1.3"/>
<text x="112" y="112" class="ssub">private but limited</text>
<circle cx="192" cy="212" r="4" fill="#f7f4ea" stroke="#2a2a3a" stroke-width="1.3"/>
<text x="204" y="206" class="ssub">a trusted middleman</text>
<circle cx="364" cy="255" r="4" fill="#f7f4ea" stroke="#2a2a3a" stroke-width="1.3"/>
<text x="376" y="282" class="ssub">useful but exposed</text>
<path class="draw" d="M 95 66 C 220 78 420 130 585 250" fill="none" stroke="#7cc9bc" stroke-width="1.8"/>
<text x="592" y="254" class="ssub" style="fill:#4aa998;font-weight:600;font-size:11px">where we are</text>
<circle cx="325" cy="117" r="4.5" fill="#7cc9bc"/>
<text x="315" y="131" class="ssub" text-anchor="end">age proofs, nothing else revealed</text>
<text x="315" y="143" class="sopen" text-anchor="end">zero-knowledge proofs</text>
<circle cx="419" cy="155" r="4.5" fill="#7cc9bc"/>
<text x="409" y="169" class="ssub" text-anchor="end">breach-checked passwords</text>
<text x="409" y="181" class="sopen" text-anchor="end">private set intersection</text>
<circle cx="509" cy="201" r="4.5" fill="#7cc9bc"/>
<text x="499" y="215" class="ssub" text-anchor="end">cloud AI the provider can&#8217;t read</text>
<text x="499" y="227" class="sopen" text-anchor="end">hardware enclaves + attestation</text>
<path d="M 95 48 C 280 52 500 88 600 195" fill="none" stroke="#00b2a1" stroke-width="1.6" stroke-dasharray="7 5" opacity=".9"/>
<text x="608" y="200" class="sopen" style="font-weight:600;font-size:11px">where we could be</text>
<line x1="608" y1="206" x2="716" y2="206" stroke="#00b2a1" stroke-width="1.2" stroke-dasharray="4 3"/>
<circle cx="200" cy="54" r="4.5" fill="#f7f4ea" stroke="#00b2a1" stroke-width="1.4" stroke-dasharray="2.5 2.5"/>
<line x1="200" y1="-2" x2="200" y2="47" stroke="#00b2a1" stroke-width="1" stroke-dasharray="2 3" opacity=".55"/>
<text x="200" y="-20" class="ssub" text-anchor="middle">audit trails that open only under due process</text>
<text x="200" y="-8" class="sopen" text-anchor="middle">threshold decryption</text>
<circle cx="335" cy="73" r="4.5" fill="#f7f4ea" stroke="#00b2a1" stroke-width="1.4" stroke-dasharray="2.5 2.5"/>
<line x1="335" y1="34" x2="335" y2="66" stroke="#00b2a1" stroke-width="1" stroke-dasharray="2 3" opacity=".55"/>
<text x="335" y="16" class="ssub" text-anchor="middle">the evaluated model is the one serving you</text>
<text x="335" y="28" class="sopen" text-anchor="middle">attested inference &#183; zkML</text>
<circle cx="455" cy="106" r="4.5" fill="#f7f4ea" stroke="#00b2a1" stroke-width="1.4" stroke-dasharray="2.5 2.5"/>
<line x1="455" y1="-2" x2="455" y2="99" stroke="#00b2a1" stroke-width="1" stroke-dasharray="2 3" opacity=".55"/>
<text x="455" y="-20" class="ssub" text-anchor="middle">a salary negotiated, no hands revealed</text>
<text x="455" y="-8" class="sopen" text-anchor="middle">two-party secure computation, on demand</text>
<circle cx="560" cy="160" r="4.5" fill="#f7f4ea" stroke="#00b2a1" stroke-width="1.4" stroke-dasharray="2.5 2.5"/>
<line x1="560" y1="66" x2="560" y2="153" stroke="#00b2a1" stroke-width="1" stroke-dasharray="2 3" opacity=".55"/>
<text x="570" y="48" class="ssub" text-anchor="middle">used, then provably not retained</text>
<text x="570" y="60" class="sopen" text-anchor="middle">attested enclaves</text>
</g>
</svg>
<figcaption><strong>Figure 7:</strong> the moving frontier</figcaption>
</figure>
<p>Components of this technology already support large-scale applications,<sup id="fnref:15"><a href="#fn:15" class="footnote-ref" role="doc-noteref">15</a></sup> but they are not yet flexible, efficient, or usable enough for open-ended agentic coordination.<sup id="fnref:16"><a href="#fn:16" class="footnote-ref" role="doc-noteref">16</a></sup> AI could accelerate their development both by hiding complexity from users (e.g. enabling agents to generate bespoke security protocols on-demand) and by speeding up the research process (e.g. running research loops on cryptography research problems). This is a core pillar of <a href="https://aria.org.uk/media/dkhlumky/scaling-trust-programme-thesis.pdf" target="_blank" rel="noopener noreferrer">Scaling Trust</a>
, and why we’re excited to fund these technologies and the underlying research behind them. We want to scale trust, without scaling trusted intermediaries.</p>
<h3 id="what-about-safety">What about safety?</h3>
<p>Readers who have come this far may empathise with the problems stated and still see (sometimes, painfully so) the other side: intermediaries are often where regulation is enforced, and they enable oversight and safety. A world with fewer intermediaries can indeed be a less governable world. And while I believe broadening direct access to powerful AI technologies is a net positive for humanity, it also comes with severe asymmetries in some domains. For instance, biosecurity is currently offence-dominant: a single malicious actor (or &lsquo;dissident&rsquo;), sufficiently empowered, can cause damage no defence yet can match.</p>
<p>So wat do? Are we stuck between a free but dangerous world, or a surveilled, controlled, &lsquo;safer&rsquo; world?</p>
<p>Part of this post&rsquo;s job is to show why the second option is not the safe harbour it appears to be, and to widen the safety conversation that often defaults to centralised control and alignment as the only available levers. A perfectly aligned model running on surveillance infrastructure still delivers the panopticon. Alignment binds the model to its principal; it does not bind the principal to us. And as laid out above, infrastructure outlives its operators, whatever is built under careful stewardship is inherited by whoever comes next.</p>
<p>Practically though, I have two answers for you:</p>
<ol>
<li>In cases where &rsquo;trusted&rsquo; intermediaries remain because it is the structural and/or safety best option (e.g. screening gene-synthesis orders), allowing the public to check their power, building technologies to constrain it, and minimising duopolies/monopolies to enable contestability goes a long way towards creating a safe, yet less surveilled society.</li>
<li>In cases where trusted intermediaries can be entirely removed, trust doesn&rsquo;t disappear, it shifts substrate to cryptography (trust in maths) and trusted hardware (trust in silicon). The same machinery that enables trustworthy interactions can enable distributed safety: proof that the safety-evaluated model was the one that ran, attestation that an agent stays within its declared constraints, audit trails that open under due process rather than on demand. The same goes for every layer of the stack, proving what a model was trained on, what a chip is running, what an inference provider retained. Overseers get proofs instead of feeds, dissolving the old tradeoff between oversight and privacy.</li>
</ol>
<h3 id="technology-is-not-enough">Technology is not enough</h3>
<p>We&rsquo;ve been somewhere like this before. In 1993, Eric Hughes wrote <a href="https://www.activism.net/cypherpunk/manifesto.html" target="_blank" rel="noopener noreferrer">A Cypherpunk&rsquo;s Manifesto</a>
:</p>
<blockquote>
<p>&ldquo;Privacy is necessary for an open society in the electronic age&hellip; Privacy is the power to selectively reveal oneself to the world.&rdquo;</p>
</blockquote>
<p>At the time, the US government treated encryption as a munition, put it on the same export-control list as missiles, and spent years advocating for a phone chip with a built-in government backdoor. Cryptographers and privacy advocates like Bernstein and Zimmermann, together with organisations such as the Electronic Frontier Foundation, fought hard against the &rsquo;easy&rsquo; defaults, arguing that a backdoored system is weaker for everyone and that strong cryptography is a matter of privacy and free expression.<sup id="fnref:17"><a href="#fn:17" class="footnote-ref" role="doc-noteref">17</a></sup> Congress&rsquo;s own commissioned review agreed: the National Research Council&rsquo;s 1996 <a href="https://nap.nationalacademies.org/catalog/5131/cryptographys-role-in-securing-the-information-society" target="_blank" rel="noopener noreferrer">CRISIS report</a>
 concluded that the use of cryptography should not be restricted and export controls should be loosened. By 2000 the export controls had collapsed, and today, encryption has become core digital infrastructure, securing nearly all web traffic.<sup id="fnref:18"><a href="#fn:18" class="footnote-ref" role="doc-noteref">18</a></sup></p>
<p>I am not claiming today&rsquo;s situation is the same. The stakes are higher given how powerful the technology is; control arguably sits more with corporations than with governments, and I have yet to see a situation where a clearly sub-par technological option is being pushed against a better alternative for humanity. What I am claiming, however, is that the defaults for artificial intelligence are now being set at every layer of the stack, and that they will shape our future. Having technological alternatives won&rsquo;t be enough. We will need coordinated action across society: developers, policymakers, frontier labs, privacy and safety advocates, standards bodies, and citizens.</p>
<p>Which new intermediaries and points of information control are emerging? Which should remain, and how do we make those that do checkable and contestable by the people who depend on them? What kind of local maxima defaults do we risk falling into? How will we steer towards global maxima and which voices &ndash; whether policymakers, citizens, or organisations &ndash; will shape them? These questions deserve people, and institutions. If this is you, please reach out. We would like to support you!</p>
<hr>
<p>By <a href="https://x.com/ObadiaAlex" target="_blank" rel="noopener noreferrer">Alex Obadia</a>
, assisted by Fable 5. Thank you Nicola Greco, Nora Ammann, James Fox, Seb Krier, Lukas Petersson, Mona Wang, Allison Duettmann, Christian Catalini, Lewis Hammond, Louise Ellaway and Melissa Bradshaw for conversations and reviews that shaped this post.</p>
<p><em>Have comments or feedback on the post? Please send it over or comment directly on here using Hypothesis!</em></p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Orwell&rsquo;s <em>1984</em> is the dystopia of control by surveillance; in Huxley&rsquo;s <em>Brave New World</em>, control is attained without watching anyone, by shaping what people want instead. As Neil Postman put it in the foreword to <em>Amusing Ourselves to Death</em> (1985): &ldquo;Orwell feared that what we hate will ruin us. Huxley feared that what we love will ruin us.&rdquo;&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.fcc.gov/document/fcc-fines-largest-wireless-carriers-sharing-location-data" target="_blank" rel="noopener noreferrer">FCC, April 2024</a>
: AT&amp;T, Verizon, T-Mobile and Sprint fined c. $196m for selling access to customers&rsquo; location data without their consent.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.fca.org.uk/news/press-releases/ubs-fined-%C2%A3160-million-significant-failings-relation-libor-and-euribor" target="_blank" rel="noopener noreferrer">FSA, December 2012</a>
: UBS fined £160m for LIBOR submissions adjusted to benefit its traders&rsquo; positions; Barclays, RBS and Rabobank followed.&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>The idea is from Vitalik&rsquo;s <a href="https://vitalik.eth.limo/general/2025/04/14/privacy.html" target="_blank" rel="noopener noreferrer">why I support privacy</a>
. On what happens when the human roles that check power get automated away, see Longview&rsquo;s <a href="https://www.longview.org/request-for-proposals-on-extreme-power-concentration/" target="_blank" rel="noopener noreferrer">RfP on extreme power concentration</a>
.&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p><em>&ldquo;Of all tyrannies, a tyranny sincerely exercised for the good of its victims may be the most oppressive&hellip; those who torment us for our own good will torment us without end for they do so with the approval of their own conscience.&rdquo;</em> &ndash; C.S. Lewis, The Humanitarian Theory of Punishment (1949)&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6">
<p>Privacy isn&rsquo;t the freedom to hide, it&rsquo;s the freedom to change.&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7">
<p>More subtly, surveillance inevitably endogenously changes what individuals are willing to share and how they behave, driving a discrepancy between measurement/automation and what humans really care about.&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:8">
<p>In the UK, indefinite retention of DNA profiles from people never convicted ended only when the European Court of Human Rights <a href="https://hudoc.echr.coe.int/eng?i=001-90051" target="_blank" rel="noopener noreferrer">ruled it disproportionate</a>
; the EU&rsquo;s blanket data-retention directive was <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex%3A62012CJ0293" target="_blank" rel="noopener noreferrer">struck down</a>
 by the Court of Justice. In both, the correction came from a court rather than from the process that produced the measure.&#160;<a href="#fnref:8" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:9">
<p>Some of these debates go back to Hobbes, Rousseau and Locke. Hobbes: the natural state is anarchy, so stability requires a strong centralised sovereign. Rousseau: the natural state is peace, and it is property and centralised power that corrupt. Locke, the middle ground: the natural state is generally peaceful but inconvenient, for want of an impartial judge. This post is Lockean~ish; if your instincts are Hobbesian &ndash; that centralised power is what stands between us and chaos &ndash; the concerns here will weigh differently.&#160;<a href="#fnref:9" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:10">
<p>Imposed June 12, 2026; <a href="https://www.cnbc.com/2026/06/30/anthropic-says-trump-admin-has-lifted-export-controls-on-claude-fable-5-and-mythos-5.html" target="_blank" rel="noopener noreferrer">lifted June 30</a>
.&#160;<a href="#fnref:10" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:11">
<p>For one detailed vision of user-shaped AI, see Gwern&rsquo;s <a href="https://gwern.net/guardian-angel" target="_blank" rel="noopener noreferrer">Guardian Angels</a>
: personalised models designed to learn and amplify a particular person&rsquo;s values and judgment rather than embodying a universal assistant personality. See also <a href="https://arxiv.org/abs/2605.10310" target="_blank" rel="noopener noreferrer">Positive Alignment: Artificial Intelligence for Human Flourishing</a>
 (Laukkonen, Krier et al.).&#160;<a href="#fnref:11" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:12">
<p>0xPARC&rsquo;s <a href="https://0xparc.org/blog/programmable-cryptography-1" target="_blank" rel="noopener noreferrer">Programmable Cryptography</a>
: MPC, ZK, FHE and friends as a &ldquo;second generation&rdquo; of cryptographic primitives.&#160;<a href="#fnref:12" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:13">
<p>Nora Ammann offers a frame I like: any control point sits on a spectrum from human (context-sensitive, but corruptible) to deterministic programme (incorruptible, but &ldquo;often too crude, and to some extent cruel in its context blindness&rdquo;). AI built on verifiable substrates could open the middle ground: &ldquo;the context sensitivity, nuance and intelligence to make appropriate decisions across a much wider range of scenarios, while still being designable such as to not be as compromisable as humans.&rdquo; See also Andrew Critch on <a href="https://www.lesswrong.com/posts/LpM3EAakwYdS6aRKf/what-multipolar-failure-looks-like-and-robust-agent-agnostic" target="_blank" rel="noopener noreferrer">robust agent-agnostic processes</a>
.&#160;<a href="#fnref:13" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:14">
<p>A live example is the age-verification debate. The standard approach checks age by checking identity &ndash; a document upload or a face scan &ndash; which, <a href="https://www.eff.org/deeplinks/2024/12/australia-banning-kids-social-media-does-more-harm-good" target="_blank" rel="noopener noreferrer">as the EFF points out</a>
, means collecting identity data from everyone. Zero-knowledge proofs, such as those in <a href="https://blog.google/products/google-pay/google-wallet-age-identity-verifications/" target="_blank" rel="noopener noreferrer">Google Wallet&rsquo;s age verification</a>
, let a user prove they are over a threshold without revealing anything else. Same goal, two architectures: one has to collect identity data, one doesn&rsquo;t.&#160;<a href="#fnref:14" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:15">
<p>Chrome <a href="https://security.googleblog.com/2019/02/protect-your-accounts-from-data.html" target="_blank" rel="noopener noreferrer">checks your passwords against breach databases without revealing them</a>
. Apple <a href="https://security.apple.com/blog/private-cloud-compute/" target="_blank" rel="noopener noreferrer">runs AI requests on hardware built so that nobody, including Apple, can access the data</a>
. In Boston, <a href="https://thebwwc.org/mpc" target="_blank" rel="noopener noreferrer">over a hundred companies have measured the city&rsquo;s gender pay gap</a>
 without any of them opening its payroll.&#160;<a href="#fnref:15" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:16">
<p>MPC and homomorphic encryption are still orders of magnitude slower than plain computation &ndash; roughly 1,000-10,000x on CPU, often worse; enclaves have <a href="https://foreshadowattack.eu/" target="_blank" rel="noopener noreferrer">side channels</a>
; and everything deployed today was hand-built by expert cryptographers over months. Agents are likely to need bespoke secure protocols stood up in seconds, for custom interactions.&#160;<a href="#fnref:16" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:17">
<p>The phone chip was the <a href="https://archive.epic.org/crypto/clipper/" target="_blank" rel="noopener noreferrer">Clipper chip</a>
, 1993-1996. Zimmermann&rsquo;s investigation was <a href="http://www.philzimmermann.com/EN/news/PRZ_case_dropped.html" target="_blank" rel="noopener noreferrer">dropped in 1996 without indictment</a>
. The ruling is <a href="https://www.eff.org/cases/bernstein-v-us-dept-justice" target="_blank" rel="noopener noreferrer">Bernstein v. US Dept. of Justice</a>
: &ldquo;this court finds that source code is speech.&rdquo;&#160;<a href="#fnref:17" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:18">
<p>HTTPS adoption numbers are from <a href="https://transparencyreport.google.com/https/overview" target="_blank" rel="noopener noreferrer">Google&rsquo;s transparency report</a>
.&#160;<a href="#fnref:18" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item></channel></rss>