Skip to main content
MoleSignal uses debug artifacts to restore minified JavaScript, obfuscated Dart or Android, and native Android or iOS stack frames. Manage every artifact type through /api/v1/debug-artifacts.

Select an artifact type

Raw files and gzip-compressed files are accepted. The upload limit is 50 MiB. A gzip artifact can expand to at most 256 MiB.

Match the build identity

MoleSignal selects an artifact from the RUM error build identity: Common ABI aliases are normalized. For example, arm64-v8a and aarch64 become arm64, while amd64 and x64 become x86_64. Hex Debug IDs and UUIDs are compared without case, braces, hyphens, or a leading 0x.
Keep application_id, service, release, architecture, and debug_id in the same build pipeline that produces the artifact. A stale or ambiguous identity leaves the event intact but produces missing or partial symbolication.

Browser example

Set service and version to stable values during each build:
Upload the map with the same identity and the exact deployed bundle name: For a deployed frame URL ending in /assets/app.8f312.js, upload app.8f312.js.map. Upload every lazy-loaded chunk map, not only the main bundle map.

Upload from the UI

1

Build with source maps enabled

Generate external source maps in the production build. Keep source maps out of the public deployment when security policy requires private source code.
2

Open the upload page

Go to RUM → RUM settings → Source Maps & Symbols, then click Upload debug artifact.
3

Enter the build identity

Select the artifact type and platform. Enter the exact application, service, and release. Add architecture and Debug ID for mobile artifacts, then select the generated file.
4

Verify symbolication

Send an error from the release, open RUM → Errors, and confirm the stack displays original source locations.

Prepare release artifacts

Generate external maps from the exact deployed browser bundle. Keep the .map files private when source exposure is not allowed.Build Flutter Web with source maps enabled:
Upload main.dart.js.map with kind=javascript_sourcemap, platform=flutter, and architecture=javascript.

Upload from CI

Use a management token with streams.configure. Never embed this token in a browser or mobile application, and never use the public msrum_ client token for artifact management.
Leave architecture or debug_id empty only for an intentional fallback artifact. Exact mobile build identity avoids ambiguous matches. List artifacts with GET /api/v1/debug-artifacts. Filter by application_id, service, kind, or platform. Delete one artifact with DELETE /api/v1/debug-artifacts/{id}. Listing requires streams.read; upload and deletion require streams.configure.

Release checklist

  • Preserve artifacts from the exact deployed binary or bundle.
  • Set an immutable SDK version before any error can be recorded.
  • Keep application, service, release, architecture, and Debug ID aligned with the build.
  • Upload every Web chunk map and every shipped mobile architecture.
  • Retain the management token only in the release pipeline.
  • Verify one controlled error after deployment and confirm restored original_* frame fields.

Browser RUM SDK

Configure the browser application, service, and release identity.

Flutter App RUM SDK

Configure Flutter build identity and error collection.
Last modified on August 5, 2026