How this was built
The insurance pages make claims about 12 companies, so here is the whole apparatus: which documents were read and when, how much of each one was blank, how the posts were filtered, why no quote carries a sentiment score, and who pays us. If something on the hub looks too confident, this page is where you check it.
What was read, and when
Plan fields come from each provider’s own policy documents, tables of benefits and plan pages, captured Aug 23, 2026: 138 plan rows across 12 providers. One row was added later, on Sep 17, 2026: Genki Traveler, read from genki.world/products/traveler, because the August capture took the Native and Resident tables and missed the monthly product. Every row on the site links the document it came from.
Posts come from X and Reddit, captured Aug 23, 2026: 732 rows. 147 of them carry a body we can quote and link, which is the number the hub prints next to each provider.
A further 27 companies are on file with a name and a note and no plan rows. They came out of the discourse and an open search rather than the keyword set. They get one line each on the hub, no page and no link, until a capture run reads their documents.
How much of each field is actually there
This is the part a comparison table normally hides. Of 138 plan rows, this is how many state each of the eleven decision axes:
- Payout model19 of 138
- Max cover65 of 138
- Deductible36 of 138
- Pre-existing39 of 138
- Medical questions15 of 138
- US cover30 of 138
- Min term10 of 138
- Max term29 of 138
- Age limits25 of 138
- Buy while abroad17 of 138
- Cancel9 of 138
Bars are scaled against the most complete field, not against the total, so the thin ones read as thin. Red is a field under a fifth populated. Where a row is blank the page prints the words not stated, and that is the answer: it is what the document says, which is nothing. We do not infer a value from a sibling plan, from the provider’s marketing, or from what is usual in the category.
What the post filter drops
Nothing is dropped for being negative. The harshest posts in the capture are on the pages, including the ones that call a provider a scam. Five things are dropped:
Rows whose source is a research summary rather than a post. The capture stores one summary row per provider per round, written by the pass that read X. They are internal notes and they are not evidence, so they never render.
Rows with no link. A quote we cannot point at is not evidence of anything.
Rows with an empty body. Most of the capture is title-only: the pass stored a row for every post it cited and the body for the ones it had. That is why the count line on each provider names both numbers.
Fragments under sixty characters, which are replies like “any recommendations?” and carry no information.
Two posts whose wording is not publishable on this page. Both are complaints and both say the same thing as other posts we did keep.
What survives is printed verbatim, with markdown markers stripped, clipped on a word boundary if it is long, and linked. Handles are left out: the posts are public and linked, and reprinting a person’s handle beside a complaint on a page that earns commission is not needed for the page to be true.
Why no quote has a sentiment label
The capture does store a sentiment column, and we do not print it. The labels are per-provider, per-round labels over a sample, not per-post judgements: rows tagged negative for one provider include clearly positive posts. Printing one beside a quote would turn a sampling artefact into what looks like a data point about that person’s experience.
The same applies to the consensus line stored on each provider. It appears once on a provider page, named as a machine label over a sample, and it never appears next to a quote.
The posts also skew by construction. People write about insurance when a claim goes wrong, so a complaint count is not a claim-denial rate and we do not present it as one. What the volume does tell you is which company has a public argument happening about its claims handling, and that is worth knowing before you buy.
Why there is not a single price on these pages
A premium depends on the deductible, the term, your age, your residence and the day. We do hold scraped price points internally, from blogs and comparison sites, and they are exactly the kind of number that is wrong three months later. So they are not on the site, they are not readable by the site, and no page prints one.
Where a price matters, the page embeds the insurer’s own calculator, which is current by definition. That is the Genki widget on the hub, and it carries our partner tag.
How the three-question filter decides
It compares your answers against stated fields and nothing else. Where you are going is read against the US and Canada wording in us_coverage and the geographic scope list. How long is read against the stated maximum term. Passport is read against the nationality conditions in the same fields.
One rule in there is worth spelling out. A row whose only geographic statement is the word Worldwide is treated as saying nothing about the USA, not as saying it is covered. Two rows in this capture are exactly that, and reading Worldwide as US cover would be the page inventing an answer in the one place it matters most.
A provider is greyed out only when every one of its plan rows states something that rules you out. A blank field never counts against a provider, and a provider whose rows are silent keeps its place and says so on the card. There is no model, no weighting you cannot see, and no language model in the path. The reasons the cards print are the actual comparisons that ran.
What the filter does not do: ask your age. The capture states an age limit on a minority of rows, so an age question would look precise and act on almost nothing. Age limits are printed in the matrix instead, where you can see which rows state one.
Who pays us
Genki pays us a referral commission if you sign up through our link, approved September 2026. SafetyWing pays us through their ambassador programme, live since August 2026. Both links are marked where they sit, and both are tagged so a search engine knows they are paid.
Heymondo declined our application in August 2026. Cigna Global, Allianz, WorldTrips, PassportCard and Assist Card never replied. All of them are on these pages on the same terms as the two that pay, and links we earn nothing on carry the line No commission. We link it anyway.
Nobody bought a position and nobody can. The order of the cards is editorial and the matrix is sorted by how much each document states. If a commission had moved anything, the provider that declined us would not be third on the page. The full disclosure policy.
What this is not
Not advice, and not tailored to you. We have not seen your medical history, your visa conditions or your card’s benefit guide. The wording of the policy you sign wins over anything on this site, insurers change it without telling us, and the insurer’s own page is the only version that is current by definition. Check it on the day you buy.
Not first-hand reporting either. These pages are built from documents and public posts, read and organised with heavy machine assistance, and every figure carries the source and the date so you can check us rather than trust us.
Providers on file: 39. With plan rows: 12. Names in the also-seen list: 27. Provider records captured Aug 24, 2026. Back to the hub