Table of Contents

Namespace JD.AI.Core.Governance.Audit

Classes

AuditEvent
AuditQuery

Filter criteria for querying audit events.

AuditQueryResult

Result of an audit event query.

AuditService

Dispatches AuditEvent instances to all registered IAuditSink implementations. A failure in one sink never propagates to callers; failed events are sent to a dead-letter queue for later inspection.

DeadLetterEntry

A failed audit write that was caught and queued for inspection.

ElasticsearchAuditSink

POSTs audit events as JSON documents to an Elasticsearch index via {endpoint}/{index}/_doc. The index name supports date templating: {index} with {yyyy.MM} substituted with the event's month.

FileAuditSink

Writes audit events as JSON lines to a daily-rotated file under {baseDir}/audit-{yyyy-MM-dd}.jsonl.

InMemoryAuditSink

Thread-safe in-memory audit sink that stores the most recent events in a circular buffer and supports filtered queries.

SqliteAuditSink

An IQueryableAuditSink that persists audit events to a SQLite database. Supports tamper-evident event chaining and all AuditQuery filters.

WebhookAuditSink

POSTs audit events as JSON to a configured webhook URL. Failures are swallowed so they never break the application.

Interfaces

IAuditSink
IQueryableAuditSink

An IAuditSink that also supports querying stored events.

Enums

AuditSeverity