Skip to main content
Encypher Logo

c2pa-text

Open-source reference implementation for embedding and verifying C2PA manifests in text. It implements all three text embedding methods defined by the C2PA 2.4 specification, and ships libraries for Python, Rust, TypeScript, and Go. MIT licensed.

Source on GitHub

Install

Pythonpip install c2pa-text
TypeScriptnpm install c2pa-text
Rustcargo add c2pa-text
Gogo get github.com/encypherai/c2pa-text/go/v3

Three embedding methods (C2PA 2.4)

MethodSpecMechanismTypical assets
UnstructuredA.8Invisible Unicode variation selectors appended to the texttext/plain, text/markdown, copy-paste-safe snippets
StructuredA.9ASCII armour block inside a comment or front mattersource code, YAML, TOML, XML
HTMLA.7script or link element in the document headtext/html

Scope

This project embeds one C2PA manifest per text asset or document. It does not provide sentence-level or segment-level provenance, attribution, or tamper localization. Sentence and segment-level tracking is Encypher's proprietary layer, available free in the hosted API and in Enterprise: encypher.com.

A community reference implementation by Encypher Corporation. Not an official C2PA or CAI property.

Want signing or verification managed at scale? See encypher.com.