Why Open-Source Mapping Matters
Geographic Information Systems (GIS) and interactive web mapping serve as critical infrastructure for:
- Visualizing the 100-mile border enforcement zone
- Tracking detention facility locations and populations
- Mapping checkpoint networks
- Disseminating localized Know Your Rights information
Critical Warning: Relying on proprietary mapping platforms (Google Maps, Mapbox) introduces severe vulnerabilities:
| Risk | Impact |
|---|---|
| Privacy breaches | User location data transmitted to third parties |
| Vendor lock-in | Unexpected API costs and rate limiting |
| Surveillance exposure | ICE/CBP purchase location data from commercial brokers |
Open-source GIS stacks eliminate these risks while providing complete operational control.
Mapping Library Comparison
| Feature | Leaflet | MapLibre GL JS | OpenLayers |
|---|---|---|---|
| Architecture | DOM (HTML/SVG) | WebGL hardware-accelerated | Canvas + WebGL |
| Bundle Size | ~40KB (ultra-light) | Moderate-heavy | Heavy |
| Optimal Use | Simple maps, low-bandwidth | Massive datasets, vector tiles | Enterprise GIS analysis |
| Performance Scaling | Degrades past ~5,000 features | Efficient to millions | Highly consistent at scale |
| Accessibility | High (native DOM) | Moderate (requires ARIA) | Moderate |
| License | BSD-2-Clause | BSD-3-Clause | BSD-2-Clause |
Recommendation:
- Checkpoint maps on mobile: Leaflet
- Nationwide analytical dashboards: MapLibre GL JS
- Complex internal analysis tools: OpenLayers
Documentation Guides
Mapping Libraries Comparison
Deep technical analysis of Leaflet, MapLibre GL JS, and OpenLayers for advocacy applications.
Tile Servers & Basemaps
Free tile services, self-hosting for resilience, custom styling with Maputnik, and offline caching.
100-Mile Zone Visualization
QGIS workflows for accurately calculating and displaying the border enforcement zone affecting two-thirds of the U.S. population.
Checkpoint & Facility Mapping
Data sources for ICE/CBP facilities, checkpoint locations, 287(g) jurisdictions, and sanctuary policies.
Interactive Features
Privacy-preserving search, filtering, mobile-first interactions, and progressive disclosure popups.
QGIS Data Preparation
Desktop GIS workflows for data import, spatial analysis, coordinate projection, and web export.
Map Accessibility
Screen reader compatibility, keyboard navigation, color accessibility, and cognitive load reduction.
Privacy-Preserving Features
Client-side geolocation, zero-tracking architecture, and data minimization to protect vulnerable users.
Print & Offline Maps
High-resolution print export, offline mobile packages, and QR code integration.
Crowdsourced Reporting
Community checkpoint reporting, verification algorithms, legal frameworks, and integration with rapid response.
Implementation Guide
11ty integration, CI/CD pipelines, lazy loading, and CDN deployment architecture.
The 100-Mile Border Zone
The U.S. Border Patrol operates under 1953 DOJ regulations granting extraordinary authority within 100 air miles of any external boundary:
| Statistic | Impact |
|---|---|
| Population affected | ~200 million (2/3 of U.S.) |
| Major cities included | All coastal cities, border states |
| Authority granted | Warrantless searches, checkpoints |
Mapping this zone accurately requires:
- Census Bureau MAF/TIGER boundary data
- NOAA maritime baseline data
- Proper coordinate projection (EPSG:5070)
- 160,934 meter buffer calculation
Privacy-First Architecture
All advocacy mapping must protect users from surveillance:
Client-Side Processing
// Location stays on user's device - never transmitted
import * as turf from '@turf/turf';
const userPoint = turf.point([userLng, userLat]);
const isInZone = turf.booleanPointInPolygon(userPoint, borderZone);
// Process locally, display result, discard coordinates
Zero-Tracking Requirements
- No Google Analytics or Meta Pixels
- Self-hosted analytics only (Plausible, Umami)
- IP address anonymization at ingestion
- Automated log purging
- Strict Content Security Policies
Data Sources
Immigration Enforcement Data
| Data Type | Sources |
|---|---|
| Detention facilities | FOIA litigation, Vera Institute, TRAC |
| Checkpoints | CBP records, crowdsourced databases |
| 287(g) jurisdictions | ICE publications, state records |
| Sanctuary policies | Municipal ordinances, advocacy databases |
Basemap Data
| Source | Use Case |
|---|---|
| OpenStreetMap | Base geography, streets, buildings |
| Census TIGER | Jurisdictional boundaries |
| NOAA | Maritime boundaries, coastal baselines |
| ACS | Demographic overlays (aggregated) |
Quick Start
Simple Checkpoint Map (Leaflet)
<div id="map" style="height: 400px;"></div>
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<script>
const map = L.map('map').setView([31.0, -100.0], 5);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© OpenStreetMap contributors'
}).addTo(map);
// Load checkpoint GeoJSON
fetch('/data/checkpoints.geojson')
.then(r => r.json())
.then(data => {
L.geoJSON(data, {
onEachFeature: (feature, layer) => {
layer.bindPopup(`
<strong>${feature.properties.name}</strong><br>
Type: ${feature.properties.type}
`);
}
}).addTo(map);
});
</script>
Self-Hosting for Resilience
During high-profile enforcement events, free public tile servers may:
- Enforce rate limits
- Experience downtime
- Log access patterns
Self-hosting eliminates these risks:
| Component | Software |
|---|---|
| Tile server | TileServer GL |
| Vector data | OpenMapTiles |
| Requirements | 2 CPU, 2GB RAM (regional) |
Mobile-First Design
Most users access advocacy maps on mobile devices in challenging conditions:
Thumb Zone Optimization
- Primary controls at bottom of screen
- Floating action buttons for key actions
- Bottom sheets for filters
Scroll-Trap Prevention
// Disable one-finger panning on mobile
const map = L.map('map', {
dragging: !L.Browser.mobile
});
// Requires two-finger pinch to interact
Offline Capabilities
Field operations require offline access:
| Solution | Use Case |
|---|---|
| OsmAnd | Full offline navigation with custom POIs |
| Maps.me | Lightweight offline viewing |
| MBTiles | Pre-cached tile packages |
| IndexedDB | Browser-based vector tile caching |
Distribution: QR codes on printed flyers link to offline package downloads.
Related Resources
- Facility Monitoring - Detention data sources
- Flight Tracking - Deportation flight visualization
- Digital Coalition - Crisis communication integration
- Rapid Response Networks - Alert system coordination