MishaBook a demo

Aug 14, 2026

Why Every Write Action Is Gated

A gated write action is any operation that modifies system state (inventory, customer data, pricing, orders) only after passing through a human approval layer, audit log, or automated validation rule before execution.

The Cost Asymmetry

Preventing a bad write costs: seconds of human review time, plus the latency of an approval queue. Reversing a bad write costs: customer refunds, inventory reconciliation, chargeback fees, support tickets, and reputation damage.

A single unreviewed bulk price change can create 500+ customer refunds. A single unreviewed inventory sync can oversell stock by 200 units. A single unreviewed customer data export can leak PII. The median cost to reverse these exceeds $5,000 per incident. The cost to gate them: 30 seconds of review time.

This is not risk management theater. This is arithmetic.

Incident Pattern: The Automation Cascade

Most write incidents follow this sequence: an automated process runs on schedule (inventory sync, email campaign, discount application). A bug or data corruption exists in the source. The automation executes without human eyes on the output. By the time the error is visible, it has already affected 100+ records.

Example: A product feed sync runs nightly. A supplier sends corrupted SKU data. The sync applies the bad data to 300 products. Prices are set to $0.01. The store processes 47 orders at that price before anyone notices. Recovery requires manual refunds, inventory adjustments, and customer communication.

Incident Pattern: The Permission Creep

Teams grant write access to systems for legitimate reasons (a contractor needs to upload a CSV, a vendor needs to update their product feed, a new employee needs to process returns). Over time, the scope of that access expands. The contractor's CSV upload tool gains the ability to modify prices. The vendor gains access to customer data. The employee gains the ability to issue refunds without limits.

Without gating, a compromised account or a moment of inattention can execute writes at scale. With gating, the blast radius is capped at whatever a single approval can authorize.

The Gating Checklist

Not all writes require the same level of review. The gate should scale with impact:

  • Inventory changes > 50 units: require approval before execution
  • Price changes > 10% on any SKU: require approval before execution
  • Bulk customer data exports: require approval + audit log before execution
  • Refunds > $100: require approval before execution
  • Email campaigns to > 1,000 subscribers: require approval before send
  • Discount code creation with > 50% off: require approval before activation
  • Shipping address changes on orders in fulfillment: require approval before update
  • Subscription cancellations in bulk: require approval before execution

Implementation: Approval Queues vs. Validation Rules

Two gating mechanisms exist. Approval queues require human sign-off. Validation rules block writes that violate predefined conditions.

Approval queues are slower but catch novel errors. Validation rules are instant but only catch known bad states. The best systems use both: validation rules block obvious violations (price set to negative, inventory set to -500), and approval queues catch edge cases (a 15% price increase that's technically valid but unusual).

Decision rule: if the write can be validated by a formula (price > 0, inventory >= 0, email format valid), use validation. If the write requires judgment (is this price increase justified, is this customer refund legitimate), use an approval queue.

The Audit Log as a Gate

An audit log is not a gate - it's a record of what passed through the gate. But the existence of an audit log changes behavior. When operators know that every write is logged with a timestamp, user ID, and change delta, they write more carefully. When operators know that a suspicious write can be traced back to them, they think twice.

The gate is the approval. The audit log is the accountability.

When Gating Fails: The Incident Postmortem

Gating failures fall into three categories: the gate was bypassed (a user found an undocumented API endpoint that skipped approval), the gate was too permissive (an approval was granted without proper review), or the gate was too slow (an urgent operational need forced a user to skip the gate).

The fix for bypass: audit all write endpoints, document the approval path for each, and block undocumented paths. The fix for permissiveness: tighten the approval criteria and add a second reviewer for high-impact writes. The fix for slowness: pre-authorize common urgent scenarios (e.g., a manager can approve a refund up to $500 in 30 seconds without escalation).

Questions

FAQ

Doesn't gating slow down operations?

Yes, by 30 seconds to 5 minutes per write. This is the intended cost. The alternative is risking a $5,000+ incident. For time-sensitive operations (e.g., a customer service agent issuing a refund), pre-authorize the action class and gate only the outliers (refunds > $500).

What if a gated write is genuinely urgent?

Define 'urgent' with a threshold and a pre-approval process. Example: a manager can approve a $200 refund in 30 seconds. A $5,000 refund requires escalation and takes 10 minutes. A $50,000 refund requires two approvers and takes 30 minutes. This scales the gate to the risk.

Can validation rules replace approval queues?

No. Validation rules catch known bad states. Approval queues catch unknown bad states. A price increase of 20% is valid by formula but might be a data entry error. A bulk refund is valid by formula but might be a mistake. Use both.

Who should approve writes?

The person with the most context about whether the write is correct. For inventory changes, the inventory manager. For refunds, the customer service lead. For pricing, the revenue manager. Distribute approval authority by domain, not by hierarchy.

Want this on your account?

Thirty minutes. Bring the number that keeps you up.

More from the blog