Dartastic Symbolizer

Stack traces. Solved.

Send an obfuscated production stack trace, get back the same trace with real function names and source-code line numbers. Symbols stay in your Dartastic Pub server, never shared with your observability vendors, reducing the attack surface on your IP.

Works with any OTLP-compatible backend. When configured, the Dartastic Native OTel SDK calls Dartastic Symbolizer after span errors or crashes, rewrites the trace upstream of the exporter, so what your o11y backend sees isn't gobbledygook, it's human-readable stack trace pointing at the source code lines involved in the problem.

How Dartastic Symbolizer turns an obfuscated crash into a source line End-to-end, inside the same trace span. No second tool, no copy-paste. Flutter app+ Dartastic Native OTel SDK1. crash caught locallyOTel Collectortrace + source-code lines arrivein the same spanDartastic PubPRIVATE SYMBOL STOREDartastic SymbolizerWeb APIsymbolizer.dartastic.ioDartastic HostedYour Integratione.g., Error Tracker2. error span3. error, app versionwhen configured6. source-code lines4. error, build info5. .symbols3. error, app versionclick on an error6. source-code lines3. error, app version6. source-code lines All traffic TLS-encrypted · per-package API-key scoping · symbols stay yours

Advantages

  • Readable errors power your whole workflow. An error that names the file and line is a ticket you can triage, assign, and fix before lunch. Symbolization is the difference between watching production and understanding it. Once your team has it, you'll wonder how you shipped without it.
  • It's automatic. Publish and you're done. Build with --obfuscate --split-debug-info and publish your release to your private Dartastic Pub with the .symbols along for the ride. The Symbolizer finds the exact symbols for every app, version, and platform on its own. Version 1.4.0's errors stay readable years from now.
  • Easier than Sentry or Crashlytics. Those platforms ask you to upload debug symbols to them, for every platform, on every release, as a CI step you build and babysit. Dartastic skips the whole ceremony. Your symbols are already home.
  • More secure, too. Debug symbols are the map back to your source code, and uploading them to a vendor widens the attack surface on your IP. With Dartastic they stay in your private Pub, guarded by your keys. Your observability vendor only ever sees friendly, readable text.
  • Your favorite backend just works. Errors arrive with source lines in any OTLP-compatible backend: Datadog, Honeycomb, Dartastic Hosted, even Sentry itself. Nothing to install on the vendor side, no integration to wait for.
  • Milliseconds, as part of the trace. One simple API. Cached lookups answer in milliseconds, and every response includes your month-to-date usage. It feels like the trace was never obfuscated at all.
Symbols never reach your o11y vendor

Most teams upload .symbols / .dSYM straight to Datadog, Sentry, or similar. That hands the vendor a key to reconstruct your source. Dartastic Symbolizer keeps the symbol files inside pub.dartastic.io and only emits the deobfuscated text downstream.

On-prem option (Compliance)

Regulated workflows can run Dartastic Symbolizer inside their Perimeter as part of the Dartastic Hosted locked-box. Production traces never leave the customer's network.

Auto-fetch from Dartastic Pub

Publish your Flutter app to pub.dartastic.io with --obfuscate --split-debug-info=; the Dartastic Symbolizer downloads the archive on first cache miss. No second upload step.

Get Dartastic Symbolizer

Dartastic Symbolizer is included with OTel Pro and Dartastic Hosted — pick the plan that fits and Symbolizer comes with it.