Skip to content

Manifest contract, purpose tags, and classifications

An agent manifest is a local, non-executable declaration using trustweave.dev/v1alpha1. It records the trust boundaries a reviewer wants TrustWeave to evaluate. A valid manifest must contain a name, description, at least one source, at least one tool, and at least one flow.

Declaration Required fields Allowed values or constraint
Source name, trust, data_classification, description Trust is trusted, untrusted, or conditional
Tool name, action_class, capabilities, description Action class is read, write, sensitive, or external; capabilities are non-empty
Flow source, tool, purpose The source and tool must refer to manifest declarations; purpose_tags is optional

Source names, tool names, and purpose tags are lowercase ASCII identifiers of at most 64 characters: they start with a letter and may then contain lowercase letters, digits, underscores, or hyphens. Each source and tool name is unique; a flow's purpose tags are also unique.

Purpose tags

purpose is a required human-readable description. purpose_tags is the optional, stable machine-readable counterpart that a policy/v1alpha2 rule may require. Tags support an explicit link between a declared flow and policy intent without interpreting prose.

{
  "source": "support_ticket",
  "tool": "case_export",
  "purpose": "Export an approved support case",
  "purpose_tags": ["support-case", "approved-export"]
}

A purpose tag is not a runtime label, authorization decision, data-flow proof, or assurance that the prose accurately describes a deployed system. It is simply a validated declared predicate.

Classification taxonomy

A source's data_classification is a non-empty declared string. In a legacy policy, a rule can match an exact declared classification. In policy/v1alpha2, policy authors declare an ordered classification_taxonomy; every v1alpha2 exact classification and range boundary must come from that taxonomy. The default taxonomy, when none is supplied by a supported legacy policy, is public, internal, confidential, and restricted.

Classification labels describe supplied declarations. TrustWeave does not inspect data content, infer sensitivity, discover undisclosed sources, or validate an enterprise data-classification program.

Run trustweave scan --manifest <manifest> --policy <policy> --output-dir <directory> to evaluate a manifest against a policy. Use policy versions and controls to match tags and classifications in a v1alpha2 policy, and use schema catalog to inspect the packaged JSON schema.