Today I learned that web publishers not authorizing any advertising systems on their sites should publish ads.txt files that include a one-line placeholder record rather than leaving the file empty.
The IAB Technology Laboratory (Tech Lab) ads.txt Specification, currently the final ads.txt Specification Version 1.1 (August 2022) specifies on page 8 (PDF):
3.2.1 Files without authorized advertising system records
Some publishers may choose to not authorize any advertising system by publishing an empty ads.txt file, indicating that no advertising system is authorized to buy and sell ads on the website. So that consuming systems properly read and interpret the empty file (differentiating between web servers returning error pages for the /ads.txt URL), at least one properly formatted line must be included which adheres to the format specification described above. For files that do not otherwise contain authorized advertising system records, use the following “placeholder” record—all on a single line—to indicate that the file adheres to the ads.txt specification:
placeholder.example.com, placeholder, DIRECT, placeholderThe domain “example.com” bears no significance: it is used here so that the line will start with a properly formatted, permanently reserved (https://tools.ietf.org/html/rfc6761) alternative domain to a real advertising system domain.
Prior versions of the ads.txt specification indicated that publishers may simply use an empty ads.txt file to indicate that no advertising system is authorized to buy or sell ads on the website. That method is now deprecated because of ambiguities it creates and should be ignored by consuming systems after March 1, 2020.
That line should be included in the ads.txt file exactly as-is for a site indicating no authorized advertising system buying or selling ads on the site: The given “placeholder” and “example.com” text are the actual, literal data required for this situation, and are not themselves placeholders or variables to be replaced.
(Because the ambiguities addressed include 404 or other errors or status pages for missing or broken ads.txt files, presumably it is still fine simply not to publish any ads.txt file—but if you do publish an ads.txt file, you need to be sure it includes the placeholder line if no other data.)
This has been in place since the ads.txt Final specification version 1.0.2; from the changelog for March 4, 2019 on page 5 (PDF):
Minor revisions based upon community feedback. Adds 3.2.1 and 4.6 containing guidance for using a placeholder record to indicate the intent of an empty ads.txt file, deprecating the prior method.