AuditLogService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
19
Entities
0
Integrations
Description
Handles all business logic for audit log operations including writing append-only entries, enforcing immutability, and orchestrating filtered queries and exports. Acts as the authoritative boundary between application events and the audit log storage layer.
audit-log-service
Sources & reasoning
Line 259 states an explicit hard requirement: every Global Admin support-access session must be logged in the org's audit trail. admin-security is always-on (line 241), fixing the target release at MVP. GDPR obligations for health data and encrypted assignments reinforce the critical priority; no later phase can satisfy the compliance requirement that audit trail coverage begins from day one.
-
docs/source/likeperson.md · line 259Every support-access session is logged in the org's audit trail.
-
docs/source/likeperson.md · line 239-241Always-on core. A small set of modules is non-toggleable because the operational products are meaningless without them... Admin Web Portal: `admin-dashboard`, `admin-user-management`, `admin-organization`, `admin-security`.
Responsibilities
- Write new audit entries atomically with full context (actor, action, timestamp, session)
- Enforce append-only invariant - no update or delete operations permitted after write
- Validate and apply filter criteria for scoped queries by organization
- Orchestrate export generation in CSV or JSON format for compliance use
- Emit audit events for authentication, admin changes, sensitive data access, and support sessions
Interfaces
logEvent(event: AuditEventInput): Promise<AuditEntry>
queryEntries(orgId: string, filters: AuditLogFilters, page: number): Promise<PagedAuditLog>
exportEntries(orgId: string, filters: AuditLogFilters, format: ExportFormat): Promise<Buffer>
getEntry(entryId: string): Promise<AuditEntry>
Related Data Entities (19)
Data entities managed by this component
Accounting Export
18 fields
derived
Activity Flag
14 fields
audit
Assignment
25 fields
core
Assignment Consent
17 fields
core
Assignment Read
9 fields
audit
Audit Log
16 fields
audit
Confidentiality Declaration
17 fields
core
Expense Auto-Approval Rule
16 fields
configuration
External Portal Config
24 fields
configuration
Member Association
12 fields
core
Module Toggle
13 fields
configuration
Organization
21 fields
core
Organization Settings
25 fields
configuration
Refresh Token
13 fields
core
Support Access Grant
15 fields
audit
Terminology Override
11 fields
configuration
User
24 fields
core
User Organization Membership
16 fields
core
User Role
12 fields
core