CPR.co
For Admins

Platform kill switches (system admin)

The platform-wide toggles for cron jobs, AI features, and third-party integrations — when to use them, and how they override tenants.

System → Settings → Kill Switches (https://cpr.co/system/settings/kill-switches) is the red-button room. If something is on fire — a bug floods email, SMS costs spike, a third-party is down — flip a switch here and the platform stops that behavior instantly across every tenant.

What the page shows

Two sections: 10 feature kill switches and 19 cron job toggles. Each is a simple on/off with a last-changed-by timestamp.

The 10 feature kill switches

SwitchWhen to flip off
email_enabledMailgun is misbehaving or we sent a bad blast
sms_enabledTwilio outage or cost spike
payments_enabledStripe outage or fraud surge
booking_enabledRoll-out freeze (public booking should not create new rows)
support_chat_enabledAI chat is answering something wrong
claude_enabledAI tool calls — admin chat, proactive worker, approval queue — all pause
gmail_sync_enabledGmail OAuth issue
ringcentral_sync_enabledRingCentral OAuth issue
automations_enabledBad automation rule is firing in a loop
email_sequences_enabledDrip campaign is misconfigured

The 19 cron toggles

Each scheduled job (class-sync, class-reminders, cert-expiration-reminders, gmail-sync, demo-activity, generate-seo-pages, and so on) has its own switch. Turning one off keeps the rest running — useful when one job is failing but you do not want to pause everything.

How kill switches interact with tenant settings

Inheritance

  • If a platform switch is OFF, every tenant is OFF — tenant settings cannot override.
  • If a platform switch is ON, each tenant can still be OFF individually.
  • This is intentional: the platform has veto power.
⚠️
Important: Flipping off payments_enabled during business hours will immediately fail any in-flight checkout. Communicate to tenants before you use the nuclear options.
💡
Tip: Log into the #platform-status Slack channel before flipping a switch. Log the reason and expected duration. Post again when you flip it back. Every switch change is also written to activity_log for the audit trail.
ℹ️
Note: Kill switches are stored in platform_settings with category="kill_switches" and can also be toggled from a terminal if the UI is unavailable. See docs/OPS-RUNBOOK.md for the emergency path.

Was this article helpful?

Still need help?

We're here for you — call or email us any time during business hours.

Mon–Fri 8am–5pm Central Time

💬Chat with us