function capstoneFlowFigure(host) { ensureStyles(); var parts = []; parts.push('discover'); parts.push('schema check'); parts.push('MRTR consent'); parts.push('task poll'); parts.push('audited result'); parts.push(''); parts.push(''); parts.push(''); parts.push(''); parts.push('traceparent: one trace id end to end'); parts.push(''); parts.push(''); parts.push(''); parts.push(''); parts.push(''); parts.push(''); parts.push('audit log:'); parts.push('e1'); parts.push('e2'); parts.push('e3'); parts.push('e4'); parts.push(''); parts.push(''); parts.push(''); parts.push('verify: ok'); parts.push('OAuth: audience checked'); var shell = document.createElement('div'); shell.className = 'mf-shell'; shell.innerHTML = [ '
Capstone Exchange discovery through consent, a task, and an audited result
', '
', '', '', '', parts.join(''), '', '
', '
One incident response exchange touches every domain at once: discovery with cache hints, a schema check that returns isError before it ever asks for consent, an MRTR round trip protected by an HMAC signed requestState, a task polled to completion, and a result. The same trace id threads every hop, an OAuth audience check gates the one HTTP call, and a hash chained audit log records the outcome of each step and still verifies at the end.
' ].join(''); host.appendChild(shell); } // register as: mcpa-33-capstone-flow