Value classification
Choose confidential or ordinary configuration handling for reviewed vault items while preserving project exposure and runtime authorization.
An item stored for runtime injection may be confidential or ordinary configuration. HASP treats every existing and new item as confidential until the local operator explicitly classifies it.
| Classification | Repository scans | Brokered output |
|---|---|---|
confidential |
Matches the value and its supported encodings | Redacts matching values and encodings |
configuration |
Omits this item's value from managed-value matching | Leaves this item's value readable |
The existing detection limits still apply to confidential items, including the six-byte minimum value length and the default 4 MiB scan limit per source. An identical value stored in another confidential item still matches when that item is included in the scan or redaction pass. Scans consider all confidential vault items, including items not exposed to the current project. Scan statistics report the number of configuration items excluded by this explicit policy.
Classify a reviewed value
An account or project ID is not automatically public. Decide whether the particular value can appear in code, links, and command output before changing its classification:
hasp secret classify PROJECT_ID --classification configuration
hasp secret show PROJECT_ID
Run classification commands from a local operator process outside a connected-agent repository. Protected agent processes cannot classify items, even with a one-time plaintext grant. MCP has no classification mutation tool. The command records the item name and old/new classifications in audit, without the value.
Restore confidential handling with:
hasp secret classify PROJECT_ID --classification confidential
secret show, JSON inventory/search results, and visible MCP references report
the effective classification. Missing or unknown stored classifications count
as confidential. HASP does not infer this choice from a name, provider, numeric
shape, project exposure, or a failed hook.
Delivery still requires authorization
Configuration items still live in the encrypted vault. Using a named reference
still requires exposure to the selected project, a project lease, and any
secret grant required by its access policy. File injection still uses temporary
files and cleanup. secret reveal and secret copy retain their explicit
plaintext authorization rules in protected contexts.
For an exposed configuration item, a brokered command may deliberately emit a useful link containing its value. For a confidential item, the same command's captured output is redacted:
hasp run --project-root . --grant-project session --env ID=@PROJECT_ID -- \
sh -c 'printf "https://example.com/project/%s\n" "$ID"'
Classification is read when an operation loads its items. It does not rewrite past output or alter a command that is already running.
Value writes reset the choice
Every upsert, including add-with-replacement, import, update, rotation, capture, and MCP writes, resets the affected item to confidential. This also applies when the submitted bytes are unchanged. Review and classify it again if it should remain ordinary configuration. An item name reused for a credential must not retain an earlier decision about an identifier.