X-Libredesk-Contact-Verified tells the tool whether Libredesk considers the sender’s identity trustworthy. The identity headers are always sent; the flag tells the tool whether to act on them.
Why email needs this
On the livechat widget, identity comes from a signed login (JWT): your site authenticated the user and passed that identity to Libredesk. That identity is trustworthy. Email is different. Libredesk reads mail from a mailbox over IMAP and sees whatever landed in the inbox. TheFrom address on an email is not, by itself, proof of who sent it. Anyone can put From: customer@example.com on a message. If a custom tool trusted that address blindly, someone could email support pretending to be a customer and have the tool act on that customer’s account.
What Libredesk can and cannot check
Libredesk sits downstream of your mail server. It does not receive mail over SMTP and does not evaluate SPF, DKIM, or DMARC itself. Those checks happen at your mail server when the message arrives, before Libredesk polls the mailbox. It also cannot reliably read the result from inside the mailbox. Mail servers record their verdict in anAuthentication-Results header, but a sender can forge that header; only the receiving mail server can strip a forged copy, and Libredesk cannot tell a genuine header from a fake one after the fact. Trusting it would reintroduce the spoofing problem.
So email verification rests on two facts, one you assert and one Libredesk checks:
- Your mail server rejects or quarantines mail that fails DMARC. Libredesk cannot detect this, so you assert it with the inbox setting below. Gmail and Google Workspace do this by default.
- The sender’s domain publishes an enforcing DMARC policy. Libredesk checks this by looking up the sender domain’s DMARC record in DNS when the message arrives.
The inbox setting
Each email inbox has a setting: Upstream server enforces DMARC (default: off) Turn this on only if the mail server behind this mailbox rejects or quarantines messages that fail DMARC. Gmail and Google Workspace do; a self-managed mail server does so only when configured to.
Leave it off if you are unsure. With it off the AI agent still works; tools that require a verified identity simply decline to act on email. Livechat contacts are unaffected.
What counts as an enforcing policy
Libredesk looks up the DMARC record at_dmarc.<sender-domain>. A domain is treated as enforcing when:
- its policy is
p=rejectorp=quarantine, and - the policy applies to all mail (
pctis 100 or absent).
sp=). A policy of p=none, a partial rollout (pct below 100), a missing record, or a lookup failure all result in the sender being treated as unverified.
This checks the sender domain’s published policy, not a per-message DMARC result. The pass/fail decision is made by your mail server, which is why the inbox setting is required.
For custom tool authors
Libredesk always sends the identity headers and guarantees the verified flag is honest. It does not withhold the identity from a tool. Whether to trust that identity is the tool’s decision, because the tool is the code that acts.X-Libredesk-Contact-Verified: false as “do not proceed”.

