Brand logos (BIMI)

Show your logo next to your emails in Gmail, Apple Mail and other inboxes.

BIMI (Brand Indicators for Message Identification) lets mailbox providers show your logo next to the emails you send. It is set up entirely in your own DNS: a record that points at your logo and at a certificate proving the logo is yours. COSS doesn't host logos or issue certificates. It checks your DNS and tells you what is still missing.

What you need

  1. A verified domain. COSS signs your emails with DKIM as your domain, so they pass DMARC once the domain is verified.
  2. DMARC at enforcement. Your domain's DMARC policy must be p=quarantine or p=reject, and apply to all of your mail: no pct below 100, no t=y. When you send from a subdomain such as mail.example.com, the organizational domain (example.com, the domain you registered) needs a DMARC record at enforcement of its own as well. A subdomain without a DMARC record of its own uses the organizational domain's, where its sp (subdomain policy) applies when set, so sp=none doesn't count either. Before you tighten the policy, read your DMARC reports (rua=) to make sure every service that sends as your domain passes DMARC. Then move from p=none to quarantine to reject.
  3. Your logo as an SVG in the SVG Tiny Portable/Secure (SVG Tiny PS) profile. It should be square, with a solid background, and served over HTTPS. Mailbox providers suggest keeping it under 32 KB.
  4. A mark certificate for that logo, as a PEM file served over HTTPS. Gmail and Apple Mail show logos only with one, and you buy it from a certificate authority approved by the BIMI Group:
    • A Verified Mark Certificate (VMC) needs the logo to be a registered trademark. Gmail and Apple Mail both accept it, and Gmail also shows a verified checkmark.
    • A Common Mark Certificate (CMC) needs no trademark, but the logo must have been shown on your website for at least 12 months. Gmail accepts it; Apple Mail does not.

Other mailbox providers have their own requirements. Each provider validates the logo and certificate itself and decides when to show the logo (sender reputation and volume play a part), and caches what it finds.

The record

Publish a TXT record at default._bimi. followed by your domain:

l= is your logo's URL and a= your certificate's. Keep exactly one v=BIMI1 record at the name: mailbox providers ignore the domain's logo when there are several.

Mailbox providers look up the record for the domain of the From address. If there is none, they use the organizational domain's: emails from @mail.example.com show the logo of default._bimi.example.com unless mail.example.com has a record of its own. COSS sends with the default selector.

Checking it

COSS checks the BIMI record and the DMARC policy with the rest of the domain's DNS records. That happens every 12 hours once the domain is verified, or right away with Verify now on the domain's page in the dashboard (Domains) or coss.domains.verify(id). The result is on the domain's page under Brand logo (BIMI), and in the domain's bimi field:

const { :  } = await ..();

.(?..); // "configured"
for (const  of ?.. ?? []) {
  .(., .);
}

bimi also has the record found (name, record), its logo_url and certificate_url, and dmarc_policy, the DMARC policy that applies to the domain. These are the issues it can report:

COSS checks DNS only: it never downloads your logo or certificate. A configured domain can still go without a logo if the certificate has expired, doesn't cover the domain, or doesn't match the logo. Your certificate authority can check those for you.