2026-10-02
iCloud and Proton mailboxes are not relays, LEIs meet their Companies House record, and honest location and freshness grades
Ordinary iCloud Mail and Proton Mail addresses no longer answer is_relay true, and Sign in with Apple private relay addresses now do. A LEI is now compared with its Companies House record. location_confidence answers low for anycast, mobile-carrier and satellite addresses. /status calls a dataset current only when its latest scheduled update landed. Plus fixes for over-long addresses, accented addresses on the suppression list, Flemish place names and long key names.
- iCloud Mail and Proton Mail addresses are mailboxes, not relays. Every address at icloud.com, me.com, mac.com, proton.me, protonmail.com, protonmail.ch and pm.me used to answer
is_relaytrue with arelay_service,domain_categoryrelayand the 5-point relay weight. A sending policy that blocks relays blocked them too. They now answer like any free mailbox provider:is_relayfalse,relay_servicenull,domain_categorywebmail. iCloud+ Hide My Email aliases do live on icloud.com, but nothing in the domain separates them from a real iCloud mailbox, so none is flagged. Proton Pass aliases have their own domains and still answer as relays. Lookups already logged were relabelled, so the email statistics do not count these addresses as relays. - Sign in with Apple private relay addresses are flagged. An address at privaterelay.appleid.com answers
is_relaytrue withrelay_service"Sign in with Apple private relay". Such an address only accepts mail from the sender domains the app registered with Apple. - A LEI is now compared with its Companies House record. The register key that links a LEI to its UK company number was stored cut short, so no LEI was ever matched with its Companies House record. LEI answers had no
agreements, named only the GLEIF source, and could never raisename_differs_across_registersorstatus_differs_across_registers. A LEI with a Companies House cross-reference now answers with both records, the agreements between them and either flag where they differ. The same fault had cut long Companies House company categories and very long GLEIF legal names. The categories that can be rebuilt were restored at once; the rest are stored whole from the next weekly register update. location_confidenceanswers low for anycast, mobile-carrier and satellite addresses. An anycast address is served from many places at once, and a mobile or satellite network declares the location of its gateway or ground station, not the user's. Such an address used to be graded high when its operator declared the location, or by its country's measured agreement. It now answerslowwheneveris_anycast,is_mobileoris_satelliteis true, whatever the location source. Operator-declared locations for other networks are still graded high. The consistency check withholds the IP-to-address distance for these addresses, as it does for any location not graded high./statuscalls a dataset current only when its latest scheduled update landed. Each dataset's freshness window now follows its own schedule plus two days' grace, so one missed run shows as stale within days instead of weeks. The lists curated by hand get a review window and are no longer shown as unchecked: the sanctions and FATF lists, the satellite and mobile network lists, and the address formats and rules. The FATF window counts from the plenary the lists reflect. The North Rhine-Westphalia address register is now dated by its publisher's release, not by the day it was synced.- An address longer than mail can be sent to answers
invalid_syntax. The limit is 254 octets with the domain converted to punycode, the longest path RFC 5321 allows. An internationalized domain grows when it is converted, so a 129-character address could be 315 octets long; such an address used to be answered and billed, and its history row could then fail with an error. It is nowinvalid_syntaxand free, and an address of exactly 254 octets is still checked. - The email suppression list compares addresses exactly. josé@ and jose@ are different mailboxes, but the list used to treat them as one entry: importing the second spelling was skipped, and removing one could remove the other. They are now two entries. A batch of delivery reports is also recorded all or nothing, so a provider's webhook retry no longer stores part of a batch twice.
- Flemish place lists are no longer cut. Some Flemish postcodes name a list of sub-municipalities up to 162 characters long, which the addresses-at-a-postcode answer cut at 120. They are now returned whole, and the stored rows were repaired.
- A long API key name no longer breaks lookups made with it. The usage label
api · <key name>is now cut to 100 characters, which every column that records it can hold.
markdown version: /changelog/2026-10-02-icloud-and-proton-mailboxes-lei-cross-checks-location-confidence-and-dataset-freshness.md · atom feed: /changelog.atom