Proof of Thought, inside your product
Embed the editor, let people bring their AI agents, and seal what they write. Each seal shows which words were typed, shaped, written by AI or pasted, and whether a person was there.
Three parts you build with
Section titled “Three parts you build with”The editor
One call puts the Proof of Thought editor in your page: writing, suggestions, comments and the live seal, recorded as it happens.
Embed the editorAgents
Your users connect Claude, Codex or any MCP client to their documents in your product. Every word an agent writes is credited to it.
Connect agentsSeals
A snapshot of a document and where its words came from, at a short link anyone can open and check.
Seal and verifyWhat stays yours
Section titled “What stays yours”Your accounts, sign-in, document lists, folders, sharing screens and notifications. Proof has no accounts of its own: your server tells Proof who your users are and what they may open, and Proof records what happens in the editor. Proof of Thought itself is built this way, on the same API you use.
A sealed document in four calls
Section titled “A sealed document in four calls”Your server holds a secret key; the browser only ever gets a short-lived session token for one document.
import Proof from "@exalto/proof";
const proof = new Proof(process.env.PROOF_SECRET_KEY);
const ada = await proof.users.upsert("u_42", { name: "Ada Lovelace" }); // your id for Adaconst doc = await proof.documents.create({ owner: ada.id, name: "On the Analytical Engine" });const session = await proof.sessions.create({ user: ada.id, document: doc.id });// Send session.token to the page. Later, when Ada is done:const seal = await proof.seals.create(doc.id, { user: ada.id });console.log(seal.url); // https://proof.exalto.ai/AH271NSHSimport { mountEditor } from "@exalto/proof-embed";
mountEditor(document.querySelector("#editor"), { document: "doc_8Hq2Lm4R", getToken: () => fetch("/proof/session", { method: "POST" }).then((r) => r.json()).then((r) => r.token),});The quickstart walks through it with test keys, from an empty project to a seal you can open.
Written for agents as well
Section titled “Written for agents as well”Every page here is also plain Markdown: add .md to its address, or fetch llms.txt for the whole set. If you build with Claude Code, Codex or another agent, start it here.