BE-022 — Implement Audit Logging & Compliance API - #321
Merged
dDevAhmed merged 2 commits intoAug 31, 2026
Merged
Conversation
- Expanded AuditLog entity with 50+ action types, event categories, severity levels, actor role tracking, integrity hashing, and retention controls - Added UserRole enum and role field to User entity for RBAC - Created RolesGuard and Roles decorator for declarative authorization - Created AuditSearchService with 15+ filter dimensions, pagination, and specialized queries (failed access, security events) - Created AuditComplianceService with 8 report types and CSV/JSON export - Created AuditMetricsService exposing event counts, storage utilization, search latency, integrity health - Enhanced AuditRetentionService with configurable per-event-type retention overrides and legal hold support - Added SHA-256 integrity hashing with verifyAuditIntegrity for tamper detection - Created DTOs for search, compliance reports, and retention policies - Expanded REST API with 15+ endpoints: advanced search, reports, metrics, retention, legal hold, integrity verification - Updated JWT auth to include user role in tokens - Added Swagger documentation tags
Contributor
|
resolve conflicts @Sendi0011 |
Resolve conflicts with upstream's canonical audit module (BullMQ queue, ComplianceService, SecurityMonitoringService, prom-client metrics, Prisma UserRole enum). Layer BE-022's unique additions on top: SHA-256 integrity hashing (stamped on sync + async log paths) with verification endpoint, legal hold placement/removal, and retention status reporting.
Contributor
Author
gm @dDevAhmed all conflicts resolved |
Contributor
|
@Sendi0011 GitHub still reports merge conflicts for current head Please rebase again, resolve the current audit/user/bootstrap conflicts, and rerun CI. Preserve append-only audit behavior, least-privilege RBAC, IP/privacy masking, tamper-evidence verification, bounded exports, and retention/legal-hold tests. Do not write audit secrets, raw tokens, signatures, or unnecessary personal data. Push the new head and request review once GitHub reports conflict-free and green. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the Audit Logging & Compliance API (BE-022) — an immutable, searchable, and secure audit trail for every significant action across the TruthBounty platform.
Changes
Entity & Schema
rolefield to User entity (both TypeORM and Prisma)RBAC
Services
API Endpoints (17 total)
Security
Closes
Closes #284