GOVP 0.1.11

Security model

GOVP verifies cryptographic integrity inside explicit trust and transport boundaries.


Threat model

Records, assets, URLs, field names and field values are untrusted input. The verifier must reject malformed encoding, invalid key or signature sizes, non-canonical or small-order Ed25519 points, invalid hashes, prohibited control characters, ambiguous timestamps, non-ASCII URI data and normalized JSON key collisions.

Trust boundary

An embedded public key proves only that the matching private key signed the record. Applications decide separately whether that key, canonical domain or publisher is trusted. GOVP-STATUS-1 can provide the origin's current key and revocation decision without changing core validity. A live result is fail-closed when the status timestamp falls outside the documented 300-second age and 60-second future-skew bounds.

Remote verification

Remote mode requires HTTPS, bounded reads and timeouts, TLS validation and exact final canonical URLs. Certifi is the default CA store; enterprise users opt in explicitly with --ca-bundle PEM. Ambient CA variables are deliberately ignored. Evidence URIs are data, not executable instructions.

Privacy

The browser verifier runs locally and does not upload records, assets or results. The protocol itself has no user account or telemetry requirement.

Report a vulnerability

Do not disclose an unpatched vulnerability in a public issue. Follow the private reporting instructions in the repository’s security policy or email research@gemacode.org.