Auditing Portal components
Runtime responsibilities
| Area | Implementation | Responsibility |
|---|---|---|
| Backend runtime | NestJS, TypeORM, scheduled jobs | Module graph, API routes, scanner ticks, interpretation batches |
| Registry | chain, contracts, assets, applications | Defines which contracts are scanned and how contracts map to organizations/applications |
| Scanner | ScannerModule, StellarLedgerScannerService | Reads Stellar RPC, parses Soroban events, writes raw audit rows and stellar_scans checkpoints |
| Interpretation | AuditInterpretationRunnerService | Decrypts raw audit rows and writes normalized audit_interpretation rows |
| Identity/access | AuthModule, WorkosAuthModule, MagicAuthModule, guards | Maps authenticated users to organizations, applications, permission buckets, and route scope |
| Disclosure workflow | CasesModule, DisclosureRequestModule | Request creation, approval/close decisions, approved cases, assignments, access windows |
| Reports | ReportsModule | Report generation, listing, download, and report metadata |
| Activity log | AuditorsLogModule | Activity staging, persistence, list, export |
| UI | React/Vite | Organization owner and application workspaces |
Documentation
Backend Architecture
Backend modules, API groups, scanner and worker runtime.
Data Model
Core PostgreSQL tables and relationships.
Indexing and Interpretation
Stellar RPC scanning, raw audit upsert, interpretation batches, and error states.
Identity and Access
GET /auth/me, permission buckets, workspace resolution, and API enforcement.Disclosure, Cases, and Reports
Request lifecycle, approved cases, assignments, reports, and activity logs.
Audit UI
Organization and application workspace routes.