<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" style="background: #ffffff; background-color: light-dark(#ffffff, #121212); color-scheme: light;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1815px" height="1024px" viewBox="0 0 1815 1024"><defs/><rect fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));" width="100%" height="100%" x="0" y="0"/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="13-2"><g><rect x="16.1" y="15.21" width="1780" height="44" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 37px; margin-left: 18px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: nowrap; "><span style="font-size:30px"><b>The sealed channel: analysed, not exempted</b></span></div></div></div></foreignObject><text x="18" y="41" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="12px">The sealed channel: analysed, not exempted</text></switch></g></g></g><g data-cell-id="13-3"><g><rect x="16.1" y="59.21" width="1780" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 74px; margin-left: 18px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><span style="font-size: 17px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">Encryption hides a surface; TEPP recovers it. The engine's question is who, never what — it reads the plaintext to find out, then discards it.</span></div></div></div></foreignObject><text x="18" y="78" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" font-family="Helvetica" font-size="12px">Encryption hides a surface; TEPP recovers it. The engine's question is who, never what — it reads the plaintext to find out, then discards it.</text></switch></g></g></g><g data-cell-id="13-4"><g><rect x="16.1" y="109.21" width="580" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 582px; height: 1px; padding-top: 114px; margin-left: 16px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:18px"><b>Reduction: peeling a private message</b></span></div></div></div></foreignObject><text x="16" y="129" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="15px">Reduction: peeling a private message</text></switch></g></g></g><g data-cell-id="13-5"><g><rect x="36.1" y="151.21" width="560" height="400" rx="7" ry="7" fill="#e3e7ee" style="fill: light-dark(rgb(227, 231, 238), rgb(35, 39, 45)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="2" stroke-dasharray="16 10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 534px; height: 1px; padding-top: 170px; margin-left: 50px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>gift wrap · kind 1059</b><br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">signed by a one-time key — verified, but never the author</span></div></div></div></foreignObject><text x="50" y="185" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="15px"><tspan x="50" y="185">gift wrap · kind 1059</tspan><tspan x="50" y="203">signed by a one-time key — verified, but never the author</tspan></text></switch></g></g></g><g data-cell-id="13-6"><g><rect x="66.1" y="227.21" width="500" height="300" rx="6" ry="6" fill="#eef1f5" style="fill: light-dark(rgb(238, 241, 245), rgb(28, 30, 34)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="2" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 474px; height: 1px; padding-top: 246px; margin-left: 80px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>seal · kind 13</b><br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">signed by the sender → the recovered author</span></div></div></div></foreignObject><text x="80" y="261" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="15px"><tspan x="80" y="261">seal · kind 13</tspan><tspan x="80" y="279">signed by the sender → the recovered author</tspan></text></switch></g></g></g><g data-cell-id="13-7"><g><rect x="96.1" y="307.21" width="440" height="190" rx="6" ry="6" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="2" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 414px; height: 1px; padding-top: 326px; margin-left: 110px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>rumor · kind 14 — the message itself</b><br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">unsigned; its pubkey must equal the seal's signer</span><br /><br /><span style="font-family: Courier New;">["p", "&lt;recipient&gt;"]</span>  ·  replies, quotes, npubs in the text</div></div></div></foreignObject><text x="110" y="341" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="15px"><tspan x="110" y="341">rumor · kind 14 — the message itself</tspan><tspan x="110" y="359">unsigned; its pubkey must equal the seal's signer</tspan><tspan x="110" y="377"></tspan><tspan x="110" y="395">["p", "&lt;recipient&gt;"] · replies, quotes, npubs in the text</tspan></text></switch></g></g></g><g data-cell-id="13-8"><g><rect x="36.1" y="581.21" width="560" height="176" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 534px; height: 1px; padding-top: 600px; margin-left: 50px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>Recovered surface</b><br />who sent it · everyone it names · everything it references — gated like any event, admitted only on the terms at right.<br /><b>Then the plaintext is discarded:</b> never stored, never logged, never published.<br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">Layer by layer until nothing further decrypts (by default at most 8). One layer that will not decrypt leaves the whole message unreduced — and denied. NIP-04 is recognised, never decrypted.</span></div></div></div></foreignObject><text x="50" y="614" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="50" y="614">Recovered surface</tspan><tspan x="50" y="631">who sent it · everyone it names · everything it references — gated like any event,</tspan><tspan x="50" y="648">admitted only on the terms at right.</tspan><tspan x="50" y="665">Then the plaintext is discarded: never stored, never logged, never published.</tspan><tspan x="50" y="682">Layer by layer until nothing further decrypts (by default at most 8). One layer that will</tspan><tspan x="50" y="699">not decrypt leaves the whole message unreduced — and denied. NIP-04 is</tspan><tspan x="50" y="716">recognised, never decrypted.</tspan></text></switch></g></g></g><g data-cell-id="13-9"><g><path d="M 316.1 553.21 L 316.1 567.98" fill="none" stroke="#56657a" style="stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 316.1 576.98 L 311.6 567.98 L 320.6 567.98 Z" fill="#56657a" style="fill: light-dark(rgb(86, 101, 122), rgb(140, 153, 171)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="13-10"><g><rect x="636.1" y="109.21" width="560" height="648" rx="7" ry="7" fill="#b0e3e6" style="fill: light-dark(rgb(176, 227, 230), rgb(16, 60, 63)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="2" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 530px; height: 1px; padding-top: 130px; margin-left: 652px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 15px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:19px"><b>A TEPP signer</b></span><br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">A client reaches the subject's key only through these three — so switching clients bypasses nothing.</span></div></div></div></foreignObject><text x="652" y="145" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="15px"><tspan x="652" y="145">A TEPP signer</tspan><tspan x="652" y="163">A client reaches the subject's key only through these three — so switching</tspan><tspan x="652" y="181">clients bypasses nothing.</tspan></text></switch></g></g></g><g data-cell-id="13-11"><g><rect x="660.1" y="195.21" width="512" height="136" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 490px; height: 1px; padding-top: 212px; margin-left: 672px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-family: Courier New;">sign_event(template [, disclosure])</span><br />Runs output evaluation in full. An encrypted template is reduced first: its counterparty comes from the disclosure, the locus's record, or a search over the people it may talk to.</div></div></div></foreignObject><text x="672" y="226" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="672" y="226">sign_event(template [, disclosure])</tspan><tspan x="672" y="243">Runs output evaluation in full. An encrypted template is reduced first: its</tspan><tspan x="672" y="260">counterparty comes from the disclosure, the locus's record, or a search over</tspan><tspan x="672" y="277">the people it may talk to.</tspan></text></switch></g></g></g><g data-cell-id="13-12"><g><rect x="660.1" y="347.21" width="512" height="136" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 490px; height: 1px; padding-top: 364px; margin-left: 672px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-family: Courier New;">nip44_encrypt(recipient, plaintext)</span><br />Runs output evaluation up to coverage: the recipient is an element and needs an interact grant. Ciphertext only on permit.</div></div></div></foreignObject><text x="672" y="378" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="672" y="378">nip44_encrypt(recipient, plaintext)</tspan><tspan x="672" y="395">Runs output evaluation up to coverage: the recipient is an element and needs</tspan><tspan x="672" y="412">an interact grant. Ciphertext only on permit.</tspan></text></switch></g></g></g><g data-cell-id="13-13"><g><rect x="660.1" y="499.21" width="512" height="136" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 490px; height: 1px; padding-top: 516px; margin-left: 672px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-family: Courier New;">nip44_decrypt(counterparty, ciphertext)</span><br />Runs the input verdict over the recovered surface, seeking the hit on the recovered author. On permit it returns the plaintext of the layer it was asked for — nothing on deny.</div></div></div></foreignObject><text x="672" y="530" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="672" y="530">nip44_decrypt(counterparty, ciphertext)</tspan><tspan x="672" y="547">Runs the input verdict over the recovered surface, seeking the hit on the</tspan><tspan x="672" y="564">recovered author. On permit it returns the plaintext of the layer it was asked for</tspan><tspan x="672" y="581">— nothing on deny.</tspan></text></switch></g></g></g><g data-cell-id="13-14"><g><rect x="660.1" y="655.21" width="512" height="88" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="1.5" stroke-dasharray="9 6" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 494px; height: 1px; padding-top: 670px; margin-left: 670px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 13.5px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>The policy read: </b>decrypting TEPP's own sealed artifacts — a current guardian's sealed carrier or offer, the subject's association — is answered without a verdict.<br /><span style="font-size: 12px; color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">Every other key-using method is refused, NIP-04 included.</span></div></div></div></foreignObject><text x="670" y="684" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="670" y="684">The policy read: decrypting TEPP's own sealed artifacts — a current guardian's</tspan><tspan x="670" y="700">sealed carrier or offer, the subject's association — is answered without a verdict.</tspan><tspan x="670" y="716">Every other key-using method is refused, NIP-04 included.</tspan></text></switch></g></g></g><g data-cell-id="13-15"><g><path d="M 1796.1 143.21 L 1796.1 113.21 Q 1796.1 109.21 1792.1 109.21 L 1240.1 109.21 Q 1236.1 109.21 1236.1 113.21 L 1236.1 143.21" fill="#e3e7ee" style="fill: light-dark(rgb(227, 231, 238), rgb(35, 39, 45)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1236.1 143.21 L 1236.1 753.21 Q 1236.1 757.21 1240.1 757.21 L 1792.1 757.21 Q 1796.1 757.21 1796.1 753.21 L 1796.1 143.21" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke="#56657a" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 1236.1 143.21 L 1796.1 143.21" fill="none" stroke="#56657a" style="stroke: light-dark(rgb(86, 101, 122), rgb(140, 153, 171));" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 126px; margin-left: 1516px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #1f2933; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap; "><span style="font-size:16px"><b>The regime of the sealed channel</b></span></div></div></div></foreignObject><text x="1516" y="130" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">The regime of the sealed channel</text></switch></g></g><g data-cell-id="13-16"><g><rect x="1246.1" y="149.21" width="540" height="602" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 542px; height: 1px; padding-top: 154px; margin-left: 1246px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><b>Inbound</b> — gated at every enforcing locus. A private message is admitted only through an interact grant on its recovered author, or as the subject's own copy — never because of the relay it arrived on.<br /><br /><b>Outbound</b> — exactly as permissive as the open channel: a sealed send needs what a public mention needs, no more and no less.<br /><br /><b>Narrowing</b> — only by restriction, written with <span style="font-family: Courier New;">opacity: opaque</span>:<br />• on one permission — e.g. school friends can be tagged in public but not messaged privately;<br />• in the global set — no private messages to anyone, guardians included.<br /><br /><b>No middle setting</b> — a permitted private channel is private, guardians included. Nothing copies a guardian into it.<br /><br /><b>Storage is not correspondence</b> — what the subject encrypts to itself (a private list, a draft) is not reached by the opacity axis.</div></div></div></foreignObject><text x="1246" y="170" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="16px"><tspan x="1246" y="170">Inbound — gated at every enforcing locus. A private message is admitted</tspan><tspan x="1246" y="189">only through an interact grant on its recovered author, or as the subject's</tspan><tspan x="1246" y="208">own copy — never because of the relay it arrived on.</tspan><tspan x="1246" y="227"></tspan><tspan x="1246" y="246">Outbound — exactly as permissive as the open channel: a sealed send</tspan><tspan x="1246" y="265">needs what a public mention needs, no more and no less.</tspan><tspan x="1246" y="284"></tspan><tspan x="1246" y="303">Narrowing — only by restriction, written with opacity: opaque:</tspan><tspan x="1246" y="322">• on one permission — e.g. school friends can be tagged in public but not</tspan><tspan x="1246" y="341">messaged privately;</tspan><tspan x="1246" y="360">• in the global set — no private messages to anyone, guardians included.</tspan><tspan x="1246" y="379"></tspan><tspan x="1246" y="398">No middle setting — a permitted private channel is private, guardians</tspan><tspan x="1246" y="417">included. Nothing copies a guardian into it.</tspan><tspan x="1246" y="436"></tspan><tspan x="1246" y="455">Storage is not correspondence — what the subject encrypts to itself (a</tspan><tspan x="1246" y="474">private list, a draft) is not reached by the opacity axis.</tspan></text></switch></g></g></g></g><g data-cell-id="13-17"><g><rect x="16.1" y="791.21" width="430" height="150" rx="4" ry="4" fill="#b0e3e6" style="fill: light-dark(rgb(176, 227, 230), rgb(16, 60, 63)); stroke: light-dark(rgb(14, 128, 136), rgb(70, 168, 175));" stroke="#0e8088" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 404px; height: 1px; padding-top: 810px; margin-left: 30px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:16px"><b>The engine reads — then forgets</b></span><br />Where it can reach the key, the engine reads the subject's private messages, both ways, to learn who they involve, and discards the plaintext. The engine is the subject's own: nothing is hidden from the subject by it.</div></div></div></foreignObject><text x="30" y="824" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="30" y="824">The engine reads — then forgets</tspan><tspan x="30" y="841">Where it can reach the key, the engine reads the subject's</tspan><tspan x="30" y="858">private messages, both ways, to learn who they involve, and</tspan><tspan x="30" y="875">discards the plaintext. The engine is the subject's own: nothing is</tspan><tspan x="30" y="892">hidden from the subject by it.</tspan></text></switch></g></g></g><g data-cell-id="13-18"><g><rect x="466.1" y="791.21" width="430" height="150" rx="4" ry="4" fill="#ffffff" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18)); stroke: light-dark(rgb(77, 77, 77), rgb(171, 171, 171));" stroke="#4d4d4d" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 404px; height: 1px; padding-top: 810px; margin-left: 480px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:16px"><b>The household keeps who, never what</b></span><br />The trace at the device names the correspondents. The locus's reduction record remembers recipients and surfaces, never content — and never leaves the locus.</div></div></div></foreignObject><text x="480" y="824" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="480" y="824">The household keeps who, never what</tspan><tspan x="480" y="841">The trace at the device names the correspondents. The locus's</tspan><tspan x="480" y="858">reduction record remembers recipients and surfaces, never</tspan><tspan x="480" y="875">content — and never leaves the locus.</tspan></text></switch></g></g></g><g data-cell-id="13-19"><g><rect x="916.1" y="791.21" width="430" height="150" rx="4" ry="4" fill="#ffe6cc" style="fill: light-dark(rgb(255, 230, 204), rgb(54, 33, 10)); stroke: light-dark(rgb(215, 155, 0), rgb(153, 101, 0));" stroke="#d79b00" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 404px; height: 1px; padding-top: 810px; margin-left: 930px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:16px"><b>Oversight sees volume and timing</b></span><br />Where a permission routes a monitor copy, a sealed send reaches it as ciphertext — but signed by the subject: a public, attributable record that a message was sent, then.</div></div></div></foreignObject><text x="930" y="824" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="930" y="824">Oversight sees volume and timing</tspan><tspan x="930" y="841">Where a permission routes a monitor copy, a sealed send</tspan><tspan x="930" y="858">reaches it as ciphertext — but signed by the subject: a public,</tspan><tspan x="930" y="875">attributable record that a message was sent, then.</tspan></text></switch></g></g></g><g data-cell-id="13-20"><g><rect x="1366.1" y="791.21" width="430" height="150" rx="4" ry="4" fill="#f8cecc" style="fill: light-dark(rgb(248, 206, 204), rgb(81, 45, 43)); stroke: light-dark(rgb(184, 84, 80), rgb(215, 129, 126));" stroke="#b85450" stroke-width="1.5" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 404px; height: 1px; padding-top: 810px; margin-left: 1380px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 14px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size:16px"><b>Honest limits</b></span><br />Recognition is structural: an unknown scheme, or a message hidden in an ordinary-looking note, is not detected. Where the guardian is the threat, TEPP is not the remedy.</div></div></div></foreignObject><text x="1380" y="824" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="14px"><tspan x="1380" y="824">Honest limits</tspan><tspan x="1380" y="841">Recognition is structural: an unknown scheme, or a message</tspan><tspan x="1380" y="858">hidden in an ordinary-looking note, is not detected. Where the</tspan><tspan x="1380" y="875">guardian is the threat, TEPP is not the remedy.</tspan></text></switch></g></g></g><g data-cell-id="13-21"><g transform="translate(0.5,0.5)"><path d="M 16.1 973.21 L 1796.1 973.21" fill="none" stroke="#d9dee4" style="stroke: light-dark(rgb(217, 222, 228), rgb(42, 47, 52));" stroke-miterlimit="10" pointer-events="stroke"/></g></g><g data-cell-id="13-22"><g><rect x="16.1" y="981.21" width="1780" height="26" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1782px; height: 1px; padding-top: 994px; margin-left: 16px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #1f2933; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#1f2933, #c4ccd5); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="color: light-dark(rgb(82, 96, 109), rgb(146, 158, 170));">TEPP Zeta · diagram 13 · statements: OPQ-001–OPQ-127, SURF-033–SURF-044, IN-019–IN-025, OUT-037, RESTR-032–RESTR-036, TOOL-036–TOOL-042, NF-063–NF-081</span></div></div></div></foreignObject><text x="16" y="998" fill="#1f2933" style="fill: light-dark(rgb(31, 41, 51), rgb(196, 204, 213));" font-family="Helvetica" font-size="12px">TEPP Zeta · diagram 13 · statements: OPQ-001–OPQ-127, SURF-033–SURF-044, IN-019–IN-025, OUT-037, RESTR-032–RESTR-036, TOOL-036–TOOL-042, NF-063–NF-081</text></switch></g></g></g></g></g></g></svg>