Production Safety
Zentro treats production safety as a first-class concern across all tiers. Free includes awareness features that build safe habits. Pro raises these to active enforcement that requires deliberate action before a destructive query can run.
Environment Labeling
Every connection is tagged with an environment: Local, Development, Testing, Staging, or Production. This tag drives all safety behavior in the app. Set it when creating or editing a connection.
📸 Screenshot needed: Connection edit panel showing the environment dropdown (Dev / Staging / Production).
Production Overlay
When connected to a Production environment, Zentro shows a persistent indicator in the toolbar.
| Plan | Behavior |
|---|---|
| Free | Warning banner displayed |
| Pro | Persistent, non-dismissable overlay — stays visible regardless of which panel you're in |
📸 Screenshot needed: App toolbar with an active Production connection showing the production overlay.
Query Risk Classification
Before any statement is sent to the database, Zentro classifies its risk:
| Risk | Example |
|---|---|
| Safe | SELECT ... |
| Warning | INSERT INTO ... |
| Dangerous | DELETE without WHERE, DROP TABLE, TRUNCATE |
| Plan | Behavior |
|---|---|
| Free | Risk level shown alongside the query; warning displayed |
| Pro | Dangerous queries on Production are blocked until the user takes deliberate action |
Affected Rows Preview
Before executing a UPDATE, DELETE, or INSERT, Zentro shows how many rows will be affected.
| Plan | Behavior |
|---|---|
| Free | Row count shown as informational |
| Pro | Requires confirmation when the affected count exceeds a threshold |
Sandbox Preview
Runs a mutating query inside an implicit transaction. You inspect the result, then choose to commit or rollback without having permanently changed any data.
| Plan | Behavior |
|---|---|
| Free | Available as opt-in (wrap in transaction manually) |
| Pro | Auto-triggered for dangerous queries on a Production connection |
Pro: Hard Enforcement
The following features are Pro-only and apply on Production connections.
Write Confirmation Dialog
Any statement that modifies data triggers a confirmation dialog before execution. The dialog shows:
- Full statement to be executed
- Estimated affected row count (where the driver can determine it)
- A countdown timer before Execute becomes available
This cannot be bypassed on Production.
📸 Screenshot needed: Write confirmation dialog with query preview, affected rows count, and countdown timer.
Type-to-Confirm
For high-risk operations (DELETE without WHERE, TRUNCATE, DROP), Zentro requires typing a confirmation phrase that matches the operation. The Execute button stays disabled until the phrase matches exactly.
Cooldown Timer
After a destructive operation completes on Production, a 3-second cooldown prevents another destructive operation on the same table immediately. The timer is visible in the confirmation dialog.
Reason Field
Zentro can require a plain-text reason before a destructive query runs on Production. The reason is stored in the audit log alongside the query.
Enable in Settings → Data & Query → Require reason on Production writes.
Write Safety Policy Profiles
Configure the combination of enforcement rules per environment tag. The strict profile enables all Pro enforcement features. The standard profile enables confirmation and reason but not cooldown.
Configure in Settings → Data & Query → Safety Policy.
Audit Log
Every query executed on a Production connection is written to an append-only local log.
| Field | Description |
|---|---|
| Timestamp | When the query ran |
| SQL | Full statement text |
| Rows affected | Count returned by the driver |
| Status | Success / Error |
| Duration | Execution time in ms |
| Reason | User-entered reason (if configured) |
Access from the toolbar: Project → Audit Log.
→ For schema-level history and rollback, see Version History.
→ For PII detection, app lock, and credential vault, see Security & App Lock.