Skip to content
Codevidence Docs

FAQ

Frequently asked questions

Does Codevidence read my source code?

No. The build plugin reads compiled .class files after your normal build finishes and extracts only annotation metadata. Source never leaves your environment and is never transmitted anywhere. See why bytecode, not source.

Does Codevidence execute my code?

Not your production code. For Declared, the extractor parses bytecode statically — it never loads or runs a class. For Verified, your own JUnit tests run (they always did), and a JUnit extension records the outcome of the compliance assertions they call — but that’s your test suite in your pipeline, not Codevidence running anything.

What if I don’t use Java?

Today the annotations, assertions, and plugins are JVM-only — Java, and anything else that compiles to JVM bytecode and runs JUnit 5. Support for other stacks is on the roadmap, without a published timeline.

Is this a compliance guarantee?

No. Declared evidence proves a control was annotated in a specific build — provenance, not correctness. Verified evidence proves a test exercised the code and a typed assertion passed (or failed). Neither is Codevidence asserting that your organization is compliant, or that a control is correct in every case a test didn’t cover — see the evidence model.

Where does my evidence data live?

As JSON files in your build output — target/codevidence/ (Maven) or build/codevidence/ (Gradle). The plugin can optionally POST each record to an ingestion endpoint you configure; Codevidence doesn’t operate a hosted one yet. A record holds metadata about your code and build — control id, artifact hash, commit, build id, timestamp, service name — never source. See our privacy policy.

Still have a question?

Email hello@codevidence.com — a real person reads and replies.