Third-party components and licenses
Icon Map for Fabric and Icon Map Desktop are built with widely used, actively maintained open-source libraries. This page lists the runtime components with their licenses and source repositories. All are permissively licensed (MIT, BSD, ISC, Apache 2.0 or MPL 2.0); no copyleft license applies to distribution of the product itself.
At each release we run npm audit against the full dependency tree and do not ship with known unresolved vulnerabilities in runtime dependencies. See the security whitepaper for the wider set of development practices.
Trademark acknowledgment
ArcGIS is a registered trademark of Esri. Microsoft, Microsoft Fabric, OneLake, Power BI and Azure are trademarks of Microsoft Corporation. MapLibre is a trademark of the MapLibre organization.
Rendering and visualization
| Package | License | Author / maintainer | Purpose |
|---|---|---|---|
| maplibre-gl | BSD-3-Clause | MapLibre | Core WebGL vector map rendering engine |
| @deck.gl/* | MIT | OpenJS Foundation / vis.gl | GPU-accelerated data layers (aggregation, geo, mesh, extensions) |
| three | MIT | three.js authors | 3D model and mesh rendering |
| @sparkjsdev/spark | MIT | Spark authors | Gaussian splat rendering |
| echarts | Apache-2.0 | Apache Software Foundation | Charts and slicers |
| geotiff | MIT | Fabian Schindler | GeoTIFF raster decoding |
| @geomatico/maplibre-cog-protocol | MIT | Geomatico | Cloud-Optimised GeoTIFF (COG) rasters |
| @loaders.gl/3d-tiles, @loaders.gl/gltf | MIT | OpenJS Foundation / vis.gl | 3D Tiles and glTF model loading |
| @geoarrow/deck.gl-layers | MIT | Kyle Barron | GeoArrow-accelerated rendering |
| @math.gl/* | MIT | OpenJS Foundation / vis.gl | Geospatial math |
| d3-contour | ISC | Mike Bostock | In-browser contour-line generation from elevation grids |
Data access and formats
| Package | License | Author / maintainer | Purpose |
|---|---|---|---|
| @duckdb/duckdb-wasm | MIT | DuckDB Foundation | In-browser SQL engine (queries run client-side) |
| apache-arrow | Apache-2.0 | Apache Software Foundation | Columnar data interchange |
| hyparquet, hyparquet-compressors | MIT | Hyperparam | Reading Apache Parquet files in the browser |
| pmtiles | BSD-3-Clause | Protomaps | Single-file tile archives read via HTTP range requests |
| @azure/storage-file-datalake | MIT | Microsoft | OneLake (ADLS Gen2) file access |
| proj4 | MIT | proj4js contributors | Coordinate system reprojection |
| h3-js | Apache-2.0 | Uber | H3 hexagonal spatial index |
| s2-geometry | MIT / Apache-2.0 / ISC | AJ ONeal | S2 spherical geometry index |
| a5-js | Apache-2.0 | A5 authors | A5 equal-area cell index |
| supercluster | ISC | Vladimir Agafonkin | Point clustering |
| kdbush | ISC | Vladimir Agafonkin | In-browser spatial index (nearest-neighbour lookups for IDW interpolation) |
| concaveman | ISC | Vladimir Agafonkin | Concave hull generation |
| @turf/* | MIT | Turf authors | Geospatial analysis |
| shapefile | BSD-3-Clause | Mike Bostock | ESRI Shapefile parsing |
| flatgeobuf | BSD-2-Clause | FlatGeobuf contributors | Client-side FlatGeobuf (.fgb) parsing |
| @tmcw/togeojson | BSD-2-Clause | Tom MacWright | KML / GPX conversion |
| topojson-client, topojson-server | ISC | Mike Bostock | TopoJSON encoding and decoding |
| web-ifc | MPL-2.0 | That Open Company | IFC (BIM) model parsing |
| gtfs-realtime-bindings | Apache-2.0 | MobilityData | GTFS realtime transit feeds |
| numcodecs | MIT | Trevor Manz | Compression codecs |
| jszip | MIT | Stuart Knightley | Zip archive handling |
Application framework
| Package | License | Author / maintainer | Purpose |
|---|---|---|---|
| react, react-dom | MIT | Meta | UI framework |
| @fluentui/* | MIT | Microsoft | Fabric-consistent UI components |
| @reduxjs/toolkit, react-redux | MIT | Redux maintainers | Application state |
| react-router-dom, history | MIT | Remix Software | Routing |
| i18next, react-i18next, i18next-http-backend | MIT | i18next maintainers | Localization |
| @ms-fabric/workload-client | Apache-2.0 | Microsoft | Official Fabric workload client SDK |
| jwt-decode | MIT | Auth0 | Reading token expiry client-side |
| uuid | MIT | uuid maintainers | Identifier generation |
Backend service
| Package | License | Author / maintainer | Purpose |
|---|---|---|---|
| express | MIT | OpenJS Foundation | HTTP server framework |
| jsonwebtoken, jwks-rsa | MIT | Auth0 | Entra ID token validation (all data-plane calls) |
| undici | MIT | Node.js contributors | Outbound HTTP client |
| express-rate-limit | MIT | Nathan Friedly | API rate limiting |
Icon Map Desktop shell
| Package | License | Author / maintainer | Purpose |
|---|---|---|---|
| electron | MIT | OpenJS Foundation | Desktop application shell |
| electron-builder, electron-vite, vite | MIT | respective maintainers | Build and packaging toolchain |
| @azure/msal-node | MIT | Microsoft | Microsoft Entra sign-in |
A note on @microsoft/applicationinsights-web
The Application Insights SDK is present in the dependency tree because a UI component is shared with the Icon Map Power BI visuals. It is not initialized in Icon Map for Fabric or Icon Map Desktop: telemetry from the Fabric workload goes only to the Icon Map backend, as described in the security whitepaper.
Next steps
- Security whitepaper - architecture, endpoints and data handling.
- Security & permissions - the permission model.