{
  "about": "Every source Toreject uses, with its location, retrieval date and rights. The DNS read itself is live; everything else on the page comes from the entries below. No vendor, regulator or standards body endorses this page; their names appear as sources.",
  "sources": [
    {
      "id": "rfc7208",
      "citation": "S. Kitterman, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, RFC 7208, April 2014. Section 4.6.4: the limit of 10 terms that cause DNS queries",
      "url": "https://www.rfc-editor.org/rfc/rfc7208.txt",
      "retrieved": "2026-10-09",
      "vendored": "test/fixtures/rfc7208.txt (by scripts/fetch-rfc.mjs); its Appendix A records are the SPF receipts",
      "rights": "IETF Trust, Simplified BSD licence for code components; quoted for its examples."
    },
    {
      "id": "rfc7489",
      "citation": "M. Kucherawy and E. Zwicky (eds.), Domain-based Message Authentication, Reporting, and Conformance (DMARC), RFC 7489, March 2015",
      "url": "https://www.rfc-editor.org/rfc/rfc7489.txt",
      "retrieved": "2026-10-09",
      "vendored": "test/fixtures/rfc7489.txt (by scripts/fetch-rfc.mjs); its Appendix B records are DMARC receipts",
      "rights": "IETF Trust; quoted for its examples."
    },
    {
      "id": "rfc6376",
      "citation": "D. Crocker, T. Hansen and M. Kucherawy (eds.), DomainKeys Identified Mail (DKIM) Signatures, RFC 6376, September 2011",
      "url": "https://www.rfc-editor.org/rfc/rfc6376.txt",
      "retrieved": "2026-10-09",
      "rights": "IETF Trust; cited for the record format. Nothing vendored."
    },
    {
      "id": "google-sender-guidelines",
      "citation": "Google, Email sender guidelines: from 1 February 2024 every sender to Gmail needs SPF or DKIM, and a sender of 5,000 or more messages a day needs SPF, DKIM and DMARC",
      "url": "https://support.google.com/mail/answer/81126",
      "retrieved": "2026-10-09",
      "rights": "Cited for the dates and the requirements, read on the page 2026-10-09."
    },
    {
      "id": "yahoo-sender-requirements",
      "citation": "Yahoo, Sender best practices: authentication required of bulk senders from February 2024",
      "url": "https://senders.yahooinc.com/best-practices/",
      "retrieved": "2026-10-09",
      "rights": "Cited for the requirement; read 2026-10-09."
    },
    {
      "id": "outlook-bulk-senders",
      "citation": "Microsoft Defender for Office 365 Blog, \"Strengthening Email Ecosystem: Outlook’s New Requirements for High-Volume Senders\", 2 April 2025, updated: domains sending more than 5,000 messages a day need SPF, DKIM and DMARC; from 5 May 2025 Outlook.com routes non-conforming mail to Junk, with rejection (550 5.7.515) to follow",
      "url": "https://techcommunity.microsoft.com/blog/microsoftdefenderforoffice365blog/strengthening-email-ecosystem-outlook%E2%80%99s-new-requirements-for-high%E2%80%90volume-senders/4399730",
      "retrieved": "2026-10-09",
      "rights": "Cited for the date and the requirement, read on the page 2026-10-09."
    },
    {
      "id": "gmail-smtp-errors",
      "citation": "Google Workspace Admin Help, Gmail SMTP errors and codes: \"550 5.7.26 This email has been blocked because the sender is unauthenticated. Gmail requires all senders to authenticate with either SPF or DKIM.\" The same code also names a domain whose DMARC policy refused the message",
      "url": "https://support.google.com/a/answer/3726730",
      "final": "https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes?hl=en",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Quoted for the wording of the bounce a reader brings to the page; read on the page 2026-10-10 UTC."
    },
    {
      "id": "price-dmarcian",
      "citation": "dmarcian pricing: Basic $24/mo ($239.88/year, up to 2 domains); Plus $240/mo; Enterprise $600/mo. Monitoring, not setup",
      "url": "https://dmarcian.com/pricing/",
      "retrieved": "2026-10-09",
      "rights": "Published price, quoted verbatim in FLEET-5.md section 3.4."
    },
    {
      "id": "price-easydmarc",
      "citation": "EasyDMARC pricing: DMARC Plus $35.99/mo on annual billing (regular $44.99), 2 domains. Monitoring",
      "url": "https://easydmarc.com/pricing",
      "retrieved": "2026-10-09",
      "rights": "Published price, quoted verbatim in FLEET-5.md section 3.4."
    },
    {
      "id": "price-contra",
      "citation": "Contra freelancer listing \"SPF, DKIM & DMARC Email Authentication Setup\", $30, 1 day",
      "url": "https://contra.com/s/PUkNrvcB-spf-dkim-and-dmarc-email-authentication-setup",
      "retrieved": "2026-10-09",
      "rights": "Published price, quoted verbatim in FLEET-5.md section 3.4."
    },
    {
      "id": "price-izivizi",
      "citation": "izivizi on Gumroad, \"SPF, DKIM, DMARC, Done for You, One-Time Set Up\", EUR 159, five business days",
      "url": "https://izivizi.gumroad.com/l/se-up-spf-dkim-dmarc",
      "retrieved": "2026-10-09",
      "rights": "Title fetched; the price and turnaround came from a search summary and are unverified verbatim (FLEET-5.md section 3.4)."
    },
    {
      "id": "price-valimail",
      "citation": "Vendr marketplace, Valimail: \"Median buyer pays $16,281 per year\", based on 32 purchases",
      "url": "https://www.vendr.com/marketplace/valimail",
      "retrieved": "2026-10-09",
      "rights": "Read on the page 2026-10-09 (FLEET-5.md section 3.4 cites the same figure from the fleet market report)."
    },
    {
      "id": "mailready",
      "citation": "mailready lib/check.mjs (the DNS read) and botdoor lib/safefetch.mjs, byte copies",
      "url": "server/vendor/VENDORED-FROM.md",
      "retrieved": "2026-10-09",
      "rights": "The operator's own code, vendored with source path and commit."
    },
    {
      "id": "docs-google-1",
      "service": "google",
      "citation": "Google Workspace: the vendor's own setup page",
      "url": "https://support.google.com/a/answer/10685031",
      "final": "https://knowledge.workspace.google.com/admin/security/set-up-spf?visit_id=639271992093874755-2869019973&rd=2",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-google-2",
      "service": "google",
      "citation": "Google Workspace: the vendor's own setup page",
      "url": "https://support.google.com/a/answer/174124",
      "final": "https://knowledge.workspace.google.com/admin/security/set-up-dkim?visit_id=639271992108701618-2799861471&rd=1",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-microsoft-1",
      "service": "microsoft",
      "citation": "Microsoft 365: the vendor's own setup page",
      "url": "https://learn.microsoft.com/en-us/defender-office-365/email-authentication-spf-configure",
      "final": "https://learn.microsoft.com/en-us/defender-office-365/email-authentication-spf-configure",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-microsoft-2",
      "service": "microsoft",
      "citation": "Microsoft 365: the vendor's own setup page",
      "url": "https://learn.microsoft.com/en-us/defender-office-365/email-authentication-dkim-configure",
      "final": "https://learn.microsoft.com/en-us/defender-office-365/email-authentication-dkim-configure",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-mailchimp-1",
      "service": "mailchimp",
      "citation": "Mailchimp: the vendor's own setup page",
      "url": "https://mailchimp.com/help/set-up-email-domain-authentication/",
      "final": "https://mailchimp.com/help/set-up-email-domain-authentication/",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-klaviyo-1",
      "service": "klaviyo",
      "citation": "Klaviyo: the vendor's own setup page",
      "url": "https://help.klaviyo.com/hc/en-us/articles/4417768780827",
      "final": "https://help.klaviyo.com/hc/en-us/articles/4417768780827",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-shopify-1",
      "service": "shopify",
      "citation": "Shopify: the vendor's own setup page",
      "url": "https://help.shopify.com/en/manual/intro-to-shopify/initial-setup/setup-your-email",
      "final": "https://help.shopify.com/en/manual/intro-to-shopify/initial-setup/setup-your-email",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-sendgrid-1",
      "service": "sendgrid",
      "citation": "SendGrid: the vendor's own setup page",
      "url": "https://www.twilio.com/docs/sendgrid/ui/account-and-settings/how-to-set-up-domain-authentication",
      "final": "https://www.twilio.com/docs/sendgrid/ui/account-and-settings/how-to-set-up-domain-authentication",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-brevo-1",
      "service": "brevo",
      "citation": "Brevo: the vendor's own setup page",
      "url": "https://developers.brevo.com/docs/domain-authentication-and-verification",
      "final": "https://developers.brevo.com/docs/domain-authentication-and-verification",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-hubspot-1",
      "service": "hubspot",
      "citation": "HubSpot: the vendor's own setup page",
      "url": "https://knowledge.hubspot.com/marketing-email/manage-email-authentication-in-hubspot",
      "final": "https://knowledge.hubspot.com/marketing-email/manage-email-authentication-in-hubspot",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-zendesk-1",
      "service": "zendesk",
      "citation": "Zendesk: the vendor's own setup page",
      "url": "https://support.zendesk.com/hc/en-us/articles/4408832543770",
      "final": "https://support.zendesk.com/hc/en-us/articles/4408832543770-Allowing-Zendesk-to-send-email-on-behalf-of-your-email-domain",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-zendesk-2",
      "service": "zendesk",
      "citation": "Zendesk: the vendor's own setup page",
      "url": "https://support.zendesk.com/hc/en-us/articles/4408822303386",
      "final": "https://support.zendesk.com/hc/en-us/articles/4408822303386-Digitally-signing-your-email-with-DKIM",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-intercom-1",
      "service": "intercom",
      "citation": "Intercom: the vendor's own setup page",
      "url": "https://www.intercom.com/help/en/articles/11183745-troubleshooting-email-authentication-issues-dkim-dmarc-and-dns-setup",
      "final": "https://www.intercom.com/help/en/articles/11183745-troubleshooting-email-authentication-issues-dkim-dmarc-and-dns-setup",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    },
    {
      "id": "docs-resend-1",
      "service": "resend",
      "citation": "Resend: the vendor's own setup page",
      "url": "https://resend.com/docs/add-a-domain",
      "final": "https://resend.com/docs/add-a-domain",
      "status": 200,
      "retrieved": "2026-10-10",
      "rights": "Read for its facts (record names, includes, where the values are generated). Nothing from the page is copied onto ours beyond those facts and the vendor's name."
    }
  ]
}
