# Magic Sentry documentation > Magic Sentry wires Sentry error and performance monitoring into a Magic app: boot, HTTP failures, the signed-in user and breadcrumbs. ## Getting Started - [Installation](https://anilcancakir.com/magic/docs/sentry/getting-started/installation.md): Add magic_sentry to a Magic app, run the installer, wrap main() in MagicSentry.run and set a DSN. ## The Basics - [Boot and the Provider](https://anilcancakir.com/magic/docs/sentry/basics/boot-and-provider.md): MagicSentry.run starts Sentry before Magic.init; SentryServiceProvider wires the rest once Magic is up. - [HTTP Reporting](https://anilcancakir.com/magic/docs/sentry/basics/http-reporting.md): SentryNetworkInterceptor turns the failures Magic's Http facade returns as values into Sentry events and breadcrumbs. - [User Context](https://anilcancakir.com/magic/docs/sentry/basics/user-context.md): SentryUserContext keeps Sentry's scope user in step with Auth.stateNotifier, so every event says who hit it. - [Event Breadcrumbs](https://anilcancakir.com/magic/docs/sentry/basics/event-breadcrumbs.md): Any Magic event that implements ReportsBreadcrumb becomes a Sentry breadcrumb, with no extra wiring. ## Guides - [Token Scrubbing](https://anilcancakir.com/magic/docs/sentry/guides/token-scrubbing.md): SentryTokenScrubber masks URL-borne tokens in everything Sentry is about to send, and MagicSentry.run installs it for you. - [Testing](https://anilcancakir.com/magic/docs/sentry/guides/testing.md): Test code that uses magic_sentry: nothing to set up without a DSN, and a placeholder DSN when you need to read the scope. ## Optional - [Magic Sentry](https://anilcancakir.com/magic/sentry): the package landing page - [Full documentation](https://anilcancakir.com/magic/docs/sentry/llms-full.txt): every page in one file