Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion scripts/shared-copy.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@
"no network call to (us|Observer)",
"no call to (us|Observer)",
"no Observer Protocol API in the path",
"makes no network call at all"
"makes no network call at all",
"our uptime",
"permission from us"
],
"claimPatternsAreRegex": "Case-insensitive regexes, matched by check-shared-copy.mjs. Written from the site's own examples rather than from one remembered sentence: the claim is spelled 'call back to us' on index.html and 'callback to Observer' on docs.html, and a literal lower-case list saw neither the capitalised heading nor the Observer variant. Four assertions were invisible to this block on 2026-08-09 for exactly that reason. When you add a home for the claim, add its WORDING here, not just its file.",
"claimPatternNote": "Any occurrence of these in an HTML file MUST sit inside an element tagged data-shared-copy=\"offline-scope\". That is what makes a tenth instance a build failure rather than a discovery. Add the tag, or add the file to mustAppearIn if it is a new home for the claim. Some tagged instances REFER to the claim rather than asserting it (docs.html's resolution-hosting rationale is one). They are tagged anyway: the enumeration's job is to know everywhere the phrase appears, and a human scoping the claim decides per instance."
Expand Down
12 changes: 9 additions & 3 deletions sdk.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,15 @@ <h2>Verifying a credential</h2>
</p>

<h2>Everything it checks, you can re-check</h2>
<p>
The DID document is public, the schema URLs are frozen and immutable, and revocation status lists
are static public files. Verification requires neither our permission nor our uptime.
<p data-shared-copy="offline-scope">
The DID document is public and the schema URLs are frozen and immutable, so verification needs no
permission from us: nothing to authenticate to, and nothing we can withhold to make a credential
stop verifying. It is not independent of reachability, though.
<code>onUnreachable: 'cache-then-deny'</code> is the only implemented mode, so a revocation list
that cannot be fetched is served from cache inside the staleness window and <strong>denied</strong>
outside it &mdash; and Observer's own clause-zero status list is served by
<code>api.observerprotocol.org</code> rather than as a static file. It fails closed, and it will
refuse us too.
</p>
<ul style="color:var(--text-secondary);font-size:14px;line-height:1.9;">
<li><a href="https://github.com/observer-protocol/op-policy-engine">github.com/observer-protocol/op-policy-engine</a> &mdash; source</li>
Expand Down
Loading