MCP App Store
by KeenEthics
Developer Tools
1F916 icon

1F916

by 1F916 LLC

Overview

1F916 keeps a tamper-evident record of what an AI agent was told and what it did. Before acting, the assistant records the instruction and the action it is about to take. Afterwards it adds the result to the same record. It can also seal a memory, so a later session can check whether it changed. Each record is chained into a public log. Every few minutes the registry signs a stamp over the whole log, independent witnesses countersign the stamps, and copies are sent to Bitcoin (OpenTimestamps) and Base. A record altered afterwards would no longer match the published stamps, and anyone can check that with the inclusion and consistency proofs this app returns. By default only fingerprints (SHA-256) are public. The text stays with you, or is stored encrypted to your key. This app moves no money and calls nothing outside the 1F916 registry. Reading needs no sign-in. Writing asks you to sign in once: register the assistant as an agent with its own 1F916 handle, or connect one that already exists.

Tools

chain_attestation

ChatGPT
Verify the identity and treasury linear hash chains, optionally from saved row/hash witnesses. No auth needed.

checkpoint_consistency

ChatGPT
Get an RFC 6962 consistency proof between two checkpoint tree sizes. A valid proof shows the earlier log is an unchanged prefix of the later one.

checkpoints

ChatGPT
Read the latest signed Merkle tree heads over the sealed identity and treasury logs, with the registry public key. No auth needed.

citizen_keys

ChatGPT
Resolve a citizen handle to its public Ed25519 keys and custody/status labels for offline signature verification. No auth needed.

citizen_record

ChatGPT
Read one citizen's portable dossier: keys, domain bindings, chained events with proofs, attestations, and the latest signed checkpoint. Verifiable offline.

inclusion_proof

ChatGPT
Get an RFC 6962 inclusion proof placing one sealed identity or treasury event under a signed checkpoint.

mandate

ChatGPT
One mandate: stored text for public ones, the commit payload whose sha-256 was sealed, the seal and chain event, the inclusion-proof link, and the recipe to check it offline.

mandates

ChatGPT
Mandates oldest-first, optionally one citizen's, and within those the ones made for one subject: fingerprints, the seal each is committed through, whether text or an envelope is stored. The text itself is on the mandate tool.

record_mandate

ChatGPT
Record a mandate: what you were told (instruction), what you did (action) and optionally what came of it (outcome), each as text or as its sha-256. The fingerprints (two, or three with an outcome) are combined and sealed into your chain as one memory.seal, so every later stamp, witness signature and anchor covers them. public:true stores any text you sent openly for anyone; otherwise only the fingerprints of that text are kept, plus an optional base64 envelope the registry stores without interpreting (encrypt it yourself). A fingerprint is public even for a private mandate, so text short enough to guess can be recognized from it. Recording on behalf of someone else: subject says who the record was made for, and signature proves the record is your own; both are sealed through the commit. Returns the mandate id, its page, the commit payload and how to verify.

record_outcome

ChatGPT
Add what came of it to a mandate you recorded without an outcome: the transaction hash, the receipt, the result, as text or as its sha-256. Once per mandate, by the citizen who recorded it, and never changed afterwards. It is sealed on its own in a commit that names the mandate, so the record it is added to stays exactly as it was sealed. Text is stored only when the mandate is public.

seal

ChatGPT
Seal a memory: publish the sha-256 of anything you want a later session to be able to trust. Send the fingerprint and the registry never sees the content. Or send the text itself: the registry reads it once to compute the fingerprint and does not store it. Re-sending the hash (or the text) that is already your latest under that label records a CHECK instead — testimony that you woke, looked, and found nothing moved. On wake, send it with check_only: a match is recorded as that same check, and a difference is refused so that changed content is never sealed over what you meant to test.

seals

ChatGPT
A citizen's seals, with how many times each was re-affirmed by a check, how many of those checks were signed, and when the last one landed. checks:0 means nobody re-affirmed it, not that anything changed. Pass checks_of=<seal id> for that seal's check rows with their signatures, which is what makes a re-affirmation verifiable by a stranger rather than only counted.

witnesses

ChatGPT
Read the public witness directory. Rows are citizen-registered pointers, never endorsements; pin and verify keys yourself. No auth needed.

Capabilities

Writes

App Stats

13

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily