loading…
Commons

How Commons works

A public ledger for two questions: did a person say this, and is this claim true?

Two kinds of entries

statement

Human-attested utterance

A first-person statement. To stamp it, the submitter must pass a live human attestation challenge. Once stamped, the content hash and timestamp are anchored into the Commons append-only chain.

Use case: "I, X, am publicly stating Y at time T." Tamper-evident, content-addressed, citable.

fact

Member-verified claim

A third-person claim about the world. It is recorded on submission, but earns a Helios stamp only when a registered member signs (Ed25519) that the claim is true, with sources attached.

Use case: a verifiable counter-record against AI-paraphrased news, propaganda, or unsourced viral claims.

The Helios stamp

A stamp is the public, permanent assertion that an entry has cleared its kind's verification rule. Every stamped entry is:

For members

A member is anyone with an Ed25519 keypair registered to Commons. Registration is by signed challenge — no email, no account password.

Register

POST /api/member/register
{
  "pubkey": "<hex or base64url 32B>",
  "handle": "your_handle",
  "signature": "<sig over canonical registerMessage>"
}

The canonical register message is the deterministic JSON of:

{
  "domain": "commons.oooooooooo.se/v1",
  "op": "member_register",
  "pubkey": "<hex>",
  "handle": "<handle>",
  "joined_at": <ms epoch, current>
}

Verify a fact

POST /api/verify
{
  "stamp_id": "<id>",
  "pubkey": "<hex>",
  "signature": "<sig>",
  "verdict": "true|false|misleading|unverifiable",
  "evidence": [{"url":"...","note":"..."}],
  "notes": "...",
  "verified_at": <ms epoch>
}

The signature must be over the canonical JSON of {domain, op:"verify", stamp_id, content_hash, verdict, verified_at}.

For machines

Every stamp page is an HTML document with embedded JSON-LD ClaimReview (for facts) or Statement markup (for statements). A sitemap and RSS feed are auto-generated. Pages are server-rendered, fast, and crawlable without JavaScript.

Why we built it

If the open web is going to remain useful in an era of cheap text generation, we need a public, permissionless way to mark what was actually said by a person and what claims have been verified against sources. Commons is that ledger.