Skip to main content

Asset Audit and Timeline Operations

Summary

This page explains how the asset-service records audit and timeline entries. Both AuditWriter and TimelineWriter write rows within the same SaveChanges transaction as the aggregate change and the outbox rows, giving a single local transaction. Rows are tenant-scoped through EF global query filters. No retention, cleanup, redaction, or immutability enforcement was found in source, so governance of these records is Requires confirmation.

Audience

  • Support and QA engineers reconstructing asset history.
  • Security engineers assessing audit governance.
  • Developers integrating audit-emitting operations.

Reference Content

Write timing

Audit and timeline rows are persisted atomically with the domain change. Because the writers participate in the same local transaction as the aggregate update and the outbox insert, either all three succeed or none commit. This removes partial-commit risk within a single request.

Transactional grouping

Written together in one transactionPurpose
Aggregate changeThe asset domain state update
Audit rowThe authoritative record of the operation
Timeline rowThe human-readable history entry
Outbox rowThe event staged for later relay

Tenancy

Audit and timeline reads and writes are constrained by EF global query filters, so callers observe only their own tenant's records. This is consistent with the service's tenant-scoped posture.

Query access

Timeline and audit data are surfaced through the service's read paths for the calling tenant. Access is tenant-scoped rather than role-gated, matching the private-mesh posture.

Governance boundaries (Requires confirmation)

  • Retention period and cleanup: not implemented in source.
  • Immutability enforcement: not implemented in source.
  • Redaction of sensitive fields: not implemented in source.

These are classified Requires confirmation; no runbook or policy is asserted here.

Source References

  • microservices/src/asset-service/Infrastructure/Persistence.cs
  • microservices/src/asset-service/Infrastructure/AssetDbContext.cs

See Also

Keywords

asset audit, timeline, tenant scoping, single transaction, retention requires confirmation

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-17
  • Review cycle: Quarterly