robinhood.com
The three core checks pass. What is missing is the transport and trust layer around them.
5 of 8 checks pass · 5 tools visible in DNS · nothing urgent
1 · Authentication and transport
SPF
PassValid, soft failAnything not on the list is accepted but marked. Google recommends ~all; with DMARC enforced it is as strong as -all.
v=spf1 ip4:152.70.150.118 a:outbound.email.robinhood.com include:mail.zendesk.com include:amazonses.com include:_spf.google.com include:spf.mandrillapp.com include:mg-spf.greenhouse.io include:aristotle.com exists:%{i}._spf.mta.salesforce.com ~all
- 8 DNS-lookup mechanisms — close to the limit of 10.
DKIM
Pass4 keys foundSelectors google, s1, s2, mandrill publish a public key. 2 of them point at a vendor by CNAME.
google._domainkey, s1._domainkey, s2._domainkey, mandrill._domainkey
DMARC
PassPartial (p=quarantine)Failing mail goes to spam. One step from full enforcement.
v=DMARC1; p=quarantine; rua=mailto:postmaster@robinhood.com; ruf=mailto:postmaster@robinhood.com; fo=0; adkim=r; aspf=r; rf=afrf
MX
Pass5 hostsMore than one receiving server, so a single outage does not bounce mail.
10 aspmx.l.google.com 20 alt1.aspmx.l.google.com 30 alt2.aspmx.l.google.com 40 aspmx2.googlemail.com 50 aspmx3.googlemail.com
MTA-STS
ReviewNot publishedSending servers cannot tell that this domain requires TLS, so inbound mail can be downgraded to plain text by anyone on the path.
TLS-RPT
OptionalNot publishedNobody is told when TLS to this domain fails. Cheap to add once MTA-STS is in place.
BIMI
PassPublishedLogo record found and DMARC qualifies. Yahoo shows it from the record; Gmail and Apple Mail also need a VMC or CMC certificate (the a= tag).
v=BIMI1;l=https://robinhood.com/robinhood_markets_inc_vmc_logo.svg;a=https://robinhood.com/robinhood_markets_inc_vmc.pem
DNSSEC
OptionalNot signedOptional. Signing the zone protects every record in this report from tampering.
2 · Tools visible in DNS
| Layer | Tool | Evidence |
|---|---|---|
| Mailbox | Google Workspace | MX aspmx.l.google.com |
| Marketing | Mailchimp | DKIM mandrill._domainkey |
| Transactional | Amazon SES | SPF include:amazonses.com |
| Transactional | SendGrid | DKIM s1._domainkey → s1.domainkey.u939076.wl077.sendgrid.net |
| Support | Zendesk | SPF include:mail.zendesk.com |
Only tools that leave a DNS trace appear. A shared DKIM selector is attributed only when its CNAME target names the vendor.
3 · Sender requirements (Google, Yahoo, Microsoft)
| Requirement | Applies to | Status | Note |
|---|---|---|---|
| Authenticate with SPF or DKIM | GoogleYahooMicrosoft | Verified | At least one method is in place. |
| Bulk senders: both SPF and DKIM | GoogleYahoo | Verified | Both are present. |
| Publish a DMARC record (p=none is enough) | GoogleYahooMicrosoft | Verified | Policy is p=quarantine. |
| From: domain aligns with SPF or DKIM | GoogleYahooMicrosoft | Not checkable here | Needs a real message. The Send-a-Test report will check this. |
| Valid forward and reverse DNS for sending IPs | GoogleYahoo | Not checkable here | Depends on the sending server, not the domain. |
| Encrypt in transit (TLS) | GoogleYahoo | Not checkable here | Outbound TLS depends on your sending tool; MTA-STS would cover inbound. |
| One-click unsubscribe (RFC 8058) for marketing mail | GoogleYahoo | Not checkable here | A message header, not a DNS record. Microsoft recommends it rather than requiring it. |
| Spam complaint rate under 0.1% (0.3% is the hard limit) | GoogleYahoo | Not checkable here | Read it in Google Postmaster Tools and Yahoo Sender Hub. Google’s target is 0.1%; 0.3% is where enforcement starts. |
4 · What to fix, in order
-
P2
Finish DMARC at p=reject
Quarantine still delivers spoofed mail, just into spam.
Publish at_dmarc.robinhood.comv=DMARC1; p=reject; rua=mailto:dmarc@robinhood.com; fo=1
-
P3
Publish MTA-STS (record and policy file)
Tells sending servers to require TLS to your MX hosts, which prevents downgrade attacks. The TXT record alone does nothing: the policy file must be served over HTTPS at mta-sts.robinhood.com. Start in testing mode, watch TLS-RPT, then switch to enforce.
Publish at_mta-sts.robinhood.com and https://mta-sts.robinhood.com/.well-known/mta-sts.txtTXT v=STSv1; id=2026100401 mta-sts.txt: version: STSv1 mode: testing mx: aspmx.l.google.com mx: alt1.aspmx.l.google.com mx: alt2.aspmx.l.google.com mx: aspmx2.googlemail.com mx: aspmx3.googlemail.com max_age: 86400
-
P3
Publish TLS-RPT
You get a report when TLS delivery to your domain fails; this is what notices a downgrade that MTA-STS is meant to prevent. The address must exist.
Publish at_smtp._tls.robinhood.comv=TLSRPTv1; rua=mailto:tls-rpt@robinhood.com
-
P3
Sign the zone with DNSSEC
Protects every record in this report from being swapped in transit. Two steps: enable signing at your DNS host (one switch at Cloudflare and most others), then add the DS record it gives you at your registrar.
Publish atrobinhood.com
Appendix · Raw DNS answers
| Name | Type | Answer |
|---|---|---|
| robinhood.com | MX | 10 aspmx.l.google.com 20 alt1.aspmx.l.google.com 30 alt2.aspmx.l.google.com 40 aspmx2.googlemail.com 50 aspmx3.googlemail.com |
| robinhood.com | A | 108.157.238.101 108.157.238.53 108.157.238.81 108.157.238.52 |
| robinhood.com | TXT | v=spf1 ip4:152.70.150.118 a:outbound.email.robinhood.com include:mail.zendesk.com include:amazonses.com include:_spf.google.com include:spf.mandrillapp.com include:mg-spf.greenhouse.io include:aristotle.com exists:%{i}._spf.mta.salesforce.com ~all (+ 47 other TXT records: site-verification tokens and the like, omitted) |
| _dmarc.robinhood.com | TXT | v=DMARC1; p=quarantine; rua=mailto:postmaster@robinhood.com; ruf=mailto:postmaster@robinhood.com; fo=0; adkim=r; aspf=r; rf=afrf |
| <selector>._domainkey.robinhood.com | TXT | google → key published s1 → CNAME s1.domainkey.u939076.wl077.sendgrid.net s2 → CNAME s2.domainkey.u939076.wl077.sendgrid.net mandrill → key published |
| _mta-sts.robinhood.com | TXT | no record |
| _smtp._tls.robinhood.com | TXT | no record |
| default._bimi.robinhood.com | TXT | v=BIMI1;l=https://robinhood.com/robinhood_markets_inc_vmc_logo.svg;a=https://robinhood.com/robinhood_markets_inc_vmc.pem |