// sentry.server.config.ts — node/Nitro SDK init. Loaded before the app via the module's // `autoInjectServerSentry: 'top-level-import'`, so it must use process.env directly // (useRuntimeConfig() isn't fully available this early on the server). import * as Sentry from '@sentry/nuxt' import { scrubEvent } from './sentry.scrub' const dsn = process.env.SENTRY_DSN const release = process.env.GITHASH // Empty DSN (dev / kill-switch) → init is skipped and Sentry is a no-op. if (dsn) { Sentry.init({ dsn, environment: process.env.SENTRY_ENVIRONMENT || 'production', release: release && !release.includes('<') ? release : undefined, // Performance: sample 10% of server transactions (API routes + outbound calls). tracesSampleRate: 0.1, // PII safety — never attach cookies/headers/body. The shared scrubber is a 2nd line. sendDefaultPii: false, beforeSend: scrubEvent, }) }