The Auditing Portal is the off-chain part of Arcane. It indexes registered contracts, stores raw and interpreted audit data, enforces access, manages disclosure cases, generates reports, and records activity logs.

Auditing Portal components

Auditing Portal components

Runtime responsibilities

AreaImplementationResponsibility
Backend runtimeNestJS, TypeORM, scheduled jobsModule graph, API routes, scanner ticks, interpretation batches
Registrychain, contracts, assets, applicationsDefines which contracts are scanned and how contracts map to organizations/applications
ScannerScannerModule, StellarLedgerScannerServiceReads Stellar RPC, parses Soroban events, writes raw audit rows and stellar_scans checkpoints
InterpretationAuditInterpretationRunnerServiceDecrypts raw audit rows and writes normalized audit_interpretation rows
Identity/accessAuthModule, WorkosAuthModule, MagicAuthModule, guardsMaps authenticated users to organizations, applications, permission buckets, and route scope
Disclosure workflowCasesModule, DisclosureRequestModuleRequest creation, approval/close decisions, approved cases, assignments, access windows
ReportsReportsModuleReport generation, listing, download, and report metadata
Activity logAuditorsLogModuleActivity staging, persistence, list, export
UIReact/ViteOrganization 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.