How Audits Work
Unmitigated Risk · August 2026

How Audits Work, from Management Assertions to Control Matrices

What an audit actually tests, why the control matrix is the scope of the whole exercise, and why the root programs are forcing CAs toward documents precise enough to test.

THE AUDIT TRACEABILITY CHAIN Every audit conclusion should trace back, link by link, to a requirement. Requirement what must be true Control what the CA does about it Policy / CPS where the practice is documented Evidence what actually happened Auditor test does the evidence match the claim Conclusion is the assertion fairly stated
Every audit conclusion should trace back, link by link, to a requirement.
Part I

The Machinery of an Audit

1The Core Idea

An audit is not an auditor arriving and asking an organization to prove it is compliant. Before fieldwork begins, the organization prepares a body of material that defines what is being audited, what management claims to be true, and how those claims can be tested.

A useful way to think about the whole exercise is as a traceability system.

Requirement → Control → Policy or Procedure → Evidence → Auditor Test → Conclusion

Every audit conclusion should trace back, link by link, to a requirement. The artifact that makes this traceability possible is the control matrix. The rest of this post walks that chain, and then looks at what happens when one of its links, the policy documents of a publicly trusted Certification Authority, comes under pressure to change shape.

2The Management Assertion

For attestation-style audits, management begins by defining the scope of the examination and making an assertion about the system being examined. The exact form depends on the framework. SOC examinations, for example, distinguish between SOC 1 and SOC 2, which address different subject matter (financial reporting controls versus security and operational criteria), and between Type 1 and Type 2 reports.

A Type 1 report evaluates whether controls are suitably designed at a single point in time. A Type 2 report goes further, evaluating whether those controls actually operated effectively over a defined period, typically six to twelve months.

Both are attestation engagements, which means both start the same way. Management makes an assertion. Stripped down, that assertion says something like “ACME, Inc. operated its services in conformance with the applicable criteria.” The auditor’s job is not to discover what the organization does from scratch. It is to test whether that assertion is fairly stated.

WebTrust for CAs engagements follow the same assertion-plus-period structure as a Type 2, which is why everything below maps cleanly onto the WebPKI.[6]

This raises an obvious question for a CA that has not started issuing yet. It has no period to attest to. The Baseline Requirements handle that case in section 8.1 with a point-in-time readiness assessment, which evaluates whether the controls are designed and implemented rather than whether they operated. It must be completed no earlier than twelve months before the first publicly trusted certificate is issued, and a full audit has to follow within ninety days of that first issuance.[1] Two things about it are easy to get wrong. It is not the same instrument as a point-in-time audit, which is typically used to confirm that findings in a qualified report have been remediated, and it does not substitute for a period audit. In the terms used here, a readiness assessment tests the matrix and the design of the controls, in advance of the operating evidence that only a period of running can produce.

It is also worth being precise about what a period audit delivers, because the word “period” can promise more than it means. The auditor does not observe the whole period. They test samples drawn from it, they do that work during and after the period, and then they issue a letter. By the time anyone reads it, the window it describes has closed.

AN AUDIT IS A RETROSPECTIVE The opinion samples a period, and that period has already closed. WHAT THE CA ACTUALLY DID Every issuance, revocation, key access, and configuration change, continuously. WHAT THE AUDIT EXAMINED no opinion covers this fieldwork & reporting Period starts Period ends Report issued Today Sampled, not exhaustive Within the period the auditor tests a sample. A clean opinion does not mean every event was examined. Retrospective, not current The opinion closes with the period. Everything since carries no assurance from this letter. One letter, one closed window. Trust in the interval after it is inference, not evidence.

Both halves of that picture matter. Inside the period, a clean opinion means the sampled tests passed, not that every issuance was examined. After the period, the letter is simply silent. A CA that was conformant through December and broke something in January holds an audit letter that is both accurate and useless for the question you actually have. This is the structural reason misissuance is usually caught by Certificate Transparency monitoring, linters, and problem reports rather than by audits, and it is the gap that continuous assurance exists to close. →

Key lesson

