Resource access ledger
The audit trail for every resource an agent touches — databases, secrets, networks, files, credentials, and scopes — with the policy decision and the reason captured.
Included in the single kansho full pack. Components are not offered as separate installs.
Ledger with default filter, sort, and paging
Decision pills filter the view, the Time header sorts, and the footer loads moreledger.access · last 15 minutes
| Resource type | Action · resource | Agent | Decision | |
|---|---|---|---|---|
| 14:02:11 | database | Plan & dispatch | Allowedops/audit | |
| 14:02:09 | file | Audit writer | Auto-grantdocs/templates | |
| 14:01:57 | secret | Plan & dispatch | Allowedvault/session | |
| 14:01:42 | network | Slack notifier | Deniedslack/quiet-hours | |
| 14:01:31 | credential | Vault rotator | Allowedvault/rotate-daily |
Inspect target: none
Narrow container reflow
Below ~30rem the agent and decision fold onto a second line under the resource, instead of crushing the columns (Vitaly 221). Widen the panel and it returns to a single line, pixel-identical.ledger.access · side panel
| Time | Resource type | Action · resource | Agent | Decision |
|---|---|---|---|---|
| 14:02:11 | database | Plan & dispatch | Allowedops/audit | |
| 14:02:09 | file | Audit writer | Auto-grantdocs/templates | |
| 14:01:57 | secret | Plan & dispatch | Allowedvault/session | |
| 14:01:42 | network | Slack notifier | Deniedslack/quiet-hours |
Drag the bottom-right handle to widen the panel and watch the rows re-fold.
Empty state
The column header stays visible with no rowsledger.access · no events
| Time | Resource type | Action · resource | Agent | Decision |
|---|---|---|---|---|
| No access events recorded. | ||||
Single row
Component documentation
Resource Access Ledger
components/control-plane/resource-access-ledger.tsxPurpose
Displays and filters resource-access audit events with sortable time, inspection, and paging hooks.
Appropriate use
Use for operator review of allowed, denied, blocked, auto-granted, and revoked access attempts.
Example
components/control-plane/resource-access-ledger.tsx has a representative live example in the "Ledger with default filter, sort, and paging" section on /components/resource-access-ledger.
States
Resource kinds are database, secret, network, file, credential, and scope; decisions are allowed, denied, blocked, auto-grant, and revoked; filter may be controlled or internal.
API and props
ResourceAccessLedger accepts entries, caption, toolbar, onInspect, inspectedId, sortBy, onSort, decisionFilter, onDecisionFilterChange, totalCount, onLoadMore, className, and emptyLabel; ResourceAccessRow accepts entry, onInspect, inspected, and className.
Dependencies
Direct imports are React, Lucide icons, AgentDot, InteractiveContainer, and cn.
Accessibility
The ledger uses a real table with caption, filter buttons expose pressed state, sortable time is named with direction, and decision text supplements colour.
Limitations
The host owns ordering, server filtering, pagination, inspection content, and audit integrity; the internal filter only changes displayed rows.
Source
Source: components/control-plane/resource-access-ledger.tsx.
Full pack
components/control-plane/resource-access-ledger.tsx is documented at /components/resource-access-ledger and installs only through the single Kansho full pack; no individual component install is offered.