Audit Service
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
18
Entities
0
Integrations
Description
Backend service responsible for recording audit events from across the system and serving queries against the audit log. Enforces append-only semantics and tenant isolation on all reads.
audit-service
Sources & reasoning
Audit Log is explicitly required by line 193 to back the time-bounded Global Admin support-access mechanism, and is taxonomy-mandated at line 380. GDPR accountability for the sensitive data Meander handles makes it MVP-critical, aligning with admin-security being part of the Admin Web Portal MVP scope (lines 244-247).
-
docs/source/likeperson.md · line 380Audit Log | Audit Log Page [ui] | Audit Service [service] | Audit Log Store [data]
-
docs/source/likeperson.md · line 193Every support-access session is logged in the org's audit trail.
Responsibilities
- Accept and persist audit events from other backend components
- Enforce append-only write semantics (no updates or deletes)
- Serve filtered, paginated queries scoped to the requesting organization
- Validate actor, organization, and target entity references on each event
- Enforce Org Admin authorization on read endpoints
Interfaces
recordEvent(actor, orgId, actionType, targetEntity, metadata): AuditEventId
queryEvents(orgId, filters, pagination): AuditEventPage
getEventById(orgId, eventId): AuditEvent
Related Data Entities (18)
Data entities managed by this component
Activities
26 fields
core
Approval Rules
19 fields
configuration
Contacts
24 fields
core
Encrypted Assignments
25 fields
core
Events
20 fields
core
Member Associations
12 fields
core
Notes
15 fields
core
Organization Hierarchy
15 fields
core
Organization Labels
11 fields
configuration
Organization Modules
13 fields
configuration
Organization Settings
21 fields
configuration
Organizations
21 fields
core
Receipts
20 fields
core
Reimbursements
18 fields
derived
Roles
14 fields
core
User Credentials
17 fields
core
User Sessions
21 fields
core
Users
18 fields
core