dtwo Policy Store

Pci Dss bundle

Included policies (24)

About this bundle

The Payment Card Industry Data Security Standard (PCI DSS) v4.0.1 governs every entity that stores, processes, or transmits cardholder data — the Primary Account Number (PAN), cardholder name, expiry, and service code — or sensitive authentication data (CVV/CVC, full track data, PINs). Its costliest agent-era failure mode is scope creep: an agent copying a PAN out of a payment system or data warehouse into a chat, a ticket, or a doc drags that app into cardholder-data scope.

This bundle gathers policies that support alignment with PCI DSS 4.0.1 on the MCP path only. They act on the tool calls an AI agent makes through the DTwo gateway — masking PAN in responses, fencing agent queries against stored cardholder data, capping bulk pulls, gating payment operations by role, and keeping the least-privilege line on card-data-adjacent apps. Every decision is attributed to an authenticated individual and logged. These policies govern the agent channel; they do not touch web-UI, native-API, or in-app access, and no bundle makes an organization PCI DSS compliant.

What this bundle covers

The policies are grouped by the PCI control theme they support. A policy appears once, under its primary theme; policy bodies live under apps/ and this page only links to them.

Mask cardholder data in responses

Egress transforms that detect Luhn-validated PAN in tool responses and mask it to BIN + last four, unless the caller carries a documented full-PAN group. They never deny a call. Supports 3.4.1 (PAN masked on display), 3.4.2 (prevent copy/relocation through the agent channel), and — by keeping PAN out of apps that should never hold it — 3.2.1 and 12.10.7.

Policy App Direction Purpose
mask-pan-egress slack egress Mask Luhn-validated PANs to BIN + last4 in Slack message and search responses; pci-full-pan group exempt.
mask-pan-egress gmail egress Mask card numbers in email content read by the agent; the full-PAN group is exempt, fail-closed.
mask-pan-egress intercom egress Mask card numbers in Intercom conversation responses where customers paste PANs into tickets.
mask-pan-egress zapier egress Mask PANs in Zapier aggregator read responses, which proxy finance-adjacent apps with no source DLP.
mask-pan-egress databricks egress Mask cardholder PANs in Databricks SQL, Genie, and AI-Search responses.

Restrict programmatic queries against stored cardholder data

Ingress controls that fence agent queries against warehouse schemas, datasets, and objects where transaction data lands, and block the DML/DDL/export constructs that would mutate or relocate it. This is the flagship PCI control for MCP access. Supports 7.2.6 (programmatic query access to stored CHD restricted by role) and 7.2.1 / 7.2.2 (least-privilege access model).

Policy App Direction Purpose
fence-sensitive-schemas snowflake ingress Group-gate PII/HR/finance schema references by data domain and block SELECT * on fenced schemas.
guard-warehouse-sql snowflake ingress Block destructive and mutating SQL (DROP/DELETE/UPDATE/INSERT/MERGE/ALTER/GRANT); read-only default.
guard-warehouse-export snowflake ingress Block bulk export via COPY INTO external stage/URL, stage creation, shares, and off-perimeter PUT/GET.
fence-sensitive-schemas databricks ingress Deny SQL/UC-metadata access to sensitive namespaces (hr/payroll/pii/comp) outside the data-privacy group.
guard-warehouse-sql databricks ingress Guard Databricks SQL against writes and DDL, forcing read-only for non data-engineering callers.
fence-sensitive-datasets bigquery ingress Fence regulated dataset prefixes (finance_/pii_/phi_) by IdP group across SQL and metadata tools.
guard-warehouse-sql bigquery ingress Block destructive SQL (DML/DDL/GRANT/CALL/LOAD DATA/EXECUTE IMMEDIATE); read-only default.
guard-warehouse-export bigquery ingress Block EXPORT DATA/MODEL, EXTERNAL_QUERY, cross-project writes, and out-of-allowlist project IDs.
query-allowlist salesforce ingress Restrict the SOQL FROM object to an allowlist (Account/Contact/Opportunity); other objects denied.

Minimize the data an agent can pull in one call

Ingress controls that clamp bulk-read levers — page sizes, unbounded list/search, and mass enumeration — so a single agent request cannot sweep an entire ledger, customer base, or contact list into context. Keeping the volume of retrieved cardholder-adjacent data to the minimum required supports 3.2.1 (minimize account-data storage / anti-sprawl), 7.2.6, and 3.4.2.

Policy App Direction Purpose
cap-bulk-export quickbooks ingress Clamp the bulk-read levers on QBO search_* tools so the agent cannot pull the whole general ledger or full lists.
cap-bulk-export netsuite ingress Clamp or require pageSize on ns_runCustomSuiteQL, capping bulk SuiteQL reads over the ERP.
cap-bulk-export salesforce ingress Block bulk PII extraction by inspecting the SOQL/SOSL query string on Salesforce query tools.
cap-bulk-export hubspot ingress Clamp the page size of covered HubSpot bulk-read tools so one call can never return more than 50 records.
cap-contact-enumeration intercom ingress Cap Intercom contact enumeration on search_contacts and generic contact search to stop full-base sweeps.

Least-privilege access to card-data-adjacent apps

Ingress controls that fence the structured-PII read surface of support and service apps behind matching IdP groups — narrowing the effective privilege of the agent's OAuth grant regardless of how broad the underlying token is. Supports 7.2.1 / 7.2.2 (access by job function, least privilege) and 7.2.5 (application/system account least privilege).

Policy App Direction Purpose
fence-contact-reads intercom ingress Role-gate Intercom's structured-PII contact and company read surface to documented support/CRM groups.
fence-sensitive-tables servicenow ingress Fence the most sensitive ServiceNow tables (sys_user, HR, CMDB) behind owner IdP groups across Table-API routes.

Gate payment and money-movement operations

Ingress controls that keep the agent read-only against payment systems by default and gate refunds, payouts, and billing mutations to finance groups with amount ceilings. Supports 7.2.1 / 7.2.2 and 7.2.5 (application-account least privilege), and 3.4.2 by keeping stored payment data from being relocated.

Policy App Direction Purpose
role-gate-writes-billing stripe ingress Read-only Stripe by default; gate named billing write/destructive tools to finance/billing-admin groups.
gate-money-movement-refund-cap stripe ingress Gate Stripe refunds to finance/billing-admin and deny any refund whose amount exceeds the configured cap.
gate-money-movement quickbooks ingress Gate QBO money-movement tools behind finance-group membership and an amount ceiling.

Policy bodies live under apps/. This page only links to them — see the top-level README for the rationale.

How this bundle composes

The egress masking policies are transform-only (default allow := true), scoped to their own app, and attach to the response pipeline — so they never deny a call and never collide with each other or with the ingress controls. The ingress policies (query fencing, bulk caps, role gates, money-movement gates) run on the request pipeline, are each single-purpose, and fail closed when identity claims or arguments are missing. Attach the egress guards everywhere PAN can surface and the ingress guards on the payment systems and warehouses where cardholder data actually lives; they are designed to stack.

Bundle membership is declared in each policy's policy.md frontmatter (the policy lists pci-dss among its bundles). This page is a human-readable landing page; the generated manifest.json is the machine-readable source of truth. There is intentionally no separate bundle.json artifact — one source of metadata avoids drift.

What it does NOT cover

PCI DSS is far broader than the agent channel, and several requirements are out of the gateway's reach by design. These policies do not:

Nothing here catches every path to a PCI outcome; the bundle is the strongest available technical control on the agent channel, layered on top of the controls you already run beneath it.


Compliance note. This bundle supports alignment with the cited framework controls on the MCP path only. No policy or bundle makes an organization compliant with any framework; web-UI, native-API, and in-app access are outside the gateway's reach by design. Validate against your own compliance program before relying on it.