September 9, 2026

Mask Sensitive Data Approvals in the Inbox

Learn how to mask sensitive data approvals in your approvals inbox. Set rules in one config object to protect information during human in the loop reviews on

Mask Sensitive Data Approvals in the Inbox — illustrated guide from Run Agents

Mask Sensitive Data Approvals in the Inbox

You need to mask sensitive data approvals before any output reaches the approvals inbox. This keeps private fields hidden while every agent you run still follows the human in the loop process required for real-world actions.

The Agent Command Center lets you define masking rules inside a single versioned config object. Changes stay traceable across executions on your agent runtime backend.

Key takeaways

  • Masking rules belong in the same config object that controls prompts, tools and approval levels.
  • Sensitive fields never appear in logs or inbox items unless you explicitly allow them.
  • Human approval remains mandatory for any action that touches production systems.
  • Execution history records token usage and cost estimates without exposing raw data.

Why Masking Matters for Regulated Agents

Autonomous agents often process customer records, financial values or internal identifiers. Without masking, these values surface in the approvals inbox and in streamed logs. Teams that skip this step risk exposing data during routine human reviews.

Regulators expect clear separation between what the model sees and what a human reviewer sees. Placing masking logic in one config object keeps the rule set consistent for every agent you deploy. This approach also aligns with established privacy practices such as those outlined in the NIST Privacy Framework.

  • Define field paths once and reuse them across schedules.
  • Apply different masks per autonomy level.
  • Keep the original values available only to the runtime backend for final execution after approval.
  • Log the masking action itself so auditors can confirm the rule fired on every relevant run.
  • Test edge cases where a field appears in nested objects or arrays.

Align Masking with Data Privacy Standards

Many organizations must follow external requirements when handling personal or financial data. Masking rules in the config object let you meet those requirements without rewriting agent code.

Start by mapping each regulated field to a masking pattern. Then attach the pattern to the approval rule that already exists for that schedule. This keeps everything in one place and avoids drift between policy and implementation.

  • Map fields such as email, SSN, or account balance to their required mask.
  • Reference the same patterns when you update the single config object for new agents.
  • Record the standard or regulation each rule satisfies in a comment inside the object.
  • Re-run sandbox tests after any regulation update to confirm continued compliance.

You can also link these rules to broader controls described in Set Per Schedule Approval Rules in One Config Object.

Define Masking Rules in One Config Object

Open the config object editor and add a masking section. Each rule specifies a JSON path, a replacement string and an optional condition based on the current schedule.

  • customer.email → ***@***.com
  • payment.amount → masked
  • internal.user_id → user-*** when autonomy level is below 3
  • order.shipping_address.postal_code → *****
  • support.ticket_notes → [redacted] only on production schedules

Save the object. Every subsequent run on your agent runtime backend applies the same rules before data reaches the approvals inbox. Version history shows exactly when each masking pattern was added or changed.

Route Masked Outputs to the Approvals Inbox

Masked payloads arrive in the inbox with clear indicators that fields were redacted. Reviewers see the structure of the decision without the actual values.

  • Inbox item shows original field count and number of masked values.
  • Expandable section reveals the unmasked payload only after explicit request and additional approval.
  • Rejection or edit actions stay logged against the masked version.
  • Time-stamped notes record who viewed the unmasked data and why.

This flow satisfies Evaluate Approval Workflows for Regulated Agents while preserving audit requirements.

Compare Masking Methods

MethodVisibility to ReviewerStored in LogsReversible After ApprovalConfig Location
Full redactionNoneNoNoSingle config object
Partial maskPattern shownYesYesSingle config object
Conditional maskDepends on scheduleYesYesSingle config object
No maskFull valuesYesN/ANot recommended

The table shows why the single config object approach wins for teams that need both safety and traceability. Partial and conditional masks give reviewers enough context while still protecting the underlying values.

Set Human Approval Triggers Around Masked Data

Even masked items that affect production must pass human review. Define approval rules that trigger on action type rather than on the visible content.

  • Any tool call that writes to external systems requires inbox approval.
  • Schedule changes that raise autonomy level always route to the inbox.
  • Token usage above a defined threshold triggers a cost review step.
  • Edits to previously masked fields require a second reviewer sign-off.

These triggers live in the same config object so updates remain versioned and auditable. You can also tie them to token spend tracking covered in Audit Token Spend by Role from the Control Plane.

Inspect Execution History Without Data Exposure

Execution history shows intermediate outputs and token counts after masking has been applied. You can still trace why an agent reached a particular decision.

  • Filter runs by masked field presence.
  • Compare token usage across different masking rules.
  • Export masked traces for compliance reports.
  • Search by original field path even when the value itself is hidden.

See how to Inspect Failed Agent Runs in Execution History for additional filtering options.

Test Masking Rules with Sandbox Executions

Run sandbox tests before promoting a new config object version. Sandbox mode applies the same masking logic without touching live systems.

  • Verify that email addresses and amounts appear correctly redacted.
  • Confirm that approval routing still occurs for sensitive actions.
  • Measure any change in token usage caused by the masking step.
  • Check nested object handling and array fields.
  • Confirm rollback restores both prompts and masking settings together.

Sandbox results appear in the same log format used in production, making comparison straightforward.

Monitor Token Usage and Cost Estimates

Masked executions still report accurate token counts and cost estimates. Review these metrics in the control plane to keep spend visible without exposing source data.

  • Daily summary lists masked versus unmasked runs.
  • Per-role token totals remain available for audit.
  • Alerts fire when masked runs exceed expected cost thresholds.
  • Weekly reports break down masking overhead by schedule.

Conclusion

Mask sensitive data approvals by placing rules inside the single config object that already governs your agents. This keeps the approvals inbox clean while human approval remains mandatory for every real-world action.

Next steps:

  • Add a masking section to an existing config object and run one sandbox test.
  • Review the resulting inbox item to confirm redaction works as intended.
  • Update approval triggers so masked items still require human sign-off.
  • Compare token usage before and after the change using the execution history view.
  • Map any new regulated fields to existing patterns before the next production deployment.

FAQ

How do I mask fields only for certain schedules?

Add a condition inside the masking rule that checks the schedule name stored in the config object. The rule applies only when the condition matches.

Can reviewers still request the original values?

Yes. An extra approval step can unmask a single execution for a limited time. The request and the unmask action are both recorded.

Does masking affect model accuracy?

Masking happens after the model produces its output. The agent sees the real data; only the inbox and logs receive the masked version.

Where are masking rules stored?

All rules live inside the versioned config object. Rollback restores both the prompts and the masking settings at the same time.

What happens if a masked field is needed for a later tool call?

The runtime backend keeps the original values internally. After human approval the unmasked data is used for the actual tool execution.