Skip to content

security(protocol): add issuer key transparency and rotation history #125

Description

@enliven17

Summary

Make institutional issuer identity and key history independently auditable while detecting stale or equivocated metadata.

Motivation

Harpocrates needs this capability to become a production-grade, interoperable evidence protocol while preserving privacy, deterministic verification, and safe failure behavior. The implementation must reuse existing metadata, manifest, ZK, backend, frontend, and Soroban boundaries instead of creating parallel truth sources.

Scope

  • Define a canonical signed issuer metadata manifest with organization identity hash, active keys, validity, policy, and successor/predecessor links.
  • Maintain append-only activation, rotation, compromise, and retirement records.
  • Publish signed directory checkpoints and deterministic consistency verification.
  • Add client/backend caching with freshness rules and fail-closed behavior for high-assurance seals.
  • Expose history and verification tooling without publishing private organization data.

Acceptance criteria

  • Tests detect split views, rollback, stale checkpoints, broken rotation links, conflicting manifests, and compromised keys.
  • Directory rebuild from authoritative events is deterministic.
  • Key rotation does not invalidate historical signatures incorrectly.
  • Operational docs cover onboarding, compromise response, checkpoint signing, and recovery.
  • Existing lint, type checks, tests, builds, contract checks, and privacy guarantees remain green.

Engineering expectations

Use versioned canonical encodings, explicit error/status types, bounded resource consumption, idempotent operations, and privacy-safe observability. Schema, contract, circuit, or artifact changes require migration and compatibility analysis. Cryptographic changes require stable vectors and a written threat model.

Out of scope

Live production deployment, real credentials or sensitive media, unrelated visual redesigns, and broad dependency upgrades not required by this objective.

Definition of done

A maintainer can reproduce success and adversarial failure paths locally, understand the trust and privacy boundaries, operate the feature safely, and roll it back without undocumented state repair.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar Wave programarea/backendFlask backend under backend/complexity/trivial100 points - small, bounded changehelp wantedExtra attention is neededtype/securitySecurity hardening

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions