Skip to main content
Puntego configuration starts in the tenant manifest returned from /boot.

Appearance

  • Set branding, copy tone, and install metadata from Dashboard -> Customize.
  • Keep the public install snippet stable. Runtime behavior should change through tenant config, not by editing the script tag on every deploy.
  • always_opt_out (light notice plus opt-out) is the default launch mode.
  • Choose between always_opt_in, always_opt_out, and disclosure_only from Dashboard -> Privacy.
  • Restrictive modes require the same-request legal acknowledgment in the dashboard.

Voice

  • Voice is optional per tenant.
  • Touch-primary devices fall back to the bubble experience instead of the desktop cursor metaphor.

Feature flags

  • GP_KILLSWITCH=true makes /boot return 503, and the embed silently no-ops.
  • GP_PRODUCTION_TENANTS gates which tenants are allowed to boot or chat in production rollout mode.

Observability

  • Dashboard errors and route traces use @sentry/nextjs@10.56.0 with sendDefaultPii: false; browser and server events stay scrubbed before they leave the app.
  • SENTRY_DSN_DASHBOARD feeds the server and edge bundles; NEXT_PUBLIC_SENTRY_DSN_DASHBOARD feeds the browser bundle.
  • Breadcrumbs stay on, tracesSampleRate stays at 0.1, and raw request bodies, visitor data, and prompt text are not captured by default.
  • To disable Sentry quickly, blank both DSNs and redeploy.
  • Langfuse Cloud Hobby stays worker-side only for model traces, sampled replays, and eval plumbing. The dashboard does not emit browser-side Langfuse traces.
  • Langfuse Cloud Hobby has a 50,000 units/month hard cap and 30-day retention, so watch worker usage before the trace pipe goes quiet.
  • Langfuse sampling stays conservative and tenant-isolated, so operator traces never become a second copy of raw visitor data.
  • AI Gateway logs, guardrail calls, and Promptfoo/eval traces stay worker-side and tenant-isolated; the dashboard only renders the redacted summaries surfaced by the worker API.