The signature can stop before the letter ends
Answer A DKIM pass can stop before the letter ends. RFC 6376, published in September 2011, defines an optional l= tag, the body length count. It tells a verifier how many octets of the canonicalized body were included in the hash, counting from the start. If the tag is absent, the whole body is signed. A count of zero means the body is completely unsigned. A mailbox that says the signature passed has not, by that fact, vouched for anything past the count.
The note that started this: DomainKeys Identified Mail (DKIM) Signatures, D. Crocker, T. Hansen, and M. Kucherawy, editors, RFC 6376, September 2011.
The document is D. Crocker, T. Hansen, and M. Kucherawy, editors, DomainKeys Identified Mail (DKIM) Signatures. It is an Internet Standard. It lets a person, a role, or an organization that owns the signing domain claim some responsibility for a message by tying that domain to the message. The signer can be the author's side, a relay, or an agent of either. The signature is checked with a key published in that domain's DNS. An earlier note on this desk used the same document to ask which domain is named in the d= tag. That question still belongs in the quote. This note is the next one. How much of the body did that domain actually hash.
A solo ad is one letter to a list you do not own. The swipe you approved is the letter you think you bought. A signature that covers a prefix can leave a trailer, a second pitch, or a rewritten ending outside the hash, and the cryptographic check can still succeed. You are not being asked to run a verifier. You are being asked to notice the tag before the money moves.
What does the l= tag on a DKIM signature limit?
It names how many octets of the canonicalized body, from the start, went into the hash. If the tag is absent, the whole body is signed. A count of zero means the body is completely unsigned. The count cannot be larger than the body that was actually canonicalized.
That is section 3.5, in the tag list, and section 5.3.1, where the signer is told how to use it. The tag is optional. The default is the entire body. The value is a plain count of octets, and it must not be larger than the canonicalized body. The count is taken after canonicalization. Whitespace that the chosen algorithm ignores is not part of the number. A person who reads the raw message and counts characters with their eyes can land on a different length than the one in the header. Ask for the tag, not for a guess.
The authors give the reason the hole exists. Mailing lists often add a trailer, such as instructions for getting off the list. Until that modified message is signed again, a verifier can, as a matter of policy, accept a signature that is valid and then ignore the extra data at the end. The body length count is the tool they offered for that case. Read the permission in the other direction, which is how section 5.3.1 states it. The signer of the message is allowing data to be appended to the end of a body that was already signed.
Zero is a special case they spell out. A body length count of zero means the body is completely unsigned. A signature can still name a domain, still carry a header hash, and still pass, while the pitch itself sat outside the hash. If a seller says the mail is signed and cannot say whether l= is present, you do not yet know whether the letter was in the signature at all.
The same section tells a signer who wants no modification of any sort what to do. Use the simple canonicalization algorithm for the header and for the body, and omit the body length count. Simple is the stricter of the two algorithms they define. Omitting the tag is what selects the whole body. Those two choices are the setting to ask for when the letter is the product. A list server in 2011 that had to survive a footer it did not control is a different machine from a platform that builds your solo and signs it in the same minute.
There is a neighbor warning, and it is about the other algorithm. Section 8.1 says the relaxed body canonicalization may allow extremely crude ASCII-art tricks, where a message is carried by changing the spacing between words. If that is a concern, the document says to use simple body canonicalization instead. You do not have to grade the spacing. You do have to hear whether the seller knows which algorithm they chose, and whether they left the length tag off.
Why does the document tell signers to be wary of that tag?
The tag was meant for mailing lists that add a trailer and do not sign the changed message. An intermediary can append content the signer never hashed. That addition can replace what the reader sees, and it can defeat duplicate detection. Signers should be extremely wary of the tag, and an assessor might ignore a signature that uses it.
Section 8.2 is titled as the misuse of body length limits. The authors say use of the tag might allow fraudulent content to be displayed without an appropriate warning to the person reading. They repeat the intended use in one sentence. The tag is for signature robustness when mail goes to a list that both changes the content and does not sign the message it changed. Then they name the attack. An intermediary with a bad intent can modify the message so the added content benefits the attacker. The appended content can completely replace the original content in the recipient's eyes. It can also defeat duplicate-message detection.
Their example is specific enough to repeat without decorating it. The attack can alter the MIME structure, lean on lax HTML parsing in the mail program, and slip past duplicate detection. A reader can be shown a different ending, or a different block, while a verifier that honors l= still reports that the signed prefix was intact. The warning they give the signer is blunt. Be extremely wary of using this tag. The warning they give the assessor is that a signature using the tag might be ignored.
Put that next to the swipe. You approved a letter. The platform signs some number of octets and hands the message to a path you do not operate. If l= is set, anything after that count can change without breaking the signature. That later part might be a footer the platform adds on purpose. It might be a tracking block. It might be a second offer you never read. The document does not tell you which. It tells you the signature will not catch the addition. A pass is a statement about the prefix. Treat a pass on a signed prefix as a pass on the prefix.
This is not a claim that the platform you are about to pay is appending a fraud. It is the question the security section already wrote down. A signer who leaves the hole open has accepted that an intermediary may write past the signature. On a solo, the intermediary may be the same company that took your swipe, or it may be a hop you will never see. Ask which. If the answer is that the tag is how they have always survived footers, ask them to sign the message after the footer is on it, so the footer is inside the hash. A second signature over the finished letter is the fix the rationale itself points at, in the clause about lists that do not sign what they modified.
Keep the older limits in the same conversation so a green check does not swell into a promise. The signature is a claim of some responsibility by the signing domain. It is not a statement that the recipient asked for the mail. It is not a folder. It is not a rank, a price, or a count of clicks. Yesterday's note was the exit that has to finish inside the mailbox. The disclosure still has to ride in the letter, next to the paid link. A testimonial in that letter is still an ad you are publishing. The body length is today's fact. None of the four is proof that anyone will read.
What should a solo ad buyer ask about the signature before paying?
Ask for the DKIM-Signature header from a recent marketing message on the same platform, and ask whether it contains an l= tag. If it does, ask what sits past that count. A signer who wants no modification omits the body length count and uses simple canonicalization for the header and the body.
You will not see the tag in a swipe pasted into a document. The header is on a message that already went out. A platform that sends real mail can show you the DKIM-Signature line from a marketing send on the domain your offer will use. Look for l=, and look for the c= tag that names the canonicalization. If l= is missing, the default in this document is the entire body. That is the body-length answer you wanted. Write it into the quote next to the from-name and the domain. If l= is present, ask for the number, and ask them to say what, on a sample from that same stream, sits beyond it.
If they cannot say, you are being sold a prefix. Do not pay for a prefix and call it the letter. The safe solo ads sellers check is the posture. This note is the octet count. A seller who answers with the word signed, and then cannot find the tag, has told you the name of a mechanism and not the setting. Ask again. The header is one line. Reading it takes less time than arguing about a dashboard.
If you sell the send, omit the tag before you sell the hour. Build the body you mean, including the footer and the exit, and sign that finished body. Use simple canonicalization for the header and the body when you want no modification of any sort, which is the sentence in section 5.3.1. Do not leave a hole so that a later hop can add a pitch you did not read to the buyer. Your solo is not a 2011 mailing list bolting instructions onto someone else's essay. You have the message in front of you. Sign all of it. If a downstream list really must append a trailer, the document's own rationale is that the modified message should be signed too, not that the original signer should shrug.
Then keep the rest of the quote in the same place. Who is in the From line, and which domain is in d=. Whether the disclosure sits in the email, beside the link, rather than on a page the reader has not opened. Whether any testimonial is a use the sender can actually claim. Whether List-Unsubscribe and List-Unsubscribe-Post are present and covered by DKIM, so leaving does not depend on a second click. The body length does not replace those. A fully signed letter can still be a dishonest one. An honest letter with a signature that stops early can still show the reader a different ending.
Solo ad pricing sits on the live slice, the niche, and the remedy if the mail is late or pointed at the wrong page. A body-length tag does not get to set the price, and it does not get to stand in for the refund line. Two sellers who can show the header, the stream, and the creative you will actually send can be compared. Two sellers who both say the domain is authenticated cannot. The same question belongs on a solo ads for affiliate marketing buy. The affiliate link is the part a stranger most wants to tuck past a short signature. If the pitch and the link are not both inside the hash, you have not bought the letter you read.
When you buy solo ads, you are paying for one specific letter from one specific name. Ask whether the signature covers that letter to the last octet. After the send, do the ordinary check. Clicks on a link you control, and the broadcast record, should agree the same day. If the mail went as quoted, write the new subscribers the thing you promised, and sign those later letters the same way, over the whole body. If it did not, use the refund sentence you wrote before the card. The rented hour ends. A signature that stops short should end before the card is charged, not after the reader has already seen the extra.