GeoWatch Tower is a cryptographic geolocation verification and behavioral anomaly detection framework. It generates tamper-proof GeoProofs from device data, validates identity authenticity through per-user DNA Honeypots, and records verified proofs on a public Witness Ledger using Zero-Knowledge Proofs and Merkle hashing.
Here is the GeoWatch Tower MVP Orientation video: GeoWatch Tower (G | W | T)
GeoWatch Tower™ operates at the intersection of:
- User & Entity Behavior Analytics (UEBA)
- Zero Trust Identity
- Cryptographic Verifiability
- Open Threat Intelligence
creating a new category: Verifiable Digital Presence (VDP).
| Feature | Description |
|---|---|
| GeoProof Engine | Generates signed cryptographic proofs of geolocation using Ed25519 keys |
| DNA Honeypots | Invisible behavioral traps per user to detect bots or identity fraud |
| Public Witness Ledger | Tamper-proof proof registry using Merkle Trees and Zero-Knowledge Proofs |
| Impossible Travel Detection | Detects anomalies in user travel using ML and graph clustering |
| On-Device Security | Proofs generated locally with secure enclave or WebAuthn integration |
| IPFS & Blockchain Ready | Can push validated proofs to decentralized ledgers for transparency |
| Category | Technologies Used |
|---|---|
| Language | Python 3.x |
| Cryptography | cryptography, py-ed25519, pyzeroknp |
| Machine Learning | scikit-learn, pandas, networkx |
| Geospatial Processing | geopy, requests |
| Storage / Ledger | ipfshttpclient, neo4j |
| Data Handling | uuid, json, dataclasses |
git clone https://github.com/SakaethRam/GeoWatchTower.git
cd GeoWatch-Towerpip install -r requirements.txtOr install manually:
pip install neo4j geopy requests scikit-learn pandas networkx cryptography ipfshttpclient py-ed25519 pyzeroknpjupyter notebook "GeoWatch Tower (v1.0).ipynb"FROM python:3.10-slim
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir \
neo4j geopy requests scikit-learn pandas networkx cryptography ipfshttpclient py-ed25519 pyzeroknp
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--allow-root", "--NotebookApp.token=''", "--NotebookApp.password=''"]docker build -t geowatch-tower .docker run -p 8888:8888 geowatch-towerGeoWatch-Tower/
│
├── GeoWatch Tower (v1.0).ipynb # Main executable notebook
├── requirements.txt # Dependencies list
├── Dockerfile # Container setup
│
├── core/
│ ├── geoproof.py # Cryptographic GeoProof engine (Ed25519)
│ ├── honeypot.py # DNA Honeypot logic
│ ├── anomaly_detector.py # ML model for travel anomaly detection
│ └── ledger.py # Merkle + ZKP ledger integration
│
└── utils/
├── geo_utils.py # GeoIP & distance utilities
└── visualization.py # NetworkX-based cluster visualization
Architecture Overview
┌────────────────────────┐
│ User Device / Node │
└──────────┬─────────────┘
│
(GeoProof)
│
┌──────────▼─────────────┐
│ GeoWatch Engine (ML) │
└──────────┬─────────────┘
│
(Merkle + ZKP)
│
┌──────────▼─────────────┐
│ Public Witness Ledger │
└────────────────────────┘
Scenario: An enterprise platform wants to prevent account takeovers by verifying that login requests originate from legitimate, geographically consistent devices. GeoWatch Tower ensures each access event carries a signed GeoProof bound to the device, preventing impersonation, spoofing, and synthetic identity attacks.
- Proof Generation The device captures GPS/IP data and generates a signed proof using Ed25519.
- DNA Honeypot Injection Per-user honeypots are deployed to detect automation and mimicry attacks.
- Anomaly Detection Travel and access events are analyzed using ML and graph models to detect impossible travel or correlated fraud.
- Ledger Validation Valid proofs are recorded to a public Witness Ledger using Merkle Trees and ZK Proofs.
- Audit & Visualization Administrators can query the Neo4j/Graph DB to visualize behavioral clusters and anomaly risk.
Contributions are welcome. Please fork the repository, make your changes, and submit a pull request. Ensure that all code is properly documented and tested.
To contribute:
- Fork the repository.
- Create a feature branch.
- Implement your changes.
- Submit a pull request with a clear description of modifications.
© 2025 GeoWatch Tower | Secure ARKIN X Standard v1.0
