PCI DSS Compliant Terraform Modules
Enforced Before terraform apply
Cardholder data protection starts at the infrastructure layer. Every module enforces encryption, access controls, logging, and key management before deployment.
If your application stores, processes, or transmits credit card numbers, PCI DSS is mandatory. Non-compliance can result in fines or loss of card processing privileges. Even if you use Stripe, your AWS infrastructure may be in scope.
339
Controls
134
Clauses
34
AWS Modules
No credit card or AWS account needed to start.
From the team behind terraform-aws-modules. 2B+ provisions worldwide.
Three Steps to PCI DSS Compliant Infrastructure
For terraform-aws-modules users, migration is a one-line change. Same workflow, same interface. Bringing your own modules? We can make those compliant too. Join the beta.
Change One Line
Run Terraform Commands
Compliance Enforced
Every compliance requirement you define is enforced automatically. Nothing to scan, nothing to remediate.
Controls Enforced for PCI DSS
339 controls across 134 clauses and AWS services
- CloudFront distributions should encrypt traffic to custom origins
- CloudFront distributions should require encryption in transit
- CloudFront distributions should not use deprecated SSL protocols between edge locations and custom origins
- CloudFront distributions should encrypt traffic to non S3 origins
- CloudFront distributions should use SNI to serve HTTPS requests
- CloudFront distributions should use secure SSL cipher
- ELB application and network load balancers should only use SSL or HTTPS listeners
- ELB application and network load balancer listeners should use secure protocols
- ELB classic load balancers should use SSL certificates
- ELB classic load balancers should only use SSL or HTTPS listeners
- Elasticsearch domain node-to-node encryption should be enabled
- OpenSearch domains should use HTTPS
- OpenSearch domains node-to-node encryption should be enabled
- Redshift cluster encryption in transit should be enabled
- S3 buckets should enforce SSL
- Transfer Family servers should not use FTP protocol for endpoint connection
- VPC security groups should not allow ingress from 0.0.0.0/0 to remote server administration ports (IPv4)
Additional Controls
8 additional controls enforced for PCI DSS
PCI DSS Scope: What We Handle vs. What You Own
compliance.tf handles the infrastructure configuration layer for PCI DSS. Here is what it covers and what stays with your team.
compliance.tf Enforces for PCI DSS
- Infrastructure-level data protection controls (encryption, access blocking, logging)
- PCI DSS v4.0 requirement mapping with specific requirement IDs
- Deployment-time evidence generation via AWS-native tools
- Upstream module updates (terraform-aws-modules kept in sync)
- Exception management with audit trail
- Control documentation and requirement mapping matrices
Your Team Still Handles for PCI DSS
- SAQ completion and submission
- QSA engagement and on-site assessments
- Penetration testing and vulnerability scanning
- Security awareness training programs
- Physical security of cardholder data environments
- Application-level security controls
- Network segmentation and firewall rules
compliance.tf handles the PCI DSS requirements that map to AWS resource configuration. Your QSA still assesses your full cardholder data environment.
Operational Rules (lifecycle blocks, tagging, instance restrictions) are also applied alongside PCI DSS compliance controls.
PCI DSS Audit Evidence — Built Into Your Workflow
Your auditor does not need to trust compliance.tf. Evidence comes from AWS-native tools they already accept.
Evidence your auditor already trusts
Every compliance.tf module enforces controls at deploy time. When AWS Config, Security Hub, or Audit Manager evaluates your resources, they report clean findings because the controls are built into the modules, not bolted on after the fact.
- AWS Config rules validate resource configuration continuously
- Security Hub aggregates findings across accounts and regions
- Audit Manager generates assessment reports mapped to PCI DSS
- Downloadable control mapping matrices for your auditor
Prevention vs. Detection for PCI DSS
compliance.tf prevents non-compliant deployments. Scanning tools detect them after the fact. Most mature programs use both.
| Dimension | IaC Scanning Checkov / Trivy / Prowler | Compliance.tf |
|---|---|---|
| Prevents non-compliant configs before terraform apply | No (post-plan scan) | Yes |
| Maps controls to framework clause IDs | Partial | Yes |
| Produces auditor-accepted evidence (AWS-native) | Scan reports only | Yes |
| Exception management with audit trail | Suppression rules | Yes |
| Same interface as terraform-aws-modules | N/A | Yes |
| Keeps pace with upstream module updates | N/A | Yes |
| Catches runtime drift / console changes | Yes | No |
| Covers non-Terraform resources | Yes | No |
| Internal engineering time | Medium | Low |
We recommend keeping scanning tools active alongside compliance.tf for defense in depth. The scanner validates what compliance.tf already enforces.
PCI DSS Compliance Questions
Can compliance.tf reduce my PCI DSS scope?
Is this PCI DSS v3.2.1 or v4.0?
How is this different from Checkov, Trivy, or Prowler?
Can I adopt this gradually, or is it all-or-nothing?
Will my auditor accept this as evidence?
What if I want to switch back or compliance.tf shuts down?
Start Deploying PCI DSS-Compliant Infrastructure
$1,000/year for all 34 modules, all frameworks. 30-day free trial.
No credit card required. Switch back at any time.
Stay Informed About New Features
Join the mailing list for releases, new modules, and roadmap updates. No spam. Unsubscribe anytime.
Not convinced yet or dying for a feature we don't have? Send us an email — we really want to hear your feedback!