Expand description
Security helpers shared by providers and transports.
Three rules, enforced here so no provider has to remember them:
- Secrets never cross the boundary as content. An evaluated secret
becomes
Value::Secret, a marker; there is no variant that carries the bytes. - Redaction is monotone. A redacting capability sees paths but not secret-cone labels; a non-redacting one still never sees values.
- Diagnostics are value-free. Provider errors carry stable codes.
Constants§
- SECRET_
MARKER - Marker used wherever a secret would otherwise appear.
Functions§
- assert_
no_ secret_ material - Ensure a response carries no secret material.
- check_
module_ payload - Validate an outgoing module payload before it is handed to a transport or a tool.
- from_
active_ value - Convert an evaluated Active value into an RPC value.
- redact_
cone_ labels - Redact labels that name nodes in the secret cone.
- redact_
value - Redact a value tree that may contain secret markers because a path is tainted (used when a capability is redacting but a provider already built labels).