What is a CAA record and do I need one?
A DNS record naming which certificate authorities may issue certificates for your domain. One line, and it closes a real gap.
A CAA record lists the certificate authorities allowed to issue certificates for your domain. Without one, any public CA may issue for you. Authorities are required to check it, so a single record meaningfully narrows who can produce a valid certificate in your name.
The gap it closes
There are dozens of trusted certificate authorities, and by default every one of them may issue a certificate for your domain. A mistake or a compromise at any single one produces a certificate that browsers accept as valid for your site.
This is not theoretical — there is a long history of mis-issuance incidents. CAA reduces the exposure from "any CA in the world" to "the ones you named".
What it looks like
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
example.com. CAA 0 iodef "mailto:security@example.com"| Tag | Meaning |
|---|---|
issue | This CA may issue single-name certificates. |
issuewild | This CA may issue wildcard certificates. Note that issue alone does not permit wildcards from every CA's perspective, so set both. |
iodef | Where to report an attempted violation. Optional and worth having. |
To forbid issuance entirely — useful for a domain that serves nothing:
example.com. CAA 0 issue ";"How it is evaluated
CAA is resolved by walking up the tree. Checking shop.example.com, a CA looks at that name, then example.com, and stops at the first record set it finds. A record at your apex therefore governs every subdomain automatically, and the absence of a record on a subdomain is normal rather than a fault.
blog.example.com may be reporting a non-problem, because the apex record already covers it. A good check resolves the way a CA does and says which name the policy came from.Setting it up
- List every CA you currently use — including your CDN, which may issue its own certificates on your behalf.
- Add an
issuerecord for each, andissuewildif you use wildcards. - Add an
iodefaddress so you hear about violation attempts. - Verify with
dig CAA example.com. - Record the change somewhere, because a future certificate purchase from a different CA will fail until the record is updated — and the error message is rarely obvious.
Common CA identifiers
| Authority | CAA value |
|---|---|
| Let's Encrypt | letsencrypt.org |
| Google Trust Services | pki.goog |
| DigiCert | digicert.com |
| Sectigo | sectigo.com |
| Amazon | amazon.com |
| Cloudflare | pki.goog, letsencrypt.org — check current documentation |
Verify against your provider's current documentation before publishing; these identifiers do change, and a wrong one blocks renewals rather than protecting anything.
What our audit reports about this
Every item below is measured directly, not inferred. Run it against your own site and the result names the exact rule or header responsible.
- Whether a CAA record exists at the audited name, and which authorities it permits.
- Whether CAA is inherited from the parent zone, naming which zone it came from.
- Whether the name audited is a zone apex, so records that only exist at an apex are not reported as missing on a subdomain.
- The certificate actually presented, so you can confirm the issuer matches the policy.
For agents and scripts, the same measurement is at
/api/v1/dns?url=yoursite.com —
see the API documentation.
Related questions
Will a CAA record break my certificate renewal?
It will if you name the wrong authority or forget one you use. Check the issuer of your current certificate first, and remember your CDN may issue certificates independently of your main CA.
Does CAA stop an attacker with control of my DNS?
No. Someone who controls your DNS can rewrite the CAA record. It protects against mis-issuance by a CA, not against DNS compromise — that is what registrar locks and DNSSEC are for.
Do I need CAA on every subdomain?
No. It is inherited from the closest ancestor with a record, so one set at the apex covers everything beneath it.
Read next
How do I check if my SSL certificate is valid?
Five things to verify, how to check each from the command line, and the failure that only shows up on mobile.
ReadWhat are SPF, DKIM and DMARC?
Three DNS records that together decide whether your email arrives and whether anyone can forge it. What each one does, in plain terms.
ReadWhy does my site say "Not Secure"?
Either you are not on HTTPS at all, or you are and something on the page is not. The second is harder to spot.
ReadIs my website secure? How do I check?
What you can verify yourself in twenty minutes, what needs tooling, and what "secure" does and does not mean.
Read