8.6.2 No hard-coded passwords for interactive system accounts
Passwords or passphrases belonging to any application or system account capable of interactive login must never be hard coded in scripts, in configuration or property files, or in bespoke or custom source code. The guidance suggests password vaults and other system-managed controls can help. Applicability: stored passwords must be encrypted in line with Requirement 8.3.2. Objective under the customized approach: unauthorized personnel are unable to use the passwords and passphrases of application and system accounts. Future-dated: treated as a best practice up to 31 March 2025 and mandatory since then.
Source: PCI DSS v4.0.1, 8.6.2. The statement above is our statement of the clause, read from the published text and cited so you can check it against the official text, not the instrument verbatim. Open PCI DSS v4.0.1 in the compliance library.
Version 4.0.1 is the active version; 4.0 has been retired. Appendix A1 applies only to multi-tenant service providers, A2 only to card-present POS POI terminals that still use SSL or early TLS, and A3 only when a payment brand or acquirer requires it. Which requirements apply to you follows your validation type.
These are the artefacts auditors commonly ask for on this requirement, our guidance rather than text from the standard. Your assessor decides what is sufficient in your context, and asks for samples across the period when a report covers one.
system holds itEvidence a system already holds
- Secret scanning results for code repositories and configuration files · Vulnerability scanner / patch tooling
- Secrets vault integration configuration used by applications and scripts · Cloud console / configuration management
periodic reviewEvidence produced at each review
- Sample review of deployment scripts and property files · Source control / CI pipeline
governing documentDocuments that govern the control
- Secure coding standard prohibiting embedded credentials · Policy repository / GRC workspace
First move
Common gaps auditors find
- Database service account password stored in a properties file in the repository
- Scheduled scripts on servers contain plaintext credentials
- Secret scanning run only on new commits, not historical code
Do this for your whole sheet
Paste the rows you run your controls from and get this mapping for every control at once, with the periodic-review ones flagged and a first move per row. No account for the first run.
Build my evidence sheet8.6.1 Interactive use of system accounts controlled · 8.6.3 System account passwords protected against misuse