File size: 16,310 Bytes
d9afa74
 
 
 
 
 
 
 
 
 
9fe1a4b
 
d9afa74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9fe1a4b
d9afa74
9fe1a4b
d9afa74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5facb4e
 
 
 
 
d9afa74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5facb4e
 
 
 
d9afa74
 
 
 
 
 
 
 
 
82d5ef8
d9afa74
 
 
 
 
 
 
 
 
 
 
 
 
82d5ef8
d9afa74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>KYE Protocol™ — Know Your Entity™ · runtime authority for delegated AI</title>
<meta name="description" content="KYE Protocol™ makes who/what acted, on whose authority, with what continuity of meaning, observable, governable, revocable and replayable across humans, AI agents, tools, workflows, APIs and autonomous services." />
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='12' fill='%231a8754'/%3E%3Cpath d='M14 14 L14 50 M14 32 L34 14 M14 32 L34 50 M40 14 L52 50 M52 14 L40 50' stroke='white' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E" />
<style>
  :root{
    --bg:#f7f8fc; --paper:#ffffff; --paper-2:#eef0f8; --line:rgba(15,20,36,0.12);
    --text:#0f1424; --text-muted:#5a6178; --accent:#7c3aed; --accent-2:#6d28d9; --green:#1a8754; --green-bg:rgba(26,135,84,0.12);
  }
  *,*::before,*::after{box-sizing:border-box}
  html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline;text-underline-offset:2px}
  .wrap{max-width:1080px;margin:0 auto;padding:0 22px}
  header.hero{padding:72px 0 36px;border-bottom:1px solid var(--line)}
  .pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(167,139,250,0.12);color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
  .pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
  h1{font-size:clamp(36px,5vw,56px);line-height:1.05;margin:18px 0 10px;letter-spacing:-0.025em;font-weight:800}
  h1 .accent{background:linear-gradient(120deg,#a78bfa 0%,#7c3aed 50%,#06b6d4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .lede{color:var(--text-muted);font-size:17px;line-height:1.55;max-width:780px;margin:14px 0}
  .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;border:1px solid var(--line);color:var(--text);background:var(--paper)}
  .btn-primary{background:var(--accent-2);border-color:var(--accent-2);color:#fff}
  .btn-primary:hover{background:var(--accent)}
  .btn:hover{border-color:var(--accent);text-decoration:none}
  section{padding:48px 0;border-bottom:1px solid var(--line)}
  section:last-of-type{border-bottom:0}
  h2{font-size:clamp(24px,2.6vw,32px);font-weight:700;margin:0 0 8px;letter-spacing:-0.02em}
  .eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
  .card{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
  .card strong{display:block;font-size:14px;margin-bottom:4px}
  .card span{color:var(--text-muted);font-size:13px;line-height:1.5}
  .lc-card{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
  .lc-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
  .lc-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;transition:border-color .25s,background .25s}
  .lc-row.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
  .lc-row.is-done .lc-mark{background:var(--green);color:#fff}
  .lc-row.is-pending .lc-mark{background:var(--paper);color:var(--text-muted);font-weight:700}
  .lc-mark{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,20,36,0.07);color:var(--text-muted);font-size:13px;flex-shrink:0;transition:background .35s,color .35s,transform .35s}
  .lc-row.is-done .lc-mark{transform:scale(1.05)}
  .lc-state{padding:3px 9px;border-radius:5px;background:rgba(15,20,36,0.05);color:var(--text)}
  .lc-arrow{color:var(--text-muted)}
  .lc-target{padding:3px 9px;border-radius:5px;background:rgba(167,139,250,0.18);color:var(--accent)}
  .lc-meta{margin-left:auto;color:var(--text-muted);font-size:11px;font-family:system-ui,sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
  .table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13.5px}
  .table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
  .table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
  .footer{padding:28px 0;border-top:1px solid var(--line);color:var(--text-muted);font-size:12.5px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
  .footer-social{display:inline-flex;gap:8px}
  .footer-social a{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}
  .footer-social a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
  .quote{margin:18px 0;padding:14px 18px;border-left:3px solid var(--accent);font-style:italic;color:var(--text-muted)}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
  @media (max-width:760px){.split{grid-template-columns:1fr}}
  .split > div{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
  .split h3{margin:0 0 10px;font-size:15px}
  .split ul{margin:0;padding-left:18px;line-height:1.7}
  .split li{font-size:13.5px;color:var(--text-muted)}
  .badges{display:inline-flex;gap:8px;margin-top:14px;flex-wrap:wrap}
  .badge{padding:5px 10px;border-radius:6px;background:var(--paper-2);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--line)}
</style>
</head>
<body>
<div class="wrap">

<header class="hero">
  <span class="pill"><span class="dot"></span> KYE Protocol™ · v1.1 · Apache-2.0 contracts</span>
  <h1>Know Your Entity™ —<br/>runtime authority for <span class="accent">delegated AI</span>.</h1>
  <p class="lede">KYE Protocol™ makes <strong>who/what acted</strong>, on whose authority, with what continuity of meaning, observable, governable, revocable and replayable across humans, AI agents, tools, workflows, APIs and autonomous services.</p>
  <p class="lede"><em>Most systems prove what happened. KYE also asks whether the meaning survived.</em></p>
  <div class="cta">
    <a class="btn btn-primary" href="https://huggingface.co/spaces/KYE-Protocol/meaning-continuity-lab">Open Meaning Continuity Lab™ →</a>
    <a class="btn" href="https://kyeprotocol.com">kyeprotocol.com</a>
    <a class="btn" href="https://github.com/KYE-Protocol">GitHub</a>
  </div>
  <div class="badges">
    <span class="badge">602 schemas</span>
    <span class="badge">169 examples</span>
    <span class="badge">10 canonical profiles</span>
    <span class="badge">31 vocabulary docs</span>
    <span class="badge">Apache-2.0 contracts</span>
  </div>
</header>

<section>
  <span class="eyebrow">State drives runtime</span>
  <h2>One protocol, eight engines, every action signed.</h2>
  <p class="lede">Every entity in KYE™ has a state. State drives what's allowed at runtime. Watch a vendor onboarding move through its lifecycle:</p>

  <div class="lc-card">
    <div class="lc-eyebrow">Vendor lifecycle — example</div>
    <div id="lc-steps"></div>
  </div>
</section>

<section>
  <span class="eyebrow">Open contracts (Apache-2.0)</span>
  <h2>The contracts are open. The engines are paid.</h2>
  <table class="table">
    <thead><tr><th>Hugging Face artifact</th><th>What</th><th>License</th></tr></thead>
    <tbody>
      <tr><td><a href="https://huggingface.co/spaces/KYE-Protocol/meaning-continuity-lab">meaning-continuity-lab</a></td><td>Interactive demo: 5 scenarios × 8 continuity dimensions → meaning-continuity score, drift reason codes, signed-style decision JSON</td><td>Apache-2.0</td></tr>
      <tr><td><a href="https://huggingface.co/datasets/KYE-Protocol/schemas">schemas</a></td><td>All KYE™ JSON Schemas (Core, Continuity, Discoverability, Ontology, Operating Model, Assurance Card, Formal Rules, Action Admissibility, Meaning Continuity)</td><td>Apache-2.0</td></tr>
      <tr><td><a href="https://huggingface.co/datasets/KYE-Protocol/reason-codes">reason-codes</a></td><td>Canonical reason-code dictionary across decisions, drift events, obligations</td><td>Apache-2.0</td></tr>
      <tr><td><a href="https://huggingface.co/datasets/KYE-Protocol/examples">examples</a></td><td>Validated example payloads for every schema</td><td>Apache-2.0</td></tr>
      <tr><td><a href="https://huggingface.co/datasets/KYE-Protocol/kye-models-governance">kye-models-governance</a></td><td>Article: Governed Models — capability vs. authority, AI-BOM Chain of Authority, declare → assess → certify</td><td>Apache-2.0</td></tr>
    </tbody>
  </table>

  <div class="split">
    <div>
      <h3>Open under Apache-2.0</h3>
      <ul>
        <li>All v1 schemas + JSON Schema 2020-12 contracts</li>
        <li>Reason-code dictionary + drift-type taxonomy</li>
        <li>Data-governance contracts (data_asset · data_use_manifest · DSAR evidence pack)</li>
        <li>Webhook event names</li>
        <li>Sample fixtures, examples, conformance test vectors</li>
        <li>SDKs: TypeScript / Python / Go</li>
        <li>Reference Gateway (correctness-first)</li>
      </ul>
    </div>
    <div>
      <h3>Paid runtime layer (proprietary)</h3>
      <ul>
        <li>KYE Runtime Gateway™ (production)</li>
        <li>KYE Decision / Continuity / Discovery / Ontology Engines™</li>
        <li>KYE Rights &amp; Obligations Engine™ + Admissibility Engine™</li>
        <li>KYE Meaning Continuity Engine™ + Drift Monitor™</li>
        <li>KYE Data Governance Pack™ (runtime data_use stage · default-deny · per-access evidence)</li>
        <li>KYE Reconfirmation Flow™</li>
        <li>Sector packs · BYOC / on-prem · 24/7 SLA</li>
      </ul>
    </div>
  </div>
</section>

<section>
  <span class="eyebrow">Why "continuity of meaning"</span>
  <h2>Provenance is not continuity.</h2>
  <p class="lede">In agentic systems, an action's authorised meaning can <strong>drift</strong> before execution. Memory becomes stale, context changes, incentives conflict, intent gets reinterpreted across handoffs.</p>
  <p class="lede">KYE Meaning Continuity™ checks whether <strong>original intent, constraints, context, memory, incentives, timing and state</strong> remain aligned across handoffs <em>before</em> the action is admitted, authorised, committed and evidenced.</p>
  <blockquote class="quote">Attribution proves who acted. Meaning Continuity™ checks whether the action still means what it was supposed to mean.</blockquote>
  <div class="cta">
    <a class="btn btn-primary" href="https://huggingface.co/spaces/KYE-Protocol/meaning-continuity-lab">Try the Lab → pick a scenario, change drift signals, watch the score</a>
  </div>
</section>

<footer class="footer">
  <div>© <span id="yr"></span> KYE Protocol™. All trademarks are property of the KYE Protocol™ project. Apache-2.0 contracts.</div>
  <div class="footer-social">
    <a href="https://github.com/KYE-Protocol" title="GitHub" aria-label="GitHub">
      <svg viewBox="0 0 24 24" fill="currentColor" width="16" height="16"><path d="M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.02-.02-2-3.2.69-3.87-1.54-3.87-1.54-.52-1.33-1.27-1.69-1.27-1.69-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.72-1.54-2.55-.29-5.24-1.28-5.24-5.69 0-1.26.45-2.29 1.18-3.1-.12-.29-.51-1.46.11-3.05 0 0 .96-.31 3.15 1.18.91-.25 1.89-.38 2.86-.38.97 0 1.95.13 2.86.38 2.19-1.49 3.15-1.18 3.15-1.18.62 1.59.23 2.76.11 3.05.74.81 1.18 1.84 1.18 3.1 0 4.43-2.69 5.4-5.26 5.68.41.36.78 1.06.78 2.13 0 1.54-.01 2.78-.01 3.16 0 .31.21.67.79.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z"/></svg>
    </a>
    <a href="https://x.com/kyeprotocol" title="X" aria-label="X">
      <svg viewBox="0 0 24 24" fill="currentColor" width="14" height="14"><path d="M18.244 2H21.5l-7.5 8.57L23 22h-6.84l-5.36-7.01L4.6 22H1.34l8.02-9.16L1 2h7.01l4.84 6.4L18.244 2zm-1.2 18h1.81L7.05 4H5.13l11.91 16z"/></svg>
    </a>
    <a href="https://www.linkedin.com/company/kye-protocol" title="LinkedIn" aria-label="LinkedIn">
      <svg viewBox="0 0 24 24" fill="currentColor" width="16" height="16"><path d="M20.45 20.45h-3.55v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.36V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.38-1.85 3.61 0 4.27 2.38 4.27 5.47v6.27zM5.34 7.43A2.06 2.06 0 113.28 5.37a2.06 2.06 0 012.06 2.06zm-1.78 13.02h3.56V9H3.56v11.45zM22.23 0H1.77C.79 0 0 .77 0 1.72v20.56C0 23.23.79 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.21 0 22.23 0z"/></svg>
    </a>
    <a href="https://kyeprotocol.com" title="kyeprotocol.com" aria-label="kyeprotocol.com">
      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="14" height="14"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>
    </a>
  </div>
</footer>

</div>

<script>
  document.getElementById('yr').textContent = new Date().getFullYear();

  // Vendor lifecycle auto-stepper — adopted from kyeprotocol.com legacy
  // landing. Walks through canonical vendor onboarding states, marking
  // each green every 900ms. Loops; pauses on hover.
  const STEPS = [
    { from: 'submitted',                to: 'under_review',           note: '' },
    { from: 'under_review',             to: 'approved',               note: '' },
    { from: 'approved',                 to: 'conditionally_approved', note: '' },
    { from: 'conditionally_approved',   to: 'active',                 note: '' },
    { from: 'active',                   to: 'expired',                note: 'ISO renewal due' },
    { from: 'expired',                  to: 'suspended',              note: '30-day grace ended' },
    { from: 'suspended',                to: 'offboarded',             note: 'cascade complete' },
  ];

  const host = document.getElementById('lc-steps');
  STEPS.forEach((s, i) => {
    const row = document.createElement('div');
    row.className = 'lc-row is-pending';
    row.dataset.idx = i;
    row.innerHTML = `
      <span class="lc-mark">${i + 1}</span>
      <span class="lc-state">${s.from}</span>
      <span class="lc-arrow">→</span>
      <span class="lc-target">${s.to}</span>
      ${s.note ? `<span class="lc-meta">${s.note}</span>` : ''}
    `;
    host.appendChild(row);
  });

  let cursor = 0;
  let paused = false;
  const interval = 900;

  function tick() {
    if (paused) return;
    const rows = host.querySelectorAll('.lc-row');
    if (cursor >= rows.length) {
      // Reset for next loop
      rows.forEach(r => { r.classList.remove('is-done', 'is-active'); r.classList.add('is-pending'); });
      cursor = 0;
      return;
    }
    rows.forEach((r, i) => {
      r.classList.remove('is-active');
      if (i < cursor) {
        r.classList.add('is-done');
        r.classList.remove('is-pending');
        const m = r.querySelector('.lc-mark');
        m.textContent = '✓';
      } else if (i === cursor) {
        r.classList.add('is-active');
      }
    });
    cursor++;
  }

  // First step animates immediately
  setTimeout(tick, 250);
  setInterval(tick, interval);

  host.addEventListener('mouseenter', () => paused = true);
  host.addEventListener('mouseleave', () => paused = false);
</script>

</body>
</html>