The assertion is the object under test. The audit exists to decide whether it is fairly stated, not to rediscover the organization from scratch.

3The Audit Artifact Hierarchy

The audit package can be understood as a hierarchy. Each layer answers a different question. What does management claim is true? Which services, systems, periods, and criteria are examined? How does the organization believe each requirement is satisfied? What does it say it does? What actually happened? Does the evidence support the claim?

THE AUDIT ARTIFACT HIERARCHY Management assertion What does management claim is true? Audit scope & applicable criteria Which services, systems, periods, and criteria are examined? Control matrix requirement → control → document → evidence How does the CA believe each requirement is satisfied? TLS CPS S/MIME CPS Code Signing CPS Doc Signing CPS Internal Policies What does the organization say it does? Operational evidence What actually happened? Auditor testing Does the evidence support the claimed operation of the control? Audit conclusion Are the criteria satisfied within the defined scope?

One way to think about this is in terms of the artifacts an audit produces and consumes. Here is the structure mapped onto WebTrust for CAs.

THE WEBTRUST FOR CAs ARTIFACT MAP GENERIC ARTIFACT WEBTRUST FOR CAs INSTANTIATION Management assertion The CA’s assertion letter, management’s written claim that, for the stated period, it operated in conformance with the applicable WebTrust criteria. Applicable criteria The WebTrust Principles and Criteria for the engagement, WebTrust for CAs plus the Baseline / Network Security criteria, which incorporate the CA/Browser Forum requirements. Audit scope The specific roots, subordinate CAs, certificate services, locations, and period covered, enumerated in the report and the assertion. Control matrix The CA’s mapping of each criterion to its controls, the CP/CPS sections and internal policies that document them, and the evidence that demonstrates them. Policies & procedures The CP and CPS (the public, auditable commitments) plus internal documents like key management, security, and incident response policies. Operational evidence Key ceremony records, HSM configuration, validation and issuance logs, revocation records, training records, change history. Auditor testing The licensed practitioner’s procedures, sampling issuance records, observing ceremonies, inspecting configurations against the control matrix. Audit conclusion The practitioner’s report and opinion, published and filed with root programs via the CCADB.

Two things are worth noticing about this map. First, the WebPKI is unusual in that several of these artifacts are public. The assertion, the report, and the CPS are all published, and root programs consume them through the CCADB.[7] Most SOC 2 artifacts never leave an NDA’d data room. Second, the one artifact in the list that is not public is the control matrix, which is exactly the artifact that explains how everything else connects. Relying parties see the commitments and the conclusion, but not the reasoning that links them.

Key lesson

In the WebPKI the assertion, the report, and the CPS are public. The matrix that connects them is not, and it is the artifact doing the connecting.

4The Control Matrix Is the Map

The control matrix translates the audit criteria into something operational and testable. At a minimum, a row of the matrix commonly identifies the following.

ElementPurpose
Requirement or criterionWhat the audit framework requires
ControlWhat the organization does to satisfy the requirement
Control ownerWho is responsible for the control
Policy or procedureWhere the expected practice is documented
EvidenceWhat demonstrates that the control exists or operated
Test procedureHow the auditor can evaluate the control
ScopeWhich systems, products, or services the control applies to

The matrix is therefore not merely a checklist. It is an index into the organization’s operating model. It is also two things at once, a navigation aid for the auditor and a representation of management’s reasoning about why the organization believes it satisfies the requirements.

