Publish Official Rules

Publish your agency's eligibility rules with cryptographic provenance. Your schema is signed, timestamped, and verifiable by anyone.

Why Publish with Provenance?

Verifiable Authority

Citizens and developers can cryptographically verify that rules came from your agency, not a third party.

Timestamped History

Every version of your rules is timestamped and immutable. Prove what rules were in effect on any date.

Interoperability

Published schemas integrate with benefits screeners, AI assistants, and other agencies automatically.

How It Works

1

Export Your Rules

Export eligibility rules from your existing system—data catalog, benefits API, or policy documents—into the EligibilityRules.org YAML schema.

# Your agency's rules in standard format
id: your-program
name: Your Program Name
jurisdiction_id: your-state
agency_id: your-agency

ruleset:
  rules:
    - id: income-limit
      key: household_income_fpl
      operator: less_than_or_equal
      value: 200
      unit: percent
      source_url: https://your-agency.gov/eligibility
2

Validate Against Schema

Run your YAML through our JSON Schema validators to ensure it meets the standard format and contains all required fields.

$ npm run validate data/jurisdictions/states/your-state/services/your-program.yaml

✓ Schema validation passed
✓ All source URLs are reachable
✓ Required fields present
3

Sign with Agency Key

Sign the canonical hash of your ruleset with your agency's cryptographic key. This can integrate with existing .gov PKI infrastructure.

# Generate content hash
$ sha256sum your-program.yaml
a1b2c3d4e5f6... your-program.yaml

# Sign with agency key
$ openssl dgst -sha256 -sign agency-key.pem your-program.yaml > signature.sig

# Provenance record
{
  "schema_hash": "sha256:a1b2c3d4e5f6...",
  "signer": "agency.gov",
  "timestamp": "2026-01-14T12:00:00Z",
  "signature": "base64:..."
}
4

Anchor to Public Ledger

The signature and metadata are anchored to a public transparency log or blockchain. This creates an immutable, timestamped record that anyone can verify.

Transparency Log Append-only log (like Certificate Transparency)
Blockchain Anchor Optional anchoring to public blockchain for maximum durability

Published & Verifiable

Your rules are now live on EligibilityRules.org with a verification badge. Anyone can verify the provenance chain from your agency to the current rules.

What Verification Looks Like

Verified Official Source
Public Department of Prototyping
Schema Hash
sha256:a1b2c3d4e5f6...
Signed By
example.gov
Published
January 14, 2026
Anchor
Block #18,432,100

Ready to Publish?

Contact us to set up your agency's publishing pipeline. We'll help you export, validate, and sign your eligibility rules.

Verify Published Rules

Anyone can verify that rules are authentic and unmodified using the provenance chain.

# Fetch the ruleset and provenance
$ curl https://eligibilityrules.org/api/v1/services/calfresh

# Verify signature against agency's public key
$ eligibility-rules verify calfresh.yaml \
    --provenance provenance.json \
    --keyserver keys.eligibilityrules.org

✓ Signature valid
✓ Signed by: example.gov
✓ Timestamp: 2026-01-14T12:00:00Z
✓ Anchor verified: block #18,432,100

Verification can also be done in-browser on any service detail page by clicking the verification badge.

Update Published Rules

When your eligibility rules change, publish an update with a new signed version.

# 1. Update your YAML file with new rules
$ vi your-program.yaml

# 2. Validate the updated schema
$ npm run validate your-program.yaml

# 3. Sign the new version
$ eligibility-rules sign your-program.yaml \
    --key agency-key.pem \
    --effective-date 2026-02-01

# 4. Submit via PR or API
$ eligibility-rules publish your-program.yaml

Previous versions remain in the provenance chain. You can query rules as of any historical date.

Frequently Asked Questions

What if our rules change frequently?
Each update creates a new signed version with its own timestamp. The full history is preserved, so you can always prove what rules were in effect at any point in time.
Do we need blockchain expertise?
No. We handle the anchoring process. Your team just needs to export rules in YAML format and sign with your existing keys. The blockchain anchor is optional and transparent to you.
Can we use our existing PKI?
Yes. The signing process integrates with standard X.509 certificates and existing .gov PKI infrastructure. We support RSA, ECDSA, and Ed25519 keys.
What about rules we can't make public?
EligibilityRules.org focuses on publicly documented eligibility criteria. If certain rules are confidential, you can publish the public subset while keeping internal rules in your own systems.