Inspector, Settings · Attribution policy
Attribution policy controls how Neotoma reacts to writes from agents at different trust tiers. The Inspector renders the AAuth contract as a live operator console: pick a global mode, set a minimum tier, override per path, and watch the resolved decision update against the last 100 requests.
| /observations | reject |
| /relationships | warn |
| /timeline | warn |
| /sources | allow |
Global mode
- allow Accept writes at every tier, including
anonymous. Suitable for personal-use mode and sandbox. - warn Accept writes but emit an
attribution_decision warnlog line whenever the request lands below the minimum tier. Useful while rolling AAuth out across an existing fleet of agents. - reject Refuse writes below the minimum tier with a structured 401 error. The recommended setting for shared/server installs once your agents are signing.
Minimum tier
Requests above the configured floor are accepted (subject to global mode); requests below it are warned or rejected. The four tiers, in descending strength:
hardware, verified AAuth signature with hardware-backed attestation (TPM 2.0, Apple Secure Enclave, Yubikey).software, verified AAuth signature without an attested hardware backing.unverified_client, recognisableclientInfobut no signature.anonymous, neither signature nor recognisable client.
Per-path overrides
Per-path overrides let you tighten policy on the highest-risk endpoints (typically /observations and /relationships) while leaving read paths permissive. A per-path reject always wins over a global allow; this is enforced both at the server and surfaced in the UI badge for the row.
Resolution & environment variables
Policy can be set three ways, in increasing precedence:
- Inspector UI (this panel), writes through to the local config.
NEOTOMA_ATTRIBUTION_POLICY/NEOTOMA_MIN_ATTRIBUTION_TIER/NEOTOMA_ATTRIBUTION_POLICY_JSON, env vars at server start.- Per-request override headers (signed admission tokens; see AAuth).
The decision summary at the top of the panel reports which source won, so an env-var override on a server is never silently in effect.
Per-agent grants
Tier-based policy is the wide net. For fine-grained (operation, entity_type) allow-lists per signing identity, use Agents & grants , those layer on top of the global policy and apply to a single thumbprint.