Documentation
¶
Overview ¶
Package audit defines supported-adapter audit event contracts for services.
Event, Recorder, and ValidateEvent provide the reusable contract shared by generated services and audit adapters such as auditpostgres. The package owns field validation, result labels, actor/tenant/resource fields, and defensive metadata cloning.
Audit metadata must stay redaction-safe before it reaches a Recorder. Do not put raw secrets, request bodies, provider payloads, or unbounded user input in metadata maps.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidEvent reports that an audit event is missing required fields. ErrInvalidEvent = errors.New("invalid audit event") // ErrUnsafeMetadata reports that audit metadata appears to contain a secret. ErrUnsafeMetadata = errors.New("unsafe audit metadata") )
Functions ¶
func CloneMetadata ¶
CloneMetadata returns a defensive copy of metadata.
func ValidateEvent ¶
ValidateEvent verifies required fields and metadata safety.
func ValidateMetadata ¶
ValidateMetadata rejects metadata keys that commonly carry raw secrets.
Types ¶
type Event ¶
type Event struct {
ID string
TenantID string
Actor Actor
Action string
Resource Resource
Result Result
RequestID string
Metadata map[string]string
OccurredAt time.Time
}
Event records a security-relevant action for tenant-scoped services.