Record¶
In short. Record checks a file you bring. It runs in your browser, and your file is never sent anywhere. It is at habitat.ooo/desk/record, behind the Desk password until it is fully vetted: ask for it at hello@thecommons.ooo. Without the password, you can still check a published receipt offline or with a kit: four ways to check.
What you can bring, and what runs on it¶
| You add | Desk calls it | Checks that run |
|---|---|---|
A Claude Code session log (.jsonl) |
agent session log | Repeat, Scope, Fingerprint |
| A receipt the Foundation published | Habitat receipt | Fingerprint, Published |
| A trace, save or gem you made on Desk | file | Fingerprint, Signed |
| Anything else | file | Fingerprint |
The lower part of the left drawer, Receipt types, lists every check. A check that doesn't fit your file is greyed out, with a note saying what it needs.
The checks, in plain words¶
Repeat. Did the agent re-issue an action the person refused? When you refuse an action, Claude Code writes a fixed sentence into the log. Repeat finds each refusal, then looks for the very same action issued again later. It cannot see whether you changed your mind and said go ahead.
Scope. Did the agent write outside the folder it was given? Every log records the folder the session was started in. Scope compares each file the agent created or changed (with its Write, Edit and NotebookEdit tools) against that folder. Writes outside are listed, not judged: some are fine, such as notes or scratch files. Commands run in a shell are not counted, because the log can't say for certain what they touched.
Fingerprint. Has this record changed since now? A SHA-256 of the file's exact bytes, with the time on your browser's clock. Change one character and the fingerprint changes. copy fingerprint puts the whole value on your clipboard.
Published. Is this the receipt Habitat published? For the Foundation's own receipts. Desk fetches the Foundation's public anchor files from habitat.ooo and checks, in your tab, that this exact file is the one the Foundation signed and entered in a public log (Sigstore's Rekor). When it holds, it says so, with the date it was logged.
Signed. Who signed this, and is it unchanged since? For files made on Desk: it names the key that signed the file, says whether that key belonged to a member at the time, and confirms that nothing has changed since signing.
Step by step¶
Add a file¶
Click + Add a document, or drag a file onto the page. Desk takes one file at a time. You can add more, one after another; each appears under Your receipts.
Run the checks¶
Click Check in the foot of the page, or press ⌘ Return (Ctrl Enter on Windows). A line appears for each check: ✓ clear, ● found, ✗ failed (the file isn't what the check expected, or the check couldn't run). Repeat and Scope print their limit underneath; Fingerprint, Published and Signed print none.
After Repeat and Scope, Desk adds one sentence: A kept record shows what the session emitted and observed, and that nothing was altered after it was anchored. It doesn't show fault or intent, or anything the session didn't record. That is: the log shows what the agent did and saw, and that no one changed it afterwards.
Read the session¶
The right drawer, The record, tells the session as a list of plain events: The person asked, The agent said, The agent saw, ran a command, changed a file, The person refused that action. It did not run. A dot marks anything a check found. Below the list, Details for checking gives the file's full fingerprint.
Keep a trace¶
In the left drawer, each check run shows "checked" and a time, with a ↓ button. Click it to download a trace,
named like receipt-<your file>-<date and time>.json. The trace holds the file's name, size and fingerprint, and
every result, with the limit of each rule that has one. It does not hold the file itself.
The trace is signed by your browser's own key. If the key isn't ready, the trace saves unsigned, and the foot says so.
Save your whole desk¶
Click Save in the foot to download one file of your desk, named like receipt-desk-2026-10-201530.json. It lists
every file you added with its name, size and every check run, and none of the files' contents. It is unsigned, for
your own keeping; signed traces come from the ↓ beside each run.
Check a trace later¶
Add the trace you downloaded, exactly as you would add a log, and press Check. Signed tells you who signed it and that it hasn't changed. Fingerprint gives its current fingerprint.
Open one of the Foundation's receipts¶
On an empty desk, under "Or open a published receipt", click any of the five names, then Check. Each also has its own address, such as habitat.ooo/desk/record/keep-out, and each receipt page on habitat.ooo links to it as Check on Desk (password). For example, keep out answered on 20 October 2026: "yes: exactly as published, signed by Habitat Foundation, logged on 16 October 2026 at 14:53 UTC."
Take a file off the list¶
Click take off beside its name. It moves to Taken off, with put back beside it. Clear the queue moves taken-off files to Cleared, still in this browser and still with put back. Nothing is erased.
Good to know¶
- Adding the same file twice selects the copy already listed rather than adding another.
- ⌘ Return runs Check; ⌘ \ opens and closes the left drawer (Ctrl on Windows).
- Your list of receipts is kept in this browser only. Another browser or computer starts empty.
- Files over 2 MB are listed with their results, but their text isn't kept. Add the file again to check it again.
- When the page opens, it asks the Foundation's server one thing: whether your browser's key belongs to a member. Your file is never sent.
- The short line under the desk switch (open it with the eye button) shows where things are kept and which key signs.
- The line "Start with a real case" opens a sample session, also behind the Desk password; without it, Desk says "The case could not be opened (401)". Use your own log, or a published receipt.
What it does not do. It doesn't read logs from agents other than Claude Code; each new format needs its own written rule. It doesn't judge whether a write outside the folder was wrong, or why an action was repeated. It doesn't send, store or share your file.