SentinelWorkspace

Implementers

Build this yourself

The website is a demo for people running a model on their own machine. If you already serve one, implement the rules below and throw the UI away. Full field list: SPEC.md in the repository. Labs can rebuild this. Local builders are who it is for.

Rules

  1. Do not write into the content. No watermark.
  2. The public file does not name the model unless you choose to.
  3. Hash prompts and outputs. Do not ship the text by default.
  4. No valid signature means unlabeled — not “human.”
  5. A signature means this key attested these bytes. Not that they are true.
  6. The “this is AI” sentence includes the attested time. Peel the clock → tamper.
  7. Missing sidecar is unlabeled. That is non-use, not a Sentinel defect.
  8. A vendor-only watermark (only they can see it) is not Art. 50.

Sign

Ed25519 (or P-256). Canonical JSON, keys sorted, no extra whitespace. Sign everything except the signature field. Attach as work.txt.sentinel.json or X-Sentinel-Attestation.

Verify

Missing signature → reject. Bad signature → reject. Optional: re-hash the content and compare. A new key is a new identity, not a forgery of yours.

Keep private

Model version, prompt hash, output hash, human-in-the-loop. That is the Art. 12 ledger. It does not belong in the public notice.

Verify a file · Why not watermarks