THE CONTROL MATRIX The map management hands the auditor: the assertion decomposed into testable rows. Management assertion: “We operated our CA in conformance with the applicable criteria.” decomposed into testable rows REQUIREMENT CONTROL POLICY SOURCE EVIDENCE BR §6.2.7 CA Private Keys protected in certified cryptographic modules CA keys generated and operated only in FIPS 140 Level 3 validated HSMs; no key material outside the module CPS §6.2 Key Management Policy Key ceremony records, HSM configuration, access logs BR §3.2.2.4 Domain control validated before issuance Issuance gated on an approved DCV method; results corroborated from multiple network perspectives CPS §3.2 Validation procedures Validation logs, DNS/CAA query records, MPIC results NetSec (NCSSR) Access to Certificate Systems limited to Trusted Roles MFA enforced on every account able to cause issuance; least privilege; quarterly account reviews Access Control / IAM Policy; ISMS (ISO 27001 aligned) IdP configuration, role rosters, access review records BR §5.3.3 Personnel trained before acting in a Trusted Role Role-based training and skills assessment completed before any Trusted Role authorization Security Training Policy (HR-owned, not the CPS) Training records, skills assessments, role roster BR §5.3.1 Identity and trustworthiness verified for Trusted Roles Background screening completed and periodically renewed before any Trusted Role access is granted Personnel Screening Policy; ISO 27001 A.6.1 (Screening) Screening records, HR files, Trusted Role grant dates BR §4.9.1.1 Revocation within 24 hours of a confirmed report Problem-report intake feeding a revocation workflow with an enforced 24-hour clock CPS §4.9 Incident Response procedure Ticket history, revocation records, CRL/OCSP evidence BR §9.6.3 Subscribers bound to their obligations by agreement ACME requires Subscriber Agreement acceptance before any order proceeds; no non-ACME issuance CPS §9.6.3 Subscriber Agreement ACME account records, issuance logs, published SA Each row is one trace. The auditor walks every row; the opinion aggregates the results. (illustrative excerpt; real matrices span hundreds of rows and many policy documents)

Notice the policy source column. Only some rows resolve to the CPS. Others resolve to an IAM policy, an HR screening policy mapped to ISO 27001,[8] or a training procedure that never appears in the public repository. Real matrices reach further still, into vendor management procedures, business continuity policies, change management procedures, and logging standards. The matrix is the only artifact that ties all of them back to the same set of requirements, which is why the auditor starts there.

What is important to understand is that this matrix is the scope of the audit. One matrix covers n policies and procedures, and it produces one audit letter, regardless of the size of n. That is the compression the audit performs. Hundreds of rows, dozens of documents, and thousands of evidence artifacts all collapse into a single opinion. The letter is one page. The matrix is why anyone can believe it.

One matrix, n documents, one letter, regardless of n.

At its core, the auditor is walking a traceability chain, once for every requirement in scope. The matrix points each requirement to a control, the document that commits to it, and the evidence that should exist if the control operated. The auditor walks each trace end to end and records a conclusion. The opinion is the aggregation of all of those completed traces.

A weak matrix hides scope gaps, ambiguous mappings, and unsupported controls. A strong one makes the whole compliance model explicit, and testable, in a single artifact.

Key lesson

The matrix is the scope of the audit. The opinion is the aggregation of every trace the auditor walks through it.

Part II

Documents and Evidence

5CP, CPS, and Where They Live

In the PKI, the two policy documents that matter most are the Certificate Policy and the Certification Practice Statement. The CP states the rules that govern; the CPS describes the practices used to satisfy them. Sometimes the two are collapsed into a single combined CP/CPS document. RFC 3647 gives both the same outline, which is what makes a combined document possible, and what makes it easy for scope to blur.[2]

The CPS is where the CA’s operational commitments live. Among other things, it describes identity validation practices, certificate issuance, certificate profiles, key generation and protection, revocation, incident handling, personnel controls, logging, system security, and repository practices. From an audit perspective it is the most important policy document in the matrix, because it contains the public, auditable statements about what the CA says it does.

There is a second, independent dimension, which is coverage. Sometimes a CP/CPS set is scoped to a single certificate type, or a narrow family of them. Other times a single monolithic document set covers everything the CA issues. These are two different axes, combined versus separate and monolithic versus scoped, and they are easy to conflate. We will come back to the second one, because it matters more than it looks.

These policy documents live somewhere, and that somewhere usually has change control on it. Someone tracks what changed, who changed it, when, and who approved it. The model is source control, and in some cases it literally is source control, a Git repository with reviews and tagged releases. That matters for the audit, because the repository is itself evidence. The change history demonstrates the document control the CPS claims, and a tagged release answers the question every incident eventually raises. Which version was in force on that date?

