cpoe
Cryptographic authorship witnessing CLI
Note
Patent Pending: USPTO Application No. 19/460,364 — "Falsifiable Process Evidence via Cryptographic Causality Locks and Behavioral Attestation"
cpoe is the command-line interface for CPoE — producing 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.
Part of the CPoE monorepo:
| Component | Description |
|---|---|
| cpoe_engine | Cryptographic engine |
| cpoe_protocol | PoP wire format (CBOR/COSE) |
| cpoe_jitter | Hardware timing entropy |
| cpoe_cli (this crate) | CLI tool |
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/cpoe/main/apps/cpoe_cli/install.sh | shFrom source:
cargo install --git https://github.com/writerslogic/cpoe --bin cpoe# Start tracking a document (auto-initializes on first use)
cpoe essay.md
# Create a checkpoint with a message
cpoe commit essay.md -m "first draft complete"
# View checkpoint history
cpoe log essay.md
# Export cryptographic evidence (.cpoe)
cpoe export essay.md -t 2
# Verify evidence
cpoe verify essay.cpoeRun cpoe with no arguments for an interactive menu, or cpoe --help for the full command reference.
| Command | Aliases | Description |
|---|---|---|
cpoe <path> |
Start tracking a file or directory | |
cpoe commit |
checkpoint |
Create a checkpoint with VDF time proof |
cpoe log |
history, ls |
View history or list all tracked documents |
cpoe export |
prove |
Export evidence packet (.cpoe or .cwar) |
cpoe verify |
check |
Verify evidence packet |
cpoe status |
Show system status | |
cpoe track |
Session management (start/stop/status/list/show/export) | |
cpoe identity |
id |
Identity management |
cpoe config |
cfg |
View and edit configuration |
cpoe fingerprint |
fp |
Behavioral fingerprinting (status/show/compare/list/delete) |
cpoe presence |
Physical presence verification |
All commands support --json for machine-readable output and --quiet for silent operation.
| Tier | Content | Use Case |
|---|---|---|
| 1 (Core) | Checkpoint chain + VDF proofs + keystroke jitter | Default — recommended for most workflows |
| 2 (Enhanced) | + TPM/hardware attestation | Stronger claims with hardware backing |
| 3 (Maximum) | + behavioral analysis + external anchors | Maximum assurance |
| Format | Extension | Description |
|---|---|---|
| CPoE | .cpoe |
CBOR-encoded evidence packet (primary format) |
| CWAR | .cwar |
CBOR-encoded attestation result (verification report) |
| JSON | .json |
Human-readable evidence export |
Anyone can verify .cpoe evidence packets — no account or software required:
- Web: Upload at writerslogic.com/verify
- CLI:
cpoe verify proof.cpoe
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
CPoE provides independently verifiable, tamper-evident process evidence, not absolute proof. The value lies in converting unsubstantiated doubt into testable claims across independent trust boundaries.
Privacy-first design:
- Keystroke tracking captures timing only — never the keys you press
- Voice fingerprinting is off by default and requires explicit consent
- All keys are stored with restrictive file permissions (0600)
- Database uses HMAC-based tamper detection
- Entirely offline-first — no network calls for core witnessing
cargo test -p cpoe_cli # CLI tests (39 tests)
cargo test -p cpoe_engine --lib # Engine tests (912 tests)
cargo test --workspace # Full test suite
cargo clippy --workspace -- -D warnings # Lint (zero warnings)
cargo fmt --all -- --check # Format check@article{condrey2026writerslogic,
title={CPoE: 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.
For commercial licensing inquiries, contact: licensing@writerslogic.com