Skip to content

Claim runtime: enforce value.type conformance for extract and exists rule results #232

Description

@jeremi

REQ-DM-CLAIM-009 (RS-DM-CLAIM) states an evaluated value MUST conform to the declared value.type or evaluation is refused. The runtime enforces this only for cel rules (validate_claim_value_type in crates/registry-notary-server/src/runtime.rs); the extract path returns the raw source field with no type check, so a claim declared boolean can evaluate to a string and flow into claim results and credentials.

Fix: apply validate_claim_value_type to the extract/exists paths as well (or narrow the REQ and document the divergence, but enforcing is the better outcome). Add tests for a type-mismatched extract result being refused.

Found during the spec-layer review (docs/site/src/content/docs/spec, 2026-07-07). RS-DM-CLAIM's Limitations section will reference this issue until fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:notaryRegistry Notary ownership.bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions