Zero-dependency Java library for COTP: a deterministic, printable 5×5 challenge-card authentication factor, built as an analog of the Avatier Identity Challenge Card.
- Java library:
cotp-java/— seecotp-java/README.mdfor the full overview, build instructions and API quick start. - Specification:
COTP_SPECIFICATION.md - Integration guide:
INTEGRATION_GUIDE.md+ runnable exampleexamples/IntegrationExample.java. - Metrics module:
cotp-metrics/(optional, Micrometer). - PDF/QR card template:
cotp-pdf/(optional, PDFBox + ZXing). - Distributed state stores:
cotp-jdbc/(DataSource) andcotp-redis/(Lettuce); shared contract incotp-store-contract/. - Web demo:
cotp-demo/(JDK HTTP server, no dependencies). - Security & ops:
docs/THREAT_MODEL.md,docs/OPERATIONS_RUNBOOK.md,docs/SEQUENCE_DIAGRAMS.md. - Roadmap / backlog:
TODO.md
Build and verify the library with the bundled Maven Wrapper (requires JDK 17+):
./cotp-java/mvnw -f cotp-java/pom.xml verifyOn Windows:
.\cotp-java\mvnw.cmd -f cotp-java\pom.xml verifyOr, without Maven at all, run the dependency-free self-test:
powershell -ExecutionPolicy Bypass -File .\cotp-java\run-verify.ps1- JDK 17 or newer.
- No runtime dependencies (the library uses only the JDK).
MIT — see LICENSE. Copyright (c) 2026 COTP project.