Skip to content

d3mocide/Sovereign_Watch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

519 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sovereign Watch Logo

Sovereign Watch

Distributed Multi-INT Fusion Center

Release Status License Docker

A self-hosted, edge-to-cloud intelligence platform for high-velocity telemetry (ADS-B, AIS, Orbital) and OSINT fusion.
It enforces data sovereignty by running on local hardware, utilizing a "Pulse" architecture and "Tiered AI" cognition.


Screenshots

Tactical Map View

Sovereign Watch - Tactical Map

Orbital Tracking

Sovereign Watch - Orbital Map

JS8CALL Terminal

Sovereign Watch - JS8CALL Terminal

Global Map Filters and Layers

Sovereign Watch - Global Map Filters and Layers

Dashboard View

Sovereign Watch - Dashbaord View


Quick Start

# 1. Clone & configure
git clone https://github.com/d3mocide/Sovereign_Watch.git
cd Sovereign_Watch
cp .env.example .env
# Edit .env — see Documentation/Configuration.md for all variables

# 2. Boot
docker compose up -d --build

# 3. Access
#   Tactical Map: http://localhost
#   API Docs:     http://localhost/api/docs

Minimum config required in .env:

CENTER_LAT=45.5152        # Your monitoring area
CENTER_LON=-122.6784
AISSTREAM_API_KEY=...     # Free at aisstream.io (maritime data)
VITE_MAPBOX_TOKEN=...     # mapbox.com (optional — for 3D terrain)
ANTHROPIC_API_KEY=...     # For AI track analysis (optional)

Documentation

Full documentation is in the Documentation/ folder:

Guide Description
Deployment & Upgrade Guide Install, run, upgrade, troubleshoot
Configuration Reference All .env variables
ADS-B Poller Aviation data ingestion
AIS Maritime Poller Maritime data ingestion
Orbital Pulse Satellite tracking
Infra Poller Internet outages + submarine cables
RF Pulse RF repeaters + NOAA weather radio
TAK Protocol Reference Internal message schema (CoT/Protobuf)
API Reference REST endpoints + WebSocket
UI User Guide How to use the Tactical and Orbital maps
AI Configuration How to configure the AI models

Architecture

graph TD
    subgraph "Entry Point (Nginx)"
        NG[Reverse Proxy :80]
    end

    subgraph "Ingestion (Python Pollers)"
        A[ADS-B Network] -->|JSON| B(Ingestion Services)
        C[AIS Stream] -->|JSON| B
        Z[Orbital TLE Feed] -->|TLE| B
        H3[H3 Coverage: Live Poller Pulse] -->|JSON| B
        JS[Sovereign JS8Call] -->|UDP Bridge| B
        RF[RF Pulse: ARD/NOAA/RepBook/RadioRef] -->|REST API/SOAP| B
        IN[Infra Poller: IODA/Cables] -->|REST API| B
        B -->|TAK JSON| D(Redpanda Bus)
    end

    subgraph "State & Persistence"
        D -->|Stream| E[(TimescaleDB)]
        RS[(Redis Cache)]
        B -->|Cache| RS
    end

    subgraph "Cognition (LiteLLM)"
        G[Fusion API] -->|Query| H{AI Router}
        H -->|Tier 1| I[Local Llama3]
        H -->|Tier 3| CL[Claude]
    end

    subgraph "Presentation (React + Deck.gl)"
        FE[MainHUD Shell] --> L[Intelligence Feed]
        FE --> M[Projective Velocity Blending]
        M -->|WebGL 3D| N[Mapbox / MapLibre Overlay]
        FE --> SYS[System Settings Widget]
        FE --> INF[Infrastructure Layers]
    end

    NG -->|/| FE
    NG -->|/api/| G
    NG -->|/js8/| JS
    G -->|Read Cache| RS
Loading

Data Sources

All upstream data is sourced from public, open-access networks.

Domain Source Update Rate
Aviation (ADS-B) adsb.fi, adsb.lol, airplanes.live Every 2–30 seconds
Maritime (AIS) AISStream.io WebSocket Event-driven (real time)
Orbital Celestrak TLE + SGP4 propagation Every 5 seconds
Internet Outages IODA (Georgia Tech) Every 30 minutes
Submarine Cables TeleGeography Every 24 hours
RF Infrastructure RepeaterBook, ARD, NOAA NWR, RadioReference Every 6–168 hours
WebSDR Global Network Discovery (on-demand)

⚠️ Disclaimer

Important

Sovereign Watch ingests telemetry and intelligence from public, open-source networks (e.g., ADS-B, AIS, public API feeds). All data is strictly derivative of these unencrypted, publicly broadcasted signals.

Warning

All data is provided "AS IS" without any warranty of accuracy, reliability, or completeness. The developers assume no responsibility for decisions taken based on the intelligence presented. Sovereign Watch is designed purely for research, educational, and hobbyist data fusion purposes.


AI Agent Protocol

This repository is Agent-Aware. Read AGENTS.md before contributing.

  • All inter-service data must adhere to the TAK Protocol — see TAK Protocol Reference
  • Follow the "Sovereign Glass" design principles for all UI modifications
  • Never run commands directly on the host — use Docker Compose

Contributing

Pull requests are welcome. Please review AGENTS.md and the Documentation before contributing.

  • Issues: Use the GitHub issue tracker for bugs and feature requests
  • PRs: Include a clear description; AI agent contributions must align with AGENTS.md

Tech Stack

Docker · FastAPI · React · Deck.gl · MapLibre GL JS · Mapbox GL JS · TimescaleDB · Redpanda · Celestrak · JS8Call · KiwiSDR


Sovereign Watch © 2026
Maintained by d3FRAG Networks & The Antigravity Agent Team.

Back to Top