{
  "version": 1,
  "exportedAt": "2026-10-27T17:12:33Z",
  "mxCases": [
    {
      "id": "c001",
      "priority": 1,
      "bucket": "aruba",
      "terms": [
        "arubabusiness.it",
        "in.arubabusiness.it",
        "aruba.it",
        "arubadns.net"
      ],
      "notes": "Italy: Aruba.it hosted mail."
    },
    {
      "id": "c002",
      "priority": 2,
      "bucket": "konsoleh",
      "terms": [
        ".host-h.net",
        ".your-server.de"
      ],
      "notes": "Hetzner KonsoleH."
    },
    {
      "id": "c003",
      "priority": 3,
      "bucket": "att",
      "terms": [
        "al-ip4-mx-vip1.prodigy.net",
        "al-ip4-mx-vip2.prodigy.net",
        "ff-ip4-mx-vip1.prodigy.net",
        "ff-ip4-mx-vip2.prodigy.net"
      ],
      "notes": "AT&T / Prodigy."
    },
    {
      "id": "c004",
      "priority": 4,
      "bucket": "biglobe",
      "terms": [
        "biglobe.ne.jp"
      ],
      "notes": "Japan ISP."
    },
    {
      "id": "c005",
      "priority": 5,
      "bucket": "bigpond",
      "terms": [
        "extmail.bpbb.bigpond.com",
        "extmail.bigpond.com",
        ".bigpond.com"
      ],
      "notes": "Telstra Bigpond AU."
    },
    {
      "id": "c006",
      "priority": 6,
      "bucket": "centurylink",
      "terms": [
        "mxa-007e5801.gslb.pphosted.com",
        "mxb-007e5801.gslb.pphosted.com",
        "centurylink.net"
      ],
      "notes": null
    },
    {
      "id": "c007",
      "priority": 7,
      "bucket": "cafe-24",
      "terms": [
        "cafe24.com",
        "mail.cafe24.com"
      ],
      "notes": "Korean hosting + mail."
    },
    {
      "id": "c008",
      "priority": 8,
      "bucket": "comcast",
      "terms": [
        "comcast.net"
      ],
      "notes": null
    },
    {
      "id": "c009",
      "priority": 9,
      "bucket": "daum",
      "terms": [
        "mx.daum.net",
        "daum.net",
        "hanmail.net"
      ],
      "notes": "Daum / Kakao."
    },
    {
      "id": "c010",
      "priority": 10,
      "bucket": "dauoOffice",
      "terms": [
        "daouoffice.com",
        "mail.daouoffice.com"
      ],
      "notes": "Daou Office."
    },
    {
      "id": "c011",
      "priority": 11,
      "bucket": "ecount",
      "terms": [
        "ecount.com",
        "mail.ecount.com"
      ],
      "notes": "Ecount ERP-bundled mail."
    },
    {
      "id": "c012",
      "priority": 12,
      "bucket": "g",
      "terms": [
        "aspmx.l.google.com",
        "alt1.aspmx.l.google.com",
        "alt2.aspmx.l.google.com",
        "google.com"
      ],
      "notes": "Google Workspace MX targets."
    },
    {
      "id": "c013",
      "priority": 13,
      "bucket": "hambiro",
      "terms": [
        "hambiro",
        "groupware.co.kr"
      ],
      "notes": "Generic groupware → maps to `hambiro` bucket per Go reference."
    },
    {
      "id": "c014",
      "priority": 14,
      "bucket": "hinet",
      "terms": [
        "hinet.net",
        "msa.hinet.net",
        "msr.hinet.net"
      ],
      "notes": "Chunghwa Telecom Taiwan."
    },
    {
      "id": "c015",
      "priority": 15,
      "bucket": "hiworks",
      "terms": [
        "hiworks.co.kr",
        "hiworks.com",
        "mx.hiworks.co.kr"
      ],
      "notes": "Korean business mail."
    },
    {
      "id": "c016",
      "priority": 16,
      "bucket": "hostinger",
      "terms": [
        "mx1.hostinger.com",
        "mx2.hostinger.com"
      ],
      "notes": null
    },
    {
      "id": "c017",
      "priority": 17,
      "bucket": "ktbizoffice",
      "terms": [
        "ktbizoffice.com",
        "bizoffice.kt.com"
      ],
      "notes": "Korea Telecom BizOffice."
    },
    {
      "id": "c018",
      "priority": 18,
      "bucket": "mailplug",
      "terms": [
        "mx.mailplug.com",
        "mailplug.com"
      ],
      "notes": null
    },
    {
      "id": "c019",
      "priority": 19,
      "bucket": "mailwood",
      "terms": [
        "mailwood.com",
        "mx.mailwood.com"
      ],
      "notes": null
    },
    {
      "id": "c020",
      "priority": 20,
      "bucket": "nate",
      "terms": [
        "mx.nate.com",
        "nate.com"
      ],
      "notes": "SK Communications Nate."
    },
    {
      "id": "c021",
      "priority": 21,
      "bucket": "naver",
      "terms": [
        "mx.naver.com",
        "naver.com"
      ],
      "notes": "Naver business mail."
    },
    {
      "id": "c022",
      "priority": 22,
      "bucket": "netease",
      "terms": [
        "163.com",
        "126.com",
        "yeah.net"
      ],
      "notes": null
    },
    {
      "id": "c023",
      "priority": 23,
      "bucket": "one-six-three",
      "terms": [
        "163.com"
      ],
      "notes": "Duplicate of netease — kept for backwards-compat with older buckets."
    },
    {
      "id": "c024",
      "priority": 24,
      "bucket": "qq",
      "terms": [
        "qq.com",
        "mx.qq.com"
      ],
      "notes": "Tencent QQ Mail."
    },
    {
      "id": "c025",
      "priority": 25,
      "bucket": "secuecloud",
      "terms": [
        "secuecloud.com",
        "mx.secuecloud.com"
      ],
      "notes": null
    },
    {
      "id": "c026",
      "priority": 26,
      "bucket": "secure",
      "terms": [
        "securemail.com",
        "mx.securemail.com"
      ],
      "notes": null
    },
    {
      "id": "c027",
      "priority": 27,
      "bucket": "securemx-jp",
      "terms": [
        "securemx.jp",
        "mx.securemx.jp"
      ],
      "notes": "Japanese SecureMX."
    },
    {
      "id": "c028",
      "priority": 28,
      "bucket": "sfilter.mailwood",
      "terms": [
        "sfilter.mailwood.com"
      ],
      "notes": null
    },
    {
      "id": "c029",
      "priority": 29,
      "bucket": "three-six-five",
      "terms": [
        "protection.outlook.com",
        ".spool.protection.outlook.com"
      ],
      "notes": "Microsoft 365 / Exchange Online."
    },
    {
      "id": "c030",
      "priority": 30,
      "bucket": "whois",
      "terms": [
        "mx.whois.co.kr",
        "whois.co.kr"
      ],
      "notes": null
    },
    {
      "id": "c031",
      "priority": 31,
      "bucket": "worksmobile",
      "terms": [
        "worksmobile.com",
        "mx.worksmobile.com"
      ],
      "notes": "LINE WORKS."
    },
    {
      "id": "c032",
      "priority": 32,
      "bucket": "zoho",
      "terms": [
        "mx.zoho.com",
        "zoho.com"
      ],
      "notes": "Zoho Mail."
    },
    {
      "id": "c033",
      "priority": 33,
      "bucket": "aliyun",
      "terms": [
        "mxn.mxhichina.com",
        "mx.aliyun.com"
      ],
      "notes": "Alibaba Cloud Mail."
    },
    {
      "id": "c034",
      "priority": 34,
      "bucket": "amazon-ml",
      "terms": [
        "amazonses.com"
      ],
      "notes": "Amazon SES."
    },
    {
      "id": "c035",
      "priority": 35,
      "bucket": "bizmeka",
      "terms": [
        "bizmeka.com"
      ],
      "notes": null
    },
    {
      "id": "c036",
      "priority": 36,
      "bucket": "brityworks",
      "terms": [
        "brityworks.com"
      ],
      "notes": "Samsung SDS BrityWorks."
    },
    {
      "id": "c037",
      "priority": 37,
      "bucket": "mweb",
      "terms": [
        "mweb.co.za"
      ],
      "notes": "MWEB South Africa."
    },
    {
      "id": "c038",
      "priority": 38,
      "bucket": "owa",
      "terms": [
        "mail.protection.outlook.com"
      ],
      "notes": "Catch-all M365 — note: most OWA buckets are populated by P3 HTTP, not this."
    },
    {
      "id": "c039",
      "priority": 39,
      "bucket": "yandex",
      "terms": [
        "mx.yandex.ru",
        "yandex.ru",
        "yandex.com"
      ],
      "notes": "Yandex Mail."
    }
  ],
  "httpPatterns": [
    {
      "id": "h001",
      "priority": 1,
      "name": "mailnara",
      "regex": "mailnara",
      "bucket": "mailnara",
      "notes": "Top-priority — short-circuits the parallel fan-out on hit."
    },
    {
      "id": "h002",
      "priority": 2,
      "name": "groupware",
      "regex": "groupware",
      "bucket": "hambiro",
      "notes": "Generic 'groupware' string → `hambiro` bucket (matches Go reference)."
    },
    {
      "id": "h003",
      "priority": 3,
      "name": "mailplug",
      "regex": "mailplug",
      "bucket": "mailplug",
      "notes": null
    },
    {
      "id": "h004",
      "priority": 4,
      "name": "secuecloud",
      "regex": "secuecloud",
      "bucket": "secuecloud",
      "notes": null
    },
    {
      "id": "h005",
      "priority": 5,
      "name": "smartermail",
      "regex": "smartermail",
      "bucket": "smartermail",
      "notes": null
    },
    {
      "id": "h006",
      "priority": 6,
      "name": "home-pl",
      "regex": "home\\.pl",
      "bucket": "home-pl",
      "notes": "Polish hosting."
    },
    {
      "id": "h007",
      "priority": 7,
      "name": "aruba",
      "regex": "aruba",
      "bucket": "aruba",
      "notes": null
    },
    {
      "id": "h008",
      "priority": 8,
      "name": "mailenable",
      "regex": "mailenable",
      "bucket": "mailenable",
      "notes": null
    },
    {
      "id": "h009",
      "priority": 9,
      "name": "zimbra",
      "regex": "zimbra",
      "bucket": "zimbra",
      "notes": null
    },
    {
      "id": "h010",
      "priority": 10,
      "name": "owa",
      "regex": "owa",
      "bucket": "owa",
      "notes": "Outlook Web Access — order matters; before this we already short-circuited on mailnara if applicable."
    },
    {
      "id": "h011",
      "priority": 11,
      "name": "roundcube",
      "regex": "roundcube",
      "bucket": "rc",
      "notes": "Bucket `rc` matches the Go reference."
    },
    {
      "id": "h012",
      "priority": 12,
      "name": "cpanel",
      "regex": "cpanel",
      "bucket": "w",
      "notes": "Bucket `w` matches the Go reference (`w.atim`)."
    }
  ],
  "regionMap": [
    {
      "id": "r003",
      "tld": "cn",
      "bucket": "cn_fallback",
      "notes": null
    },
    {
      "id": "r002",
      "tld": "jp",
      "bucket": "jp_fallback",
      "notes": null
    },
    {
      "id": "r001",
      "tld": "kr",
      "bucket": "kr_fallback",
      "notes": "Disabled by default — uncomment to enable."
    }
  ],
  "extractPatterns": [
    {
      "id": "xp001",
      "priority": 1,
      "name": "bracket-at",
      "kind": "replace",
      "pattern": "(?i)\\s*\\[\\s*at\\s*\\]\\s*",
      "replacement": "@",
      "enabled": true,
      "notes": "john [at] example.com"
    },
    {
      "id": "xp002",
      "priority": 2,
      "name": "paren-at",
      "kind": "replace",
      "pattern": "(?i)\\s*\\(\\s*at\\s*\\)\\s*",
      "replacement": "@",
      "enabled": true,
      "notes": "john (at) example.com"
    },
    {
      "id": "xp003",
      "priority": 3,
      "name": "brace-at",
      "kind": "replace",
      "pattern": "(?i)\\s*\\{\\s*at\\s*\\}\\s*",
      "replacement": "@",
      "enabled": true,
      "notes": "john {at} example.com"
    },
    {
      "id": "xp004",
      "priority": 4,
      "name": "underscore-at",
      "kind": "replace",
      "pattern": "(?i)_+at_+",
      "replacement": "@",
      "enabled": true,
      "notes": "john_at_example.com"
    },
    {
      "id": "xp005",
      "priority": 5,
      "name": "word-at",
      "kind": "replace",
      "pattern": "(?i)\\s+at\\s+",
      "replacement": "@",
      "enabled": true,
      "notes": "john at example.com — word form; disable if it over-matches your prose"
    },
    {
      "id": "xp006",
      "priority": 6,
      "name": "bracket-dot",
      "kind": "replace",
      "pattern": "(?i)\\s*\\[\\s*dot\\s*\\]\\s*",
      "replacement": ".",
      "enabled": true,
      "notes": "example [dot] com"
    },
    {
      "id": "xp007",
      "priority": 7,
      "name": "paren-dot",
      "kind": "replace",
      "pattern": "(?i)\\s*\\(\\s*dot\\s*\\)\\s*",
      "replacement": ".",
      "enabled": true,
      "notes": "example (dot) com"
    },
    {
      "id": "xp008",
      "priority": 8,
      "name": "brace-dot",
      "kind": "replace",
      "pattern": "(?i)\\s*\\{\\s*dot\\s*\\}\\s*",
      "replacement": ".",
      "enabled": true,
      "notes": "example {dot} com"
    },
    {
      "id": "xp009",
      "priority": 9,
      "name": "underscore-dot",
      "kind": "replace",
      "pattern": "(?i)_+dot_+",
      "replacement": ".",
      "enabled": true,
      "notes": "example_dot_com"
    },
    {
      "id": "xp010",
      "priority": 10,
      "name": "word-dot",
      "kind": "replace",
      "pattern": "(?i)\\s+dot\\s+",
      "replacement": ".",
      "enabled": true,
      "notes": "example dot com — word form"
    },
    {
      "id": "xp011",
      "priority": 11,
      "name": "spaced-at",
      "kind": "replace",
      "pattern": "[ \\t]+@[ \\t]*|[ \\t]*@[ \\t]+",
      "replacement": "@",
      "enabled": true,
      "notes": "john @ example.com (spaces around @, same line only)"
    },
    {
      "id": "xp012",
      "priority": 12,
      "name": "standard-email",
      "kind": "match",
      "pattern": "[a-zA-Z0-9._%+\\-]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}",
      "replacement": "",
      "enabled": true,
      "notes": "Plain addresses — the canonical matcher. Runs after all replace rules."
    }
  ],
  "mailServers": [
    {
      "id": "msr001",
      "priority": 1,
      "matchKind": "MailMxInclude",
      "matchValue": "protection.outlook.com",
      "connType": "IMAP",
      "server": "outlook.office365.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Microsoft 365 / Exchange Online. Needs an app password."
    },
    {
      "id": "msr002",
      "priority": 2,
      "matchKind": "MailDomainInclude",
      "matchValue": "hotmail.com",
      "connType": "IMAP",
      "server": "outlook.office365.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Hotmail/Outlook.com consumer."
    },
    {
      "id": "msr003",
      "priority": 3,
      "matchKind": "MailDomainInclude",
      "matchValue": "outlook.com",
      "connType": "IMAP",
      "server": "outlook.office365.com",
      "encryption": "ssl",
      "port": 993,
      "notes": null
    },
    {
      "id": "msr004",
      "priority": 4,
      "matchKind": "MailDomainInclude",
      "matchValue": "live.com",
      "connType": "IMAP",
      "server": "outlook.office365.com",
      "encryption": "ssl",
      "port": 993,
      "notes": null
    },
    {
      "id": "msr005",
      "priority": 5,
      "matchKind": "MailMxInclude",
      "matchValue": "google.com",
      "connType": "IMAP",
      "server": "imap.gmail.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Gmail / Google Workspace. Needs an app password until Gmail OAuth ships."
    },
    {
      "id": "msr006",
      "priority": 6,
      "matchKind": "MailMxInclude",
      "matchValue": "secureserver.net",
      "connType": "IMAP",
      "server": "imap.secureserver.net",
      "encryption": "ssl",
      "port": 993,
      "notes": "GoDaddy."
    },
    {
      "id": "msr007",
      "priority": 7,
      "matchKind": "MailMxInclude",
      "matchValue": "emailsrvr.com",
      "connType": "IMAP",
      "server": "secure.emailsrvr.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Rackspace."
    },
    {
      "id": "msr008",
      "priority": 8,
      "matchKind": "MailMxInclude",
      "matchValue": "kundenserver.de",
      "connType": "IMAP",
      "server": "imap.ionos.de",
      "encryption": "ssl",
      "port": 993,
      "notes": "IONOS / 1&1 (DE)."
    },
    {
      "id": "msr009",
      "priority": 9,
      "matchKind": "MailMxInclude",
      "matchValue": "ionos",
      "connType": "IMAP",
      "server": "imap.ionos.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "IONOS / 1&1."
    },
    {
      "id": "msr010",
      "priority": 10,
      "matchKind": "MailMxInclude",
      "matchValue": "yandex",
      "connType": "IMAP",
      "server": "imap.yandex.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Yandex Mail."
    },
    {
      "id": "msr011",
      "priority": 11,
      "matchKind": "MailMxInclude",
      "matchValue": "rzone.de",
      "connType": "IMAP",
      "server": "imap.strato.de",
      "encryption": "ssl",
      "port": 993,
      "notes": "STRATO."
    },
    {
      "id": "msr012",
      "priority": 12,
      "matchKind": "MailMxInclude",
      "matchValue": "icloud.com",
      "connType": "IMAP",
      "server": "imap.mail.me.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "iCloud (mac.com / me.com). App password required."
    },
    {
      "id": "msr013",
      "priority": 13,
      "matchKind": "MailMxInclude",
      "matchValue": "zoho.com",
      "connType": "IMAP",
      "server": "imap.zoho.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Zoho Mail."
    },
    {
      "id": "msr014",
      "priority": 14,
      "matchKind": "MailMxInclude",
      "matchValue": "mxhichina.com",
      "connType": "IMAP",
      "server": "imap.mxhichina.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Alibaba Cloud / Aliyun mail."
    },
    {
      "id": "msr015",
      "priority": 15,
      "matchKind": "MailMxInclude",
      "matchValue": "exmail.qq.com",
      "connType": "IMAP",
      "server": "imap.exmail.qq.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Tencent ExMail (QQ business)."
    },
    {
      "id": "msr016",
      "priority": 16,
      "matchKind": "MailDomainInclude",
      "matchValue": "qq.com",
      "connType": "IMAP",
      "server": "imap.qq.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "QQ consumer mail."
    },
    {
      "id": "msr017",
      "priority": 17,
      "matchKind": "MailMxInclude",
      "matchValue": "qiye.163.com",
      "connType": "IMAP",
      "server": "imap.qiye.163.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "NetEase qiye (163 business)."
    },
    {
      "id": "msr018",
      "priority": 18,
      "matchKind": "MailDomainInclude",
      "matchValue": "163.com",
      "connType": "POP",
      "server": "pop3.163.com",
      "encryption": "ssl",
      "port": 995,
      "notes": "NetEase 163 consumer (POP only by default)."
    },
    {
      "id": "msr019",
      "priority": 19,
      "matchKind": "MailMxInclude",
      "matchValue": "yahoodns.net",
      "connType": "IMAP",
      "server": "imap.mail.yahoo.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Yahoo / AOL family. App password required."
    },
    {
      "id": "msr020",
      "priority": 20,
      "matchKind": "MailMxInclude",
      "matchValue": "263.net",
      "connType": "IMAP",
      "server": "imap.263.net",
      "encryption": "ssl",
      "port": 993,
      "notes": "263 enterprise mail (CN)."
    },
    {
      "id": "msr021",
      "priority": 21,
      "matchKind": "MailMxInclude",
      "matchValue": "mail.ru",
      "connType": "IMAP",
      "server": "imap.mail.ru",
      "encryption": "ssl",
      "port": 993,
      "notes": "Mail.ru."
    },
    {
      "id": "msr022",
      "priority": 22,
      "matchKind": "MailMxInclude",
      "matchValue": "one.com",
      "connType": "IMAP",
      "server": "imap.one.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "one.com."
    },
    {
      "id": "msr023",
      "priority": 23,
      "matchKind": "MailMxInclude",
      "matchValue": "ovh.net",
      "connType": "IMAP",
      "server": "ssl0.ovh.net",
      "encryption": "ssl",
      "port": 993,
      "notes": "OVH."
    },
    {
      "id": "msr024",
      "priority": 24,
      "matchKind": "MailMxInclude",
      "matchValue": "privateemail.com",
      "connType": "IMAP",
      "server": "mail.privateemail.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Namecheap Private Email."
    },
    {
      "id": "msr025",
      "priority": 25,
      "matchKind": "MailMxInclude",
      "matchValue": "sakura.ne.jp",
      "connType": "IMAP",
      "server": "replace(#mx#,\"mx\",\"imap\")",
      "encryption": "ssl",
      "port": 993,
      "notes": "Sakura Internet (JP)."
    },
    {
      "id": "msr026",
      "priority": 26,
      "matchKind": "MailDomainInclude",
      "matchValue": "nifty.com",
      "connType": "IMAP",
      "server": "imap.nifty.com",
      "encryption": "ssl",
      "port": 993,
      "notes": "Nifty (JP)."
    },
    {
      "id": "msr027",
      "priority": 27,
      "matchKind": "MailMxInclude",
      "matchValue": "plala.or.jp",
      "connType": "POP",
      "server": "secure.plala.or.jp",
      "encryption": "ssl",
      "port": 995,
      "notes": "Plala (JP)."
    },
    {
      "id": "msr028",
      "priority": 28,
      "matchKind": "MailDomainInclude",
      "matchValue": "ocn.ne.jp",
      "connType": "IMAP",
      "server": "imap.ocn.ne.jp",
      "encryption": "ssl",
      "port": 993,
      "notes": "OCN (JP)."
    },
    {
      "id": "msr029",
      "priority": 29,
      "matchKind": "MailMxInclude",
      "matchValue": "secure.ne.jp",
      "connType": "IMAP",
      "server": "mail.securemx.jp",
      "encryption": "ssl",
      "port": 993,
      "notes": "SecureMX (JP)."
    },
    {
      "id": "msr090",
      "priority": 90,
      "matchKind": "MailDomainInclude",
      "matchValue": ".",
      "connType": "IMAP",
      "server": "imap.#domain#",
      "encryption": "ssl",
      "port": 993,
      "notes": "Fallback: imap.<domain> over SSL."
    },
    {
      "id": "msr091",
      "priority": 91,
      "matchKind": "MailDomainInclude",
      "matchValue": ".",
      "connType": "IMAP",
      "server": "mail.#domain#",
      "encryption": "ssl",
      "port": 993,
      "notes": "Fallback: mail.<domain> over SSL."
    },
    {
      "id": "msr092",
      "priority": 92,
      "matchKind": "MailDomainInclude",
      "matchValue": ".",
      "connType": "IMAP",
      "server": "webmail.#domain#",
      "encryption": "ssl",
      "port": 993,
      "notes": "Fallback: webmail.<domain> over SSL."
    },
    {
      "id": "msr093",
      "priority": 93,
      "matchKind": "MailMxInclude",
      "matchValue": ".",
      "connType": "IMAP",
      "server": "#mx#",
      "encryption": "starttls",
      "port": 143,
      "notes": "Fallback: the MX host itself over STARTTLS."
    },
    {
      "id": "msr094",
      "priority": 94,
      "matchKind": "MailDomainInclude",
      "matchValue": ".",
      "connType": "POP",
      "server": "pop.#domain#",
      "encryption": "ssl",
      "port": 995,
      "notes": "Fallback: pop.<domain> over SSL."
    },
    {
      "id": "msr095",
      "priority": 95,
      "matchKind": "MailDomainInclude",
      "matchValue": ".",
      "connType": "IMAP",
      "server": "#domain#",
      "encryption": "ssl",
      "port": 993,
      "notes": "Fallback: the bare domain over SSL."
    }
  ],
  "config": {
    "backups": {
      "s3": {
        "bucket": "",
        "prefix": "lead-enricher/pg/",
        "region": "auto",
        "enabled": false,
        "endpoint": ""
      },
      "cadence": "daily",
      "enabled": false,
      "lastRun": null,
      "supabase": {
        "bucket": "db-backups",
        "prefix": "pg/",
        "enabled": false,
        "projectUrl": ""
      },
      "retentionCount": 14
    },
    "defaults": {
      "defaultOp": "full_pipeline",
      "defaultExport": {
        "format": "csv",
        "limitPerDomain": 5,
        "limitPerCompany": 3,
        "excludeUnmatched": false,
        "excludeDuplicatesAcrossBatches": true
      },
      "skipUnmatchedAtHttp": false,
      "detectCrossBatchDuplicates": true
    },
    "ews": {
      "hosts": [
        "",
        "mail",
        "autodiscover",
        "webmail",
        "exchange",
        "owa"
      ],
      "enabled": false,
      "timeoutMs": 6000
    },
    "firmographic": {
      "ai": {
        "batchCap": 0,
        "providers": [
          "workers_ai",
          "openrouter"
        ],
        "openRouterModels": [
          "google/gemini-2.0-flash-001"
        ],
        "circuitCooldownMinutes": 2
      },
      "xray": {
        "timeoutMs": 15000,
        "circuitBreakerBlocks": 3
      },
      "apify": {
        "actorId": "foxlabs/company-enrichment",
        "enabled": false
      },
      "vector": {
        "hintThreshold": 0.75,
        "acceptThreshold": 0.92
      },
      "browser": {
        "enabled": false,
        "engines": [
          "bing",
          "duckduckgo",
          "startpage"
        ],
        "maxPerHour": 200,
        "serviceUrl": "http://browser:3001",
        "callbackUrl": "http://api:8080/v1/firmographic/browser-callback"
      },
      "htmlSerp": {
        "enabled": false,
        "maxSharePct": 5
      },
      "googleCse": {
        "enabled": false
      },
      "enableTier": {
        "tier5AI": true,
        "tier4XRay": false,
        "tier0Rules": true,
        "tier1Cache": true,
        "tier2Static": true,
        "tier3TLSGeo": true,
        "tier5Vector": true
      },
      "rateLimits": {
        "maxPerHour": 0,
        "maxConcurrency": 0,
        "apifyMaxPerHour": 0,
        "homepagePerHostRps": 0,
        "homepagePerHostBurst": 0
      },
      "homepageLlm": {
        "enabled": true
      },
      "cacheTtlDays": {
        "lowConf": 30,
        "verified": 360,
        "deadDomain": 90
      },
      "mintTaxonomy": false,
      "consumerMailbox": {
        "domains": [
          "gmail.com",
          "googlemail.com",
          "yahoo.com",
          "yahoo.co.uk",
          "yahoo.co.jp",
          "yahoo.fr",
          "yahoo.de",
          "yahoo.es",
          "yahoo.it",
          "yahoo.ca",
          "yahoo.com.br",
          "yahoo.com.au",
          "yahoo.in",
          "yahoo.com.mx",
          "ymail.com",
          "rocketmail.com",
          "outlook.com",
          "outlook.fr",
          "outlook.de",
          "outlook.es",
          "outlook.it",
          "hotmail.com",
          "hotmail.co.uk",
          "hotmail.fr",
          "hotmail.de",
          "hotmail.it",
          "hotmail.es",
          "live.com",
          "live.co.uk",
          "live.fr",
          "msn.com",
          "aol.com",
          "aim.com",
          "icloud.com",
          "me.com",
          "mac.com",
          "protonmail.com",
          "proton.me",
          "pm.me",
          "gmx.com",
          "gmx.net",
          "gmx.de",
          "gmx.at",
          "gmx.ch",
          "mail.com",
          "email.com",
          "usa.com",
          "yandex.com",
          "yandex.ru",
          "zoho.com",
          "zohomail.com",
          "hey.com",
          "fastmail.com",
          "tutanota.com",
          "tuta.io",
          "tutanota.de",
          "korea.com",
          "hanafos.com",
          "hanmail.net",
          "daum.net",
          "nate.com",
          "naver.com",
          "qq.com",
          "163.com",
          "126.com",
          "yeah.net",
          "sina.com",
          "sina.cn",
          "sohu.com",
          "foxmail.com",
          "139.com",
          "189.cn",
          "web.de",
          "t-online.de",
          "freenet.de",
          "orange.fr",
          "laposte.net",
          "free.fr",
          "sfr.fr",
          "wanadoo.fr",
          "hotmail.be",
          "libero.it",
          "virgilio.it",
          "alice.it",
          "tin.it",
          "tiscali.it",
          "seznam.cz",
          "wp.pl",
          "o2.pl",
          "interia.pl",
          "onet.pl",
          "abv.bg",
          "mail.ru",
          "bk.ru",
          "list.ru",
          "inbox.ru",
          "rambler.ru",
          "telkomsa.net",
          "rediffmail.com",
          "ig.com.br",
          "bol.com.br",
          "uol.com.br"
        ],
        "templates": [
          "naver",
          "daum",
          "nate",
          "qq",
          "netease",
          "one-six-three",
          "126",
          "188",
          "vip163",
          "yandex",
          "hanafos",
          "comcast",
          "att",
          "bigpond",
          "biglobe",
          "hinet",
          "centurylink",
          "mweb"
        ]
      },
      "defaultIncludeIndustryEnrich": true
    },
    "free_domains": {
      "domains": [],
      "enabled": true
    },
    "http": {
      "timeoutMs": 5000,
      "userAgent": "lead-enricher/0.1 (+https://github.com/accvn/lead-enricher)",
      "concurrent": 12,
      "bodyCapBytes": 65536,
      "nonStandardPorts": [
        443,
        2096,
        2080
      ],
      "statusAcceptRange": [
        200,
        403
      ],
      "webmailSubdomains": [
        "gw",
        "owa",
        "webmail",
        "mail",
        "autodiscover",
        "email"
      ],
      "insecureSkipTlsVerify": true,
      "negativeCacheTtlMinutes": 60
    },
    "o365": {
      "enabled": true,
      "timeoutMs": 8000,
      "verifyMxMatch": false
    },
    "ptr": {
      "timeoutMs": 5000,
      "concurrent": 5,
      "cacheTtlHours": 24,
      "includeSpfIps": true,
      "maxIpsPerLead": 10
    },
    "rate_limits": {
      "dnsRpmCap": 0,
      "httpRpmCap": 0,
      "perHostBurst": 0,
      "perHostOverrides": [],
      "workerConcurrency": 8,
      "perHostTokensPerSec": 0
    },
    "region_enabled": {
      "enabled": false
    },
    "spf": {
      "cacheTtlHours": 24,
      "acceptSoftFail": true,
      "followIncludes": false,
      "lookupTimeoutMs": 5000,
      "maxIncludeDepth": 3,
      "tokensToExtract": [
        "include",
        "redirect"
      ]
    }
  }
}
