Suped

What is the 'c=' tag in an ARC-Message-Signature header?

Michael Ko profile picture
Michael Ko
Co-founder & CEO, Suped
Published 20 Apr 2025
Updated 25 Oct 2025
7 min read
Stylized email envelope with security symbols, representing email authentication
When delving into the intricacies of email authentication, you'll often encounter various header tags that play crucial roles. One such tag is the c= tag found within the Authenticated Received Chain (ARC) Message-Signature header.
This tag is essential for ensuring that the integrity of an email message, including its headers and body, can be reliably verified as it traverses multiple mail servers. It's a key component in maintaining trust in forwarded messages, preventing bad actors from manipulating authentication results.

Understanding ARC and its purpose

Understanding ARC and its purpose

Before we dive specifically into the c= tag, it’s helpful to understand the Authenticated Received Chain (ARC) itself. ARC acts as a chain of custody for email messages, especially when they are forwarded or go through mailing lists. These intermediaries often modify emails, which can break standard authentication like SPF and DKIM. ARC steps in to preserve the original authentication results.
Each hop in the email's journey adds an ARC-Seal and an ARC-Message-Signature header. These headers include cryptographic signatures that attest to the message's authentication status at that specific point in time. This allows the final recipient mail server to validate the entire chain and determine if the original authentication was legitimate, even if intermediate changes occurred. You can learn more about this in the RFC 8617 specification. If you're looking for more general information about ARC, we have a helpful article on what the ARC-Message-Signature header is used for.
The entire process relies heavily on cryptographic signatures to ensure trustworthiness. The s= tag in an ARC-Message-Signature header, for instance, specifies the selector used to retrieve the public key, much like in DKIM. Meanwhile, the bh= tag contains the body hash, a critical component that ensures the email body hasn't been tampered with. Understanding these individual tags helps you grasp the full security provided by ARC.

The 'c=' tag explained

The 'c=' tag explained

The c= tag in an ARC-Message-Signature header dictates the canonicalization algorithm applied to the email's header and body before they are signed. Canonicalization is the process of standardizing the email content, removing minor variations that shouldn't affect the message's meaning but could break a cryptographic signature. Things like whitespace, line endings, and header field ordering can all vary slightly between mail servers without altering the message for the recipient.
By using a canonicalization algorithm, ARC ensures that a message signed by one server will generate the exact same hash (and thus, validate correctly) when verified by another server, even if minor, non-substantive changes occurred in transit. Without it, almost any legitimate modification by a forwarding service would cause the signature to fail validation, rendering ARC useless. Here's a typical example of how the c= tag might appear in an ARC-Message-Signature header:
Example ARC-Message-Signature header with 'c=' tag
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/simple; d=example.com; s=arcselector; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; bh=AbCdEfGhIjKlMnOpQrStUvWxYz+= b=SignatureData
In the example above, c=relaxed/simple specifies that the relaxed canonicalization algorithm should be used for the headers and the simple canonicalization algorithm for the body. You may also find other tags like the i= tag, which denotes the ARC instance number, or the d= tag specifying the signing domain in ARC-Seal headers, all contributing to the integrity checks. For a deeper understanding of how these mechanisms work together, consider exploring a simple guide to DMARC, SPF, and DKIM, as these protocols often interact.
Correct canonicalization is critical for the success of ARC validation. If the canonicalization method specified by the c= tag isn't correctly applied by the sending or forwarding server, or if a recipient attempts to verify it with a different method, the signature will likely fail. This is why tools that provide clear DMARC (and by extension, ARC) monitoring are so valuable.

Simplify ARC management with Suped

Managing ARC validation can be complex, but Suped offers an intuitive platform for DMARC monitoring, which includes insights into ARC. Our AI-powered recommendations tell you exactly what actions to take to fix issues and strengthen your email security policies. With real-time alerts and a unified dashboard for DMARC, SPF, and DKIM, we make email authentication accessible for everyone, from SMBs to MSPs.

Canonicalization methods

Canonicalization methods

ARC, like DKIM, primarily uses two canonicalization algorithms: simple and relaxed. The choice of which to use for headers and body, as indicated by the c= tag, has a direct impact on the strictness of the signature validation. It's crucial for the verifier to use the same canonicalization method specified by the signer to ensure successful authentication. This is why the tag is so important in the ARC-Message-Signature header.

Simple canonicalization

  1. Headers: Allows very few modifications. Any change to whitespace, case, or folding of headers will cause the signature to fail.
  2. Body: Tolerates no changes to whitespace, line endings, or empty lines at the end of the message. Extremely strict.
  3. Use Case: Best suited for direct sends where minimal or no modifications are expected during transit.

Relaxed canonicalization

  1. Headers: More forgiving. Ignores changes to whitespace, header field case, and folds multiple header lines into one.
  2. Body: Ignores all trailing whitespace at the end of lines and any empty lines at the end of the body.
  3. Use Case: Ideal for forwarded messages or mailing lists where intermediate changes are common.
Most ARC implementations typically use a combination like relaxed/simple or relaxed/relaxed. The relaxed option for headers is preferred because header fields are frequently reordered or rewritten by intermediate mail servers, which should not invalidate the signature. The body is often kept as simple or relaxed depending on the expected modifications. If you're investigating a specific ARC issue, you'll also want to look at the s= tag in the ARC-Message-Signature header to identify the signing entity.

Impact on email deliverability

Impact on email deliverability

The correct use and validation of the c= tag, along with other ARC components like the ARC-Seal cv tag, directly affects email deliverability. When a message is forwarded, especially through legitimate services (like mailing lists or email providers offering enhanced security), the original SPF or DKIM checks might break. Without ARC, these legitimate emails could be flagged as suspicious or spam, leading to delivery failures or placement in the junk folder. This is a common issue that ARC aims to solve by providing a transparent record of authentication.
A properly configured ARC-Message-Signature header, including the c= tag, assures recipient mail servers that the message's authentication history is intact and verifiable. This helps maintain the sender's reputation and ensures that legitimate emails reach the inbox. Without these robust authentication mechanisms, malicious actors could more easily spoof emails, tricking filters and users. For more context on how ARC signatures work in practice to ensure header legitimacy, you can refer to this discussion on Stack Overflow.
Digital locks and chains representing ARC securing an email message

Key takeaways

Key takeaways

The c= tag within an ARC-Message-Signature header is a critical element for ensuring the reliable validation of email messages as they pass through various intermediaries. It specifies the canonicalization algorithm, which standardizes the email's content to account for minor, non-substantive changes made by forwarding services. This standardization is vital for maintaining the cryptographic integrity of the ARC signature.
By correctly defining how headers and bodies are processed, the c= tag enables recipient mail servers to trust the authentication results of forwarded emails, reducing instances of legitimate mail being flagged as spam. Understanding this tag is key to a holistic grasp of email authentication protocols and their role in overall email deliverability.

Frequently asked questions

DMARC monitoring

Start monitoring your DMARC reports today

Suped DMARC platform dashboard

What you'll get with Suped

Real-time DMARC report monitoring and analysis
Automated alerts for authentication failures
Clear recommendations to improve email deliverability
Protection against phishing and domain spoofing
    What is the 'c=' tag in an ARC-Message-Signature header? - ARC - Email authentication - Knowledge base - Suped