Licensing human likeness.
A person verifies their face and voice, sets their terms, and licenses them for AI generated content. Every authorised use carries a cryptographic receipt.
No account, no key, no permission from us. One command, thirty seconds:
deno run --allow-net https://socialgravity.ai/docs/verify.js --license LDNAEEDY5UBReal output, trimmed to four of its checks:
SocialGravity receipt verification: licence LDNAEEDY5UB
base: https://id.socialgravity.ai/functions/v1
document and log
PASS external anchor
head timestamped by rfc3161 at 2026-07-31T20:07:02+00:00, covering
ledger seq 59 and so this entry at seq 45, which is what rules out
back-dating
PASS witnessed head
today's tree of 60 is a pure append of the publicly witnessed head of
59: nothing witnessed has been altered or removed
link 1: person
NOT CHECKABLE identity method
'document': a government ID was verified. Signed, but the check itself
is the issuer's. NO LIVENESS: a document check establishes that a valid
ID exists, never that the person holding it was present
link 4: generation event
PASS licence chain
1 row(s) rehashed from their published preimages and linked
VERDICT: INCOMPLETE. 17 passed, 0 failed, 3 not checkable. Nothing contradicted the
receipt, but the lines above marked NOT CHECKABLE are assertions or unavailable data,
not proofs.
That is a real licence held by a real, document-verified person, and our own showcase run says INCOMPLETE. It says so because some of its checks are ours to assert rather than yours to confirm, and the tool will not launder that into a green tick. Three outcomes per check: PASS, FAIL, or NOT CHECKABLE. A verifier that never says "I cannot check this" is not a verifier, it is a logo.
Note the witnessed head line: that check reads the public
ledger-anchors mirror and proves today's log
is a pure append of a head we published earlier and cannot now edit.
The verifier fetches only public endpoints and does every check locally against a pinned key.
person → asset → licence → generation → output
| # | Link | What is on the record |
|---|---|---|
| 1 | person | A verified human, and the evidence of what they agreed to |
| 2 | asset | A fingerprinted version of their face or voice |
| 3 | licence | Signed terms: which assets, which use, which channels, which territories, for how long |
| 4 | generation | An authorised use, metered against those terms |
| 5 | output | The file that came out, watermarked and registered |
Each link is a signed record in an append-only transparency log. The log's head is timestamped by an independent authority and mirrored to a public repository. So the answer to "did this person agree to this" is a check you can run, not an email you have to believe.
A receipt you have to trust us about is not a receipt. So the proof layer is open.
| Repository | What it is |
|---|---|
| receipts | The receipt format, its JSON Schema, the API surface, and a zero-dependency verifier you can run yourself. Code Apache-2.0, spec CC BY 4.0. Implement it independently, that is the point. |
| ledger-anchors | Head hashes of our append-only ledger, mirrored where we cannot quietly rewrite them. A witness against our own future selves. |
We also keep a journal of what has shipped. One rule there: every post ends in a command or a URL that returns a real result, including when the result is inconclusive.
The custody and enforcement layer stays closed, permanently: biometric template extraction and matching, matching thresholds, watermark embedding and detection, KYC internals, and the gating logic that enforces deals. Publishing those would help exactly one audience, the people trying to defeat them.
Anyone can verify what we claim. Nobody gets a manual for evading it.
We would rather publish the caveat than the asterisk.
- The register is young. Our docs page marks which records are test data, and the spec says what is not yet provable.
- External anchoring began 2026-07-30. Nothing before that date has third-party proof of time.
- The verifier reports NOT CHECKABLE for anything it cannot prove locally, including checks that are ours to assert rather than yours to confirm.
- Product and docs: socialgravity.ai/docs
- API:
https://id.socialgravity.ai/functions/v1 - Security reports: SECURITY.md
- Contact: alvaro@socialgravity.ai