The period is also what makes the change history load-bearing rather than incidental. A Type 1 evaluates the document as it stands on a single day. A Type 2 evaluates every version that was in force across the period. If the CPS was revised ten times during the year, the scope is not one policy but ten, and the auditor uses the change record to reconstruct which version governed which span of time, then tests operations in each span against the version that governed it.

Sufficiency is re-asked at every version, not inherited. A version blessed in a prior period is not grandfathered in; if it carried forward unchanged it is reconsidered against criteria and a threat environment that may have moved underneath it, and if it changed, the diff is examined on its own terms. So a single “abstract” policy in the scope column can expand into a sequence of concrete documents, each with its own window of authority and its own sufficiency question. The scope is combinatorial in that sense, requirements times versions times the spans they governed, and the change-control record is the only thing that keeps it tractable. This is the operational reason the repository is evidence and not just documentation: without a reliable, timestamped history there is no way to say which version to test against which day, and the period audit loses its footing.

6Documentation Is Not Evidence

The policies themselves are not what gets audited. The audit tests actual practice against what the policies claim, and the instrument for that test is evidence, the records of what happened, collected and evaluated against each commitment.

DOCUMENTATION IS NOT EVIDENCE WHAT THE CPS SAYS “CA private keys are generated and maintained in approved hardware security modules.” a commitment, the intended design of a control Control matrix connects claim to proof WHAT THE EVIDENCE SHOWS Key ceremony records who, when, witnessed by whom HSM configuration modes, roles, firmware state Access logs who touched what, and when Inventory & change records every key accounted for Policies establish expectations. Evidence establishes what happened. The control matrix connects the two.

A CPS statement that “CA private keys are generated and maintained in approved hardware security modules” supports the design of a control. The auditor still needs key ceremony records, HSM configuration, access logs, inventories, and change records to conclude the control operated.

Policies establish expectations. Evidence establishes what happened. The control matrix connects the two.
Key lesson

A policy proves intent. Only evidence proves operation, and the matrix is what pairs each intent with its proof.

7Walking One Trace End to End

To make this concrete, consider a single trace. The TLS Baseline Requirements, in section 9.6.3, require the CA to bind its Subscribers to a set of obligations, including protecting their private keys and promptly requesting revocation on suspected compromise.[1] The CA cannot perform this control itself. It can only impose it, and the instrument for imposing it is the Subscriber Agreement.

A CA that issues exclusively through ACME (RFC 8555) can turn that legal obligation into a structural control.[3] ACME requires the account holder to accept the Subscriber Agreement before any order proceeds, and records that acceptance on the account. The CPS commits to this arrangement, and the Agreement itself explains the obligations to the Subscriber. Let’s Encrypt’s Subscriber Agreement and Google Trust Services’ CPS both show this flow-down landing in practice.[9][10]

ONE TRACE THROUGH THE CONTROL MATRIX How a requirement on the Subscriber is imposed, documented, and tested. REQUIREMENT TLS BR §9.6.3 Subscriber representations and warranties The CA must bind the Subscriber, through a legally enforceable agreement, to obligations that include protecting the Private Key and promptly requesting revocation on suspected compromise. CONTROL All certificate issuance happens via ACME (RFC 8555) The protocol requires the account holder to accept the Subscriber Agreement before any order proceeds; agreement is captured on the ACME account (termsOfServiceAgreed). POLICY CPS §9.6.3 Commits: every Subscriber accepts the Agreement before any certificate issues. Subscriber Agreement Explains the obligation: protect the key, report compromise, cease use on revocation. EVIDENCE Issuance logs every certificate traces to an ACME order Account records termsOfServiceAgreed captured per account Published SA versions obligation text, dated version history AUDITOR TEST The auditor walks the trace a. Confirm every issuance path goes through ACME, with no side doors. b. Confirm ACME refuses issuance without Subscriber Agreement acceptance. c. Confirm the Agreement states the obligations §9.6.3 requires. CONCLUSION Trace complete, requirement satisfied one row of the matrix, one conclusion toward the opinion

