# 07 · Provenance & Sensitivity

> Where data came from — and how secret it is.

## Overview

Two questions decide what data may influence an action and where it may go:
**where did this come from?** (provenance) and **how damaging is exposure?**
(sensitivity). Arcana answers both for every piece of content and every
consequential request field.

## Provenance labels (trusted → hostile)

| Label | Meaning | Typical source |
|---|---|---|
| SYSTEM_POLICY | Trusted system policy content | Kernel, signed policy |
| USER_INSTRUCTION | Direct user instruction | Your typed prompt |
| ACTIVE_CONTRACT | Current objective / criterion state | Contract machinery |
| TRUSTED_LOCAL_SOURCE | Approved local source | Trusted workspace files |
| UNTRUSTED_LOCAL_SOURCE | Repository/local source without trust | Random repo files |
| REMOTE_CONTENT | Web / network-originated content | Fetched pages, API responses |
| TOOL_OUTPUT | Tool-derived content | Shell output, file diffs |
| MODEL_OUTPUT | Model-generated content | Assistant messages |
| SUBAGENT_OUTPUT | Delegated agent result | Subagent transcripts |
| MCP_DESCRIPTION | Untrusted MCP schema/description content | Third-party MCP servers |

Prompt-injection defense falls out directly: a remote page instructing the
model to "run rm -rf" produces arguments whose lineage traces to
REMOTE_CONTENT/MODEL_OUTPUT — and provenance policy on consequential fields
fails that request closed.

## Sensitivity ordering

```text
PUBLIC < INTERNAL < PRIVATE < SECRET
```

- SECRET may never be exposed to the model or to any external destination
  without explicit brokered policy.
- Encoding does not downgrade: base64'd SECRET data is still SECRET.
- Derived data inherits the union of its inputs' sensitivities.

## Field lineage — beyond labels

Labeling whole documents is insufficient because content gets laundered
across model transformations. Arcana therefore tracks the **origin of
consequential request fields**: executable, arguments, path, host, message
body, secret identifier, MCP arguments, delegated task text.

Rules:

1. **UNKNOWN lineage on HIGH or CRITICAL actions fails closed.**
2. Encoded SECRET remains SECRET.
3. Declassification is an explicit, audited policy operation — never a side
   effect of summarization.

## Related

- Previous: [Delegation & Attenuation](/governance/delegation.md)
- Next: [Scoped Approvals & Routing](/governance/approvals.md)