DEV Community

hjs-spec
hjs-spec

Posted on Edited on

Judgment Event Protocol (JEP) 0.7: Verify Your First Signed Event

Updated October 1, 2026: this article replaces the earlier logging example with a runnable introduction to JEP Core 0.7.

Judgment Event Protocol (JEP) is a format for portable signed event records. A receiving system can inspect a record and check its signature using the appropriate verification key.

This walkthrough verifies a published sample. It requires no hosted API or account.

Verify your first signed event

You need Python 3.10 or later, internet access for installation, and a macOS, Linux, or WSL terminal.

Create a working directory and a virtual environment:

mkdir jep-first-event
cd jep-first-event
python3 -m venv .venv
source .venv/bin/activate
Enter fullscreen mode Exit fullscreen mode

Install the validator, export the sample fixtures, and verify a Judgment event:

python -m pip install jep-core-conformance==0.7.7
jep-byoi export jep-example
jep-validate validate jep-example/vectors/J-basic.json --keys jep-example/keys.json
Enter fullscreen mode Exit fullscreen mode

Use a new jep-example directory: the export command does not overwrite an existing directory.

The result should include:

  • status: "valid"
  • checks.syntax: "pass"
  • checks.cryptographic: "pass"
  • checks.actor_binding: "not_checked"

The keys belong to public test fixtures. This checks the sample’s structure and signature; it does not establish trust in a real actor or confirm a business outcome. A verifier’s individual checks explain what was actually evaluated.

Here, 0.7 is the JEP Core protocol version and 0.7.7 is the software package version used for this walkthrough.

What JEP records

JEP Core has four event verbs:

  • Judgment (J): an actor expresses or adopts a judgment.
  • Delegation (D): an actor declares a delegation with a delegatee and scope.
  • Termination (T): an actor declares that a referenced target is no longer eligible for future reliance within a stated scope.
  • Verification (V): an actor records the result of evaluating a referenced target under an explicit verification scope.

An application decides how these statements affect its workflow. For example, recording a Termination statement does not itself stop another process.

The specification is published as an individual Internet-Draft and is not an IETF-endorsed standard. The published Core 0.7 draft defines the protocol semantics.

Continue with your own use case

Top comments (0)