The auditor then walks the trace. They confirm that every issuance path goes through ACME with no side doors, that ACME refuses issuance without acceptance of the Agreement, and that the Agreement actually states what 9.6.3 requires. Evidence backs each check, from issuance logs to account records to the published Agreement with its version history.

The first check carries the weight. If any issuance path bypasses ACME, acceptance is no longer enforced by the protocol and the control degrades to a procedure someone has to remember to follow. That is the difference between a control enforced by protocol and one enforced by policy, and it is why ACME-only issuance is such a strong answer to this requirement.

This trace also exposes a real limit of the assurance model. The CA can evidence the operation of the control (the agreement was accepted) but not its effect. No CA audit verifies that subscribers actually protect their keys. The audit tests the flow-down, not the behavior, which is why the ecosystem backstops it with the CA-side revocation requirement in 4.9.1.1.[1]

Key lesson

A control enforced by protocol survives staff turnover. A control enforced by procedure survives until someone forgets.

Part III

The Structural Shift

8Monolithic Versus Discrete CPS Documents

This takes us back to the coverage axis, discrete versus monolithic CPS documents. Historically, most CAs produced one CP/CPS set covering every certificate type they issued, because that is the easiest way to maintain it.

TWO WAYS TO STRUCTURE A CPS One monolithic CPS CPS 150 pages · all services TLS S/MIME DS CS TLS S/MIME Which paragraphs apply to which service? Scope requires interpretation. Discrete, service-scoped CPSs TLS CPS S/MIME CPS Code Signing CPS Doc Signing CPS Scope is explicit. Each document is read, diffed, and audited independently. cheapest for the CA to maintain clearest for everyone else to verify

The trade off is that a monolith is harder to understand, and not just because it is huge. Readers are left asking whether a given paragraph applies to TLS or to all certificate types, whether a validation method is used for S/MIME as well, and whether a revocation commitment covers code signing. Every one of those questions is a scope ambiguity, and in a monolith the scope column of the matrix keeps answering “all of them, sort of.”

There is a deeper mechanism at work. To cover every case in one document, the wording of what the CA actually does has to be weakened. The requirements for TLS, S/MIME, and code signing are not the same, so a single sentence describing all of them can only describe them loosely. The result is language like “certificates are validated in accordance with applicable requirements,” which is true for every service precisely because it commits to nothing about any of them. Weak wording is not a drafting failure. It is what a monolith requires.

And this connects directly back to the matrix, because vague commitments make weak rows. A control that maps to “in accordance with applicable requirements” gives the auditor almost nothing to test, so the monolith quietly degrades the quality of every trace that passes through it.

Discrete, service-scoped documents invert the trade. They are more work for the CA and clearer for everyone else, from relying parties to root programs to auditors to anyone diffing one version against the next. The documentation structure that is easiest for the operator to maintain is not the structure that is easiest for everyone else to understand and verify.

Key lesson

Weak wording is not a drafting failure. It is what a monolith requires, and it degrades every trace that passes through it.

9The Root Programs Have Picked a Side

Recently both Chrome and Apple have pushed CAs in this direction. Chrome’s policy says CP/CPS documents should be free standing and focused on a single use case, and it only accepts dedicated TLS hierarchies.[4] Apple now requires single-purpose roots from applicants.[5] Some CAs have used discrete CPS documents for years; others, like DigiCert, are only now making the change.

THE PUSH TO DISCRETE Chrome Root Program CP/CPS focused on a single use case; dedicated TLS hierarchies only Apple Root Program single-purpose roots required for all new applicants CP/CPS all services TLS S/MIME TLS CPS S/MIME CPS Code Sign CPS Doc Sign CPS one multi-purpose CP/CPS service-scoped CPS per family Scope precision is becoming a condition of trust.

Note what this does to the audit. The matrix stays one matrix and the letter stays one letter, but the rows now point at commitments precise enough to test. The root programs are not asking for more documents for their own sake. They are asking for better rows.

Scope precision is becoming a condition of trust.

10Why This Becomes an Automation Problem

Once a CA must maintain multiple service-specific CPS documents, document editing becomes a systems problem. Suppose five CPS documents each contain 80 pages of shared material and 40 pages of service-specific material. A single change to a common practice must be identified in every affected document, applied consistently, reviewed, approved, published, mapped into the matrix, and evidenced. Manual duplication makes drift a near certainty. One document says one thing while another retains older language. Even when the underlying practice is correct, the documentation becomes internally inconsistent, and that inconsistency is itself an assurance problem.

A more scalable model is to maintain common policy content as structured source material while producing separate, scoped outputs.

COMMON SOURCE, DISCRETE OUTPUTS Common policy source shared commitments, maintained once TLS content common + TLS-specific S/MIME content common + S/MIME-specific Code Signing content common + CS-specific Publication system review · approval · rendering · change history TLS CPS discrete, scoped output S/MIME CPS discrete, scoped output Code Signing CPS discrete, scoped output A change to a shared commitment is made once at the source… …and lands consistently in every scoped output.

Shared commitments are maintained once. Service-specific material remains independently scoped. The outputs are still discrete from the perspective of readers, auditors, and root programs, but a change to a shared commitment is made once at the source and lands consistently in every scoped output. The problem changes from document duplication to controlled document generation.

One consequence of that shift is worth stating plainly. Once the published documents are generated artifacts, the audit binds to the rendered output rather than to the source, so every published version has to be pinned and retained alongside the source revision it came from. The change control on the generation pipeline then becomes evidence in its own right, in exactly the way the document repository already was.

Which is the point to close on. Management says what is true. The framework says what must be true. The control matrix explains why management believes it is true, and defines the scope of the audit. Policies and procedures, from the CPS to IAM, HR, vendor management, and business continuity documents, describe how the organization is supposed to operate. Evidence shows what actually happened. The auditor walks every trace, and the opinion is the aggregation of the results. The root programs are now demanding that the public end of this structure be scoped precisely enough to test, which improves assurance for the ecosystem, multiplies the documentation burden for the CA, and makes policy publication a structured, automated system rather than a collection of manually maintained documents. Modern assurance depends not just on having controls, but on maintaining reliable traceability between requirements, assertions, controls, documentation, evidence, and actual operation.

Key lesson

The problem changes from document duplication to controlled document generation, and the audit is why the change is worth it.

What this post does not establish

The limits. The control matrix shown in section 4 is an illustrative excerpt rather than a real CA’s matrix, and real matrices run to hundreds of rows. The characterization of the Chrome and Apple root program positions reflects their published policies as of mid 2026 and both programs revise policy regularly. The ACME trace in section 7 describes one strong architecture for satisfying 9.6.3, not the only compliant one, and many CAs satisfy the requirement through portal workflows and signed agreements instead. The claim that most CAs historically ran monolithic CP/CPS sets is drawn from experience with the ecosystem rather than from a systematic survey, and counting document structures across the CCADB corpus would be the honest way to test it.

Sources

  1. CA/Browser Forum, Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates, sections 3.2.2.4, 4.9.1.1, 5.3, 6.2.7, 8.1, and 9.6.3.
  2. IETF, RFC 3647, Certificate Policy and Certification Practices Framework.
  3. IETF, RFC 8555, Automatic Certificate Management Environment (ACME), including agreement to terms of service at account creation.
  4. Google, Chrome Root Program Policy, on single use case CP/CPS documents and dedicated TLS server authentication hierarchies.
  5. Apple, Apple Root Certificate Program, section 2.1.3 on single-purpose root CAs for applicants.
  6. CPA Canada, WebTrust Principles and Criteria for Certification Authorities.
  7. CCADB, Common CA Database, where CA policy documents and audit reports are disclosed to root programs.
  8. ISO/IEC 27001:2022, Annex A, people controls including A.6.1 Screening.
  9. Let’s Encrypt, Subscriber Agreement, an example of the 9.6.3 flow-down as a direct subscriber warranty.
  10. Google Trust Services, Certification Practice Statement, section 9.6.3 subscriber obligations.

✓ Check your understanding

Ten questions on assertions, matrices, and why document scope matters. Options shuffle every run.