Mission
Addresses are infrastructure. Working out where one is should cost about what a lookup costs, and it should not require anybody's permission. Mailwoman exists to make that true in software you can hold in your hand.
Why the engine is open
The parser, the geocoder, the resolversresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon., the drop-in servers and the published model weightsmodel weightsThe learned parameters of the neural classifier, shipped as ONNX files in the @mailwoman/neural-weights-* packages. Weights are locale-specific bundles that include the model, tokenizer, and a model-card.json metadata file. are AGPL-3.0. You can read every line, fork it, and run it in production without asking us. The AGPL attaches one condition, and it is worth stating plainly: if you distribute software built on Mailwoman, or run it as a network service other people use, those users are entitled to your corresponding source under the same license. Teams that cannot work that way buy the commercial license, which releases them from it.
Open source resets what a market charges for. When good editors became free, the paid layerlayerOne transformer block — attention plus a feed-forward network, with normalization and residual connections — applied to every position. Stacking layers lets the model build up richer representations; Mailwoman's encoder has 6. moved to the things an editor cannot do by itself. We think address parsingaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. belongs in the free layerlayerOne transformer block — attention plus a feed-forward network, with normalization and residual connections — applied to every position. Stacking layers lets the model build up richer representations; Mailwoman's encoder has 6., and we are willing to be the ones who put it there.
Why we charge for data and licensing rather than for calls
Building the engine is a one-time cost. Keeping the data current is not: streetsstreetThe named linear feature along which house numbers are ordered. Decomposes into a name plus street affixes; one of the Tier 2 fine labels. get renamed, postcodespostcodeThe country-specific postal code (US ZIP, French code postal, etc.). Mailwoman handles postcode parsing entirely by rule classifier — a regex problem, not an ML one. get reissued, buildings get numbered, and a gazetteergazetteerA geographical index that maps place names and postcodes to real-world coordinates. Mailwoman uses a custom-built Who's On First (WOF) SQLite database as its gazetteer — the 'atlas' half of the grammar/atlas architecture. that was right last year is wrong this year in ways nobody announces. That recurring work is what a subscription pays for, alongside the license release for companies that need one.
So the price does not move with your volume. A signup form that re-parsesaddress parsingThe process of decomposing a free-text postal address string into structured components — house number, street name, locality, region, postcode, and country — so a geocoder can resolve them to coordinates. on every keystroke makes thousands of calls per user; in your own process those are function calls, and the invoice does not notice them. We could not read a meter across your machines even if we wanted to, because the software runs on them and never reports back.
What we will not do
- Put a key on the engine. The open release is the whole engine, not a limited edition of it.
- Instrument you. No telemetry, no analytics, no usage ping. This is checkable rather than promised: see Security and compliance.
- Publish a number without the script that produced it. Every accuracy figure we put out ships with its script, inputs and result file: see Benchmarks.
- Withdraw what we published. Every AGPL release already shipped stays licensed to you permanently. That follows from the license, and we could not take back a grant already made.
Who pays for it
Customers do. Subscriptions and enterprise work fund the engineering, which means the people we answer to are the people using the software. No advertising, no sale of data, and no harvesting of queries to train modelsneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' — the deployment modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.' puts your queries out of our reach in the first place.