Skip to main content

Waze OSINT Tracker

PyPI version Python 3.10+ License: MIT

A worldwide data collection tool for Waze traffic events. Demonstrates location privacy risks in crowdsourced traffic applications.

Web UI Main View

Web UI Live Events

What It Does

Captures Waze traffic reports (police, jams, hazards, accidents, road closures) from 5 continents including username, GPS coordinates, and timestamps. By collecting this data over time, it's possible to build movement profiles of individual users - demonstrating privacy implications of Waze's crowdsourced model.

Based on research by Covert Labs

Quick Start

# Install
pip install waze-logs

# Run (starts collector + web UI in background)
waze start -b

# Open http://localhost:5000

That's it. The web UI shows a live map with events streaming in from around the world.

Additional Commands

waze --help      # See all available commands
waze stop        # Stop the collector
waze logs        # Watch live output

Privacy & Ethics

This tool is for security research and education - demonstrating privacy risks in Waze's design.

Do not use for:

  • Stalking or tracking individuals
  • Publishing identifiable data
  • Any illegal surveillance

License

MIT


Annex: Sample Data

Collected Events

Here's what the raw collected data looks like - real events captured from the Waze network:

Username Type Coordinates Timestamp Region
user_a]1b2c3d4 POLICE 40.4168, -3.7038 2026-01-24 14:32:15 Europe
driver_x7y8z9 HAZARD 48.8566, 2.3522 2026-01-24 14:31:02 Europe
waze_usr_123 JAM 34.0522, -118.2437 2026-01-24 06:28:44 Americas
report_456 ACCIDENT -33.8688, 151.2093 2026-01-25 01:15:33 Oceania
user_tokyo_99 ROAD_CLOSED 35.6762, 139.6503 2026-01-24 23:45:18 Asia

Event Types Breakdown

From a sample collection of ~365,000 events:

HAZARD       158,860  (43.5%)  - Road hazards, objects, weather
JAM           82,102  (22.5%)  - Traffic congestion reports
POLICE        60,615  (16.6%)  - Police sightings
ROAD_CLOSED   53,134  (14.6%)  - Road closures, construction
ACCIDENT       9,358   (2.6%)  - Crash reports
CHIT_CHAT        885   (0.2%)  - Community messages

API Response Example

The /api/events endpoint returns data like this:

{
  "events": [
    {
      "id": "eu_12345",
      "username": "driver_abc123",
      "latitude": 52.3676,
      "longitude": 4.9041,
      "timestamp": "2026-01-24T10:30:00+00:00",
      "report_type": "POLICE",
      "subtype": "POLICE_VISIBLE",
      "region": "europe",
      "grid_cell": "amsterdam"
    }
  ],
  "total": 1
}

Coverage Statistics

The collector scans 8,656 grid cells across 5 continents:

Region Cities (P1) Coverage (P3) Total Cells
Europe 477 1,748 2,225
Americas 693 1,692 2,385
Asia 684 1,517 2,201
Oceania 216 481 697
Africa 315 833 1,148
Total 2,385 6,271 8,656

CLI Output Sample

$ waze start -b
Collector started in background
Web UI available at http://localhost:5000
Use 'waze logs' to watch output or 'waze stop' to stop

$ waze logs
[14:32:15] + POLICE       @  40.41680,   -3.70380 - user_a1b2c3d4
[14:32:17] + JAM          @  48.85660,    2.35220 (JAM_HEAVY_TRAFFIC) - driver_x7y8z9
[14:32:19] + HAZARD       @  51.50740,   -0.12780 (HAZARD_ON_ROAD) - london_user_42

Metadata

Release files for waze-logs 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for waze-logs 1.2.2
File Size Uploaded Provenance Actions
waze_logs-1.2.2.tar.gz 51.3 kB Without provenance Details for waze_logs-1.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for waze-logs 1.2.2
File Interpreter ABI Platform Actions
waze_logs-1.2.2-py3-none-any.whl Python 3 none any Details for waze_logs-1.2.2-py3-none-any.whl

Total release size: 103.5 kB

Release files / waze_logs-1.2.2.tar.gz

Download URL waze_logs-1.2.2.tar.gz
Size 51.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d2550cb2e44693c47d1e843549cb068a90b71de43cf22019b3d4b0050d32f3f0
BLAKE2b-256 checksum
How to use checksums
647034ff2858d07b00ad67ebac9f4f766da4e5983a293651db8f49247f39d0ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / waze_logs-1.2.2-py3-none-any.whl

Download URL waze_logs-1.2.2-py3-none-any.whl
Size 52.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0481fc3f3f048fff73c6d200a00f7e743fbb77e76d9255012870d72413699954
BLAKE2b-256 checksum
How to use checksums
d172c5abea8a2a3f5aa066138add4edd4f8cce5b3674fb75a1db63da1d5a81e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Security for waze-logs 1.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page