Inspector, Agents, attribution & grants

Every write to Neotoma, observation, relationship, timeline event, source, interpretation, is attributed per row. Inspector exposes that attribution as a first-class concept so operators can answer questions like "which agents have written here?", "what tier did they sign in?", and "what is each agent permitted to do?". This is the surface for AAuth in the Inspector UI.

Agents list

The agents view (/agents) lists every distinct writer Neotoma has seen, derived from AAuth thumbprints, JWT subjects, and clientInfo.name fallbacks. Each row shows the resolved trust tier (hardware, software, unverified_client, anonymous), write counts, last-seen timestamp, and the active grant (if any).

inspector.neotoma.io/agents
Agents
14 active identities · 8.2k writes · last 30d
hardware (3)software (8)unverified (2)anonymous (1)
AgentTierAlgWritesLast seenGrant
claude-codeed25519:Aa…7Lk
softwareEdDSA4,12012:41default-write
cursor-agentes256:Bp…4Zq
hardwareES2562,81012:30default-write
ingest-pipelineed25519:Cq…9Rt
softwareEdDSA98011:08import-only
operator (mac · SE)es256:Dr…2Yj
hardwareES25641210:55admin
custom-script@myco-
unverified_client-18Apr 24(none)
anonymous-
anonymous-4Apr 22(none)
One row per distinct agent identity. Tier badges (hw / sw / unverified / anon) reflect the AAuth verification result.

Agent detail

Drill into an agent to see its public-key thumbprint, signing algorithm, JWT issuer/subject, capability grants, and a panel of recent writes scoped to that identity. The detail view is where operators decide whether to upgrade a tier (e.g. require hardware for write access) or revoke a key.

inspector.neotoma.io/agents/claude-code
claude-code
EdDSA · software · 4,120 writes · last 30d
softwareattestation: none
Observations
3,402
last 30d
Relationships
612
last 30d
Sources
106
last 30d
Identity
thumbprint ed25519:Aa…7Lk
iss=https://anthropic.com sub=agent:claude-code
clientInfo.name="claude-code" v=2.4.1
Active grant
default-write
scope: store, retrieve, link · entity_types: any · expires: 2026-07-31
Per-agent identity card with thumbprint, alg, attestation, grants, and a recent-writes activity panel.

Grants

Capability grants are typed entities that bind an agent identity to a scoped set of actions (e.g. store, retrieve, link, correct, merge) on a set of entity types, optionally with an expiration. Inspector renders them as first-class records with a history (granted, modified, revoked) and a reverse map back to the agents they bind.

inspector.neotoma.io/grants
Grants
6 active · 2 expired
+ New grant
NameScopeTypesAgentsExpires
default-writestore, retrieve, linkanyclaude-code, cursor-agent2026-07-31
import-onlystore, linktransaction, receipt, file_assetingest-pipeline-
adminallanyoperator (mac · SE)-
read-onlyretrieveanydashboard-bot-
Capability grants: scope, allowed entity types, expiry, and the agents bound to each grant.

Trust tiers

  • hardware ES256 / EdDSA backed by a hardware key (Secure Enclave, TPM 2.0, YubiKey, Windows TBS). Highest trust, eligible for the strictest grants.
  • software Verified AAuth signature with a software-backed key. Trustworthy for most writes but not eligible for hardware-only grants.
  • unverified_client No AAuth signature, but a meaningful clientInfo.name. Useful for triage; subject to stricter ACLs in future releases.
  • anonymous No signature, no usable client identity (or one of the blacklisted generic strings like mcp, client). Allowed for backwards compatibility but flagged in audit views.

Activity

Each agent detail page exposes a recent-activity stream, the same rows you'd see in the timeline, scoped to that one identity. Filters narrow by event kind, target entity type, or trust tier so you can answer "what did this agent write yesterday?" without leaving the page.

inspector.neotoma.io/agents/claude-code/activity
claude-code · activity
last 24h · 218 writes
store (162)correct (12)link (44)
12:41storetransaction · Subscription · Vercelsw
12:30storeagent_message · turn 4 (assistant)sw
12:30linkPART_OF · turn 4 → conversation Q2sw
11:08storereceipt · vercel-2026-04sw
11:08linkEMBEDS · receipt → file_asset (pdf)sw
Activity feed scoped to a single agent identity, with the same kind / type / tier filters as the global timeline.