Skip to content

DOC: add IPI migration guide for IPInfo and MaxMind#136

Open
jwrosewell wants to merge 2 commits into
mainfrom
feature/ipi-migration-tables
Open

DOC: add IPI migration guide for IPInfo and MaxMind#136
jwrosewell wants to merge 2 commits into
mainfrom
feature/ipi-migration-tables

Conversation

@jwrosewell
Copy link
Copy Markdown
Contributor

@jwrosewell jwrosewell commented May 19, 2026

Summary

Adds a new IP Intelligence Migration Guide so customers evaluating 51Degrees as a replacement for IPInfo or MaxMind can see, at a glance, how the response fields they are used to map to the equivalent 51Degrees properties.

New pages:

  • src/ipintelligence/migration/index.md (landing, anchor IpIntelligence_Migration)
  • src/ipintelligence/migration/ipinfo.md (anchor IpIntelligence_Migration_IpInfo)
  • src/ipintelligence/migration/maxmind.md (anchor IpIntelligence_Migration_MaxMind)

Plus a one-line wiring change in src/ipintelligence/index.md adding @subpage IpIntelligence_Migration.

What the pages contain

Each vendor page has mapping tables grouped by topic (geolocation, ASN, privacy, mobile carrier, anonymizer, etc.) with three columns: vendor field, 51Degrees property, and notes. Notes call out approximate mappings, single-value vs. weighted-list shape differences, and "no direct equivalent" cases (left blank, per the intro).

Two callouts highlight 51Degrees-specific behaviour readers tend to ask about:

  • Coordinate randomization: Latitude / Longitude are averaged and randomized within around 1 km during data file generation, so coordinates can never be classified as personal data.
  • Location confidence: a single categorical LocationConfidence rolls up the per-level numeric *.confidence fields that MaxMind exposes; AccuracyRadiusMax / AccuracyRadiusMin complement it with spatial precision.

Each page closes with a "Properties unique to 51Degrees" section listing weighted country lists, diversity scores, bot identification, human probability, and probabilistic identifiers.

Sources of truth

  • 51Degrees property names verified against the common-metadata repository (Properties/Location/, Properties/Network/, Properties/Asn/, etc.).
  • Latitude / Longitude shape (IAspectPropertyValue<float>, not a weighted list) verified against IIpIntelligenceData.cs in ip-intelligence-dotnet.
  • External vendor docs linked with rel="nofollow" (https://ipinfo.io/developers and https://dev.maxmind.com/geoip/docs/web-services/responses).

Test plan

  • Rendered Doxygen page IDs follow the existing repo convention (IpIntelligence_Migration*).
  • All cross-references (@ref IpIntelligence_Features_Randomization, _Weighting, _Countries, _Diversity, _Human) point to existing pages.
  • No em-dashes / en-dashes; vendor links carry rel="nofollow"; property-dictionary links use the bare URL.
  • Reviewer to validate the mappings against internal product knowledge (especially the "approximate" rows).

References #124

New subpages under IP Intelligence comparing IPInfo and MaxMind
response fields to the equivalent 51Degrees properties. Each vendor
gets its own page with tables grouped by topic (geolocation, ASN,
privacy, mobile, anonymizer etc), plus a "Properties unique to
51Degrees" section calling out features such as weighted country
lists, diversity scores, bot identification, and human probability.

Mappings reference the published 51Degrees properties verified
against the common-metadata repository and the IIpIntelligenceData
interface in ip-intelligence-dotnet. External vendor links carry
rel="nofollow".

Two callout paragraphs explain features readers ask about most:
coordinate randomization (Latitude and Longitude are averaged then
randomized within 1 km during data file generation, for privacy) and
the categorical LocationConfidence property that complements numeric
accuracy radii.

Wired into the IPI index as the new IpIntelligence_Migration subpage.

References #124
@jwrosewell
Copy link
Copy Markdown
Contributor Author

@Eddie51D — please treat this as a starting point rather than a final mapping. The structure, page wiring, callouts and "no equivalent" handling should be ready to ship, but the individual row mappings (especially the rows flagged as "Approximate" in the Notes column) need a pass against your internal product knowledge before this goes out to customers.

Specific areas worth a closer look:

  • IPInfo region vs Region / State (which hierarchy level wins where)
  • IPInfo asn.type vs ConnectionType (different things)
  • IPInfo company.name vs RegisteredOwner vs AsnName (which to point at)
  • MaxMind traits.organization vs traits.isp vs RegisteredOwner / AsnName
  • MaxMind traits.ip_risk_snapshot -> HumanProbability (different semantics; called out, but worth confirming this is the right pointer)
  • The "Properties unique to 51Degrees" lists at the bottom of each page — happy to add or drop entries.

Once you've made any corrections, feel free to close issue #124 yourself.

@github-actions
Copy link
Copy Markdown
Contributor

Documentation preview 👀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants