CPOP
Cryptographic authorship witnessing for writers and creators
Note
Patent Pending: USPTO Application No. 19/460,364 — "Falsifiable Process Evidence via Cryptographic Causality Locks and Behavioral Attestation"
CPOP is a cryptographic engine and CLI that produces independently verifiable, tamper-evident process evidence constraining when and how a document could have been created. It implements the draft-condrey-rats-pop IETF protocol specification.
This monorepo contains the full CPOP ecosystem:
| Component | Path | Description | License |
|---|---|---|---|
| cpop_engine | crates/cpop_engine |
Cryptographic engine | AGPL-3.0-only |
| cpop_protocol | crates/cpop_protocol |
PoP wire format & forensic models | AGPL-3.0-only |
| cpop_jitter | crates/cpop_jitter |
Hardware timing entropy | AGPL-3.0-only |
| cpop_cli | apps/cpop_cli |
CLI (cpop) |
AGPL-3.0-only |
| cpop_macos | apps/cpop_macos |
macOS desktop app | Proprietary |
| cpop_windows | apps/cpop_windows |
Windows desktop app | Proprietary |
macOS (Homebrew):
brew install writerslogic/tap/writerslogicWindows (Scoop):
scoop bucket add writerslogic https://github.com/writerslogic/scoop-bucket
scoop install writerslogicLinux / macOS (script):
curl -sSf https://raw.githubusercontent.com/writerslogic/cpop/main/apps/cpop_cli/install.sh | shFrom source:
cargo install --git https://github.com/writerslogic/cpop --bin cpop# Start tracking a document
cpop essay.md
# Create a checkpoint
cpop commit essay.md -m "first draft complete"
# View history
cpop log essay.md
# Export cryptographic evidence (.cpop)
cpop export essay.md -t 2
# Verify evidence
cpop verify essay.cpopRun cpop with no arguments for an interactive menu, or cpop --help for full command reference.
| Command | Description |
|---|---|
cpop <path> |
Start tracking a file or directory |
cpop commit |
Create a checkpoint (alias: checkpoint) |
cpop log |
View history or list tracked documents (alias: history, ls) |
cpop export |
Export evidence packet (alias: prove) |
cpop verify |
Verify evidence packet (alias: check) |
cpop status |
Show current tracking status |
cpop track |
Session management (start/stop/status/list/show/export) |
cpop identity |
Identity management (alias: id) |
cpop config |
Configuration (alias: cfg) |
cpop fingerprint |
Behavioral fingerprinting (alias: fp) |
cpop presence |
Physical presence verification |
All commands support --json for machine-readable output and --quiet for silent operation.
Add to your Cargo.toml:
[dependencies]
cpop_engine = { git = "https://github.com/writerslogic/cpop", branch = "main" }| Feature | Description |
|---|---|
default |
Core library without optional features |
cpop_jitter |
Hardware entropy via PhysJitter |
secure-enclave |
macOS Secure Enclave support |
x11 |
X11 focus detection on Linux |
ffi |
UniFFI bindings for Swift/Kotlin |
writerslogic/
├── crates/
│ ├── cpop_engine/ High-performance cryptographic engine
│ │ └── src/
│ │ ├── analysis/ Signal analysis and behavioral metrics
│ │ ├── anchors/ Blockchain and timestamp anchoring
│ │ ├── crypto/ Cryptographic primitives
│ │ ├── evidence/ Evidence export/verify
│ │ ├── forensics/ Authorship analysis
│ │ ├── ipc/ Inter-process communication
│ │ ├── keyhierarchy/ Key derivation and ratcheting
│ │ ├── platform/ OS-specific code (macOS, Linux, Windows)
│ │ ├── sentinel/ Real-time monitoring
│ │ ├── rfc/ RFC wire types
│ │ ├── tpm/ TPM 2.0 / Secure Enclave
│ │ └── vdf/ Verifiable Delay Functions
│ ├── cpop_protocol/ PoP wire format (CBOR/COSE)
│ └── cpop_jitter/ Hardware timing entropy
├── apps/
│ ├── cpop_cli/ Command-line interface
│ ├── cpop_macos/ Native macOS app (submodule)
│ └── cpop_windows/ Native Windows app (submodule)
└── docs/ Schemas, specs, and user guides
cargo test --workspace # Run all tests
cargo test -p cpop_engine --lib # Fast engine tests (~915 tests)
cargo clippy --workspace -- -D warnings # Lint (zero warnings maintained)
cargo fmt --all -- --check # Format check
cargo audit && cargo deny check # Security auditAnyone can verify .cpop evidence packets — no account or software required:
- Web: Upload at writerslogic.com/verify
- CLI:
cpop verify proof.cpop
Verification checks the checkpoint chain, Ed25519 signatures, VDF timing proofs, and behavioral consistency. It runs entirely client-side — your evidence is never uploaded to our servers.
Important
CPOP provides independently verifiable, tamper-evident process evidence, not absolute proof. The value lies in converting unsubstantiated doubt into testable claims across independent trust boundaries.
CPOP is designed with a strictly offline-first and privacy-preserving architecture. Core witnessing, keystroke capture, and evidence generation occur entirely on your local machine.
The applications interact with the following external domains for specific enhanced features:
- Verification Portal (
writersproof.com/verify): Browser-based tool for verifying.cpopevidence packets. Runs client-side; evidence data is never uploaded. - Attestation API (
writerslogic.com/api): Used for Tier 3 and Tier 4 evidence to request anti-replay nonces and receive cloud-signed attestation certificates. - Schema Registry (
protocol.writersproof.com): Hosts JSON schemas and DID resolution data for protocol compliance.
For a detailed breakdown, see the Privacy & External Interactions Wiki.
See SECURITY.md for the security policy.
@article{condrey2026writerslogic,
title={CPOP: Proof-of-process via Adversarial Collapse},
author={Condrey, David},
journal={arXiv preprint arXiv:2602.01663},
year={2026},
doi={10.48550/arXiv.2602.01663}
}Abstract: Digital signatures prove key possession but not authorship. We introduce proof-of-process — a mechanism combining jitter seals, Verifiable Delay Functions, timestamp anchors, keystroke validation, and optional hardware attestation.
— arXiv:2602.01663 [cs.CR]
Licensed under AGPL-3.0-only. See individual component licenses in the table above.