Glossary

DNS CAA record

A CAA record lists the certificate authorities permitted to issue TLS certificates for a domain. Every publicly trusted authority is required to check it before issuing and to refuse when the record excludes them. It is a narrow, cheap control: it does not make certificates more secure, it reduces the set of organisations that can mint one for your name from several hundred to the ones you named.

What the record says

A CAA record has a flag, a tag and a value. The common tag is `issue`, whose value is the domain name identifying an authority — for example `issue "letsencrypt.org"`.

`issuewild` restricts wildcard certificates specifically, which is worth separating because a wildcard covers every subdomain at once.

`iodef` gives a contact address — a mailto or a URL — where an authority may report a refused request. It is optional and rarely acted on.

A critical flag of 128 on a tag an authority does not understand requires that authority to refuse issuance rather than proceed, which is how unknown extensions fail safe.

How authorities apply it

The rule is part of the CA/Browser Forum baseline requirements, so it applies to every authority in the public trust stores rather than being voluntary.

Lookup climbs the tree: an authority checking `shop.example.com` looks there, then at `example.com`, and uses the first record set it finds. A record at the apex therefore covers subdomains that have none of their own.

No record at all means no restriction. The absence is permission, not refusal, which is the opposite of how most access control reads.

The check happens at issuance time only. Certificates already issued are unaffected by a record added afterwards.

What it does and does not protect

It reduces the attack surface of mis-issuance: an authority tricked into issuing for your domain must first be one you authorised, or it must ignore its own baseline requirements.

It does nothing against someone who controls your DNS, because they can simply change the record. CAA assumes the zone is yours.

It does nothing about certificates already in circulation, and it is not a revocation mechanism.

Certificate Transparency logs are the complementary control: CAA limits who may issue, Certificate Transparency makes what was issued visible after the fact.

Publishing and checking one

`dig example.com CAA +short` prints the records. An empty answer means no restriction is published.

List every authority you actually use before publishing, including the one behind your CDN and any hosting platform that provisions certificates automatically. Omitting one breaks renewal, usually weeks later.

Add the record and then renew a certificate deliberately, rather than waiting for the automatic renewal to discover the mistake at the moment the current certificate expires.

Review it when you change CDN, hosting or certificate provider. It is exactly the kind of record nobody remembers exists.

Frequently asked questions

Is a CAA record required?
No. Its absence means any authority may issue. Publishing one is a voluntary restriction that authorities are required to honour once it exists.
Will a CAA record break automatic certificate renewal?
It will, if the authority doing the renewal is not listed. List every provider that issues for the domain, including CDN and hosting platforms.
Does CAA apply to subdomains?
Yes. An authority checks the requested name and then walks up the tree, using the first CAA record set it finds.

Sources

Related

VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.

Scan a website