Skip to main content

antguard

Guard, Detect, Protect.
Pure system-level profiler for AI data privacy. Like cProfile, but for data movement.

PyPI License Open In Colab

No AI, No API, No cloud, No regex, Works offline, Works air-gapped.

Install

pip install antguard

For NVIDIA GPU monitoring:

pip install antguard[gpu]

Quick Start

from antguard import Guard

# Context manager (recommended)
with Guard(watch=["./data/"]) as g:
    # your code runs here - completely unchanged
    agent.run("process confidential.pdf")

# The one answer that matters
print(g.did_data_leave())  # True or False

# Save reports
g.save("./logs/")  # creates .log + .txt + .json

What It Monitors

Layer What How
File Every read, write, copy, move, delete watchdog + SHA256 fingerprinting
Network Every outbound connection, bytes sent psutil network polling
Process Process creation, shell commands, suspicious binaries psutil process tree
Correlation Match file bytes to outbound network data Chunk hash + size + temporal
Runtime CPU, GPU, memory, disk I/O psutil + pynvml (optional)

How It Works

arc

antguard wraps your code from the outside. It never reads file contents. It tracks data flow by fingerprinting files and correlating byte movement.

API

from antguard import Guard

guard = Guard(
    watch=["./data/"],           # directories to monitor
    detect_outbound=True,        # network monitoring
    track_processes=True,        # process tree monitoring
    correlate=True,              # byte-flow correlation
    runtime=True,                # CPU/GPU/memory metrics
    gpu=True,                    # GPU monitoring
    log_path="./logs/",          # log output directory
)

guard.start()
# ... your code ...
guard.stop()

# Query results
guard.did_data_leave()       # bool
guard.file_events()          # list of file events
guard.net_events()           # list of network events
guard.proc_events()          # list of process events
guard.correlations()         # file-to-network matches
guard.matched_files()        # files found in outbound data
guard.runtime_metrics()      # CPU, GPU, memory summary
guard.risk_level()           # LOW / MEDIUM / HIGH / CRITICAL
guard.anomalies()            # runtime anomalies
guard.data_flow_map()        # full byte flow visualization
guard.save("./logs/")        # write reports
guard.summary()              # one-line summary

Report Output

Text report (antguard_report_*.txt):

antguard Profiler Report
==================================================
Session    : a1b2c3d4
Platform   : Linux (6.5.0)
Duration   : 12.3 seconds

DATA LEFT SYSTEM: NO

-- FILE EVENTS (2) --
  [MODIFY  ] ./data/salary.pdf  240.0 KB  python(pid 4521)  LOW
  [CREATE  ] ./output/summary.txt  1.0 KB  python(pid 4521)  LOW

-- NETWORK EVENTS (0) --
  None

-- PROCESS EVENTS (3 total, 0 suspicious) --
  All processes normal

-- BYTE-FLOW CORRELATIONS (0) --
  No file-to-network correlations detected

-- RUNTIME METRICS (12 samples) --
  CPU avg/peak    : 35.2% / 72.1%
  Memory avg/peak : 8.2 GB / 8.5 GB
  Process RSS     : 156.0 MB avg, 189.0 MB peak
  GPU             : not detected

==================================================
OVERALL RISK: LOW
==================================================

Cross-Platform

Component Windows Linux macOS
File monitoring ReadDirectoryChangesW inotify FSEvents
Network monitoring WMI /proc/net lsof
Process monitoring Windows API /proc sysctl
GPU (NVIDIA) pynvml pynvml N/A
CPU/Memory psutil psutil psutil

Demos

Demo What it shows
Full Audit All features combined — the showcase demo
Exfiltration Detection Catches data sent to external server
File Monitoring File tracking + SHA256 fingerprinting
Suspicious Process Shell and subprocess detection
Runtime Metrics CPU, GPU, memory profiling
Wrap Any Library Zero code changes — cProfile pattern

Google Colab: Open quickstart notebook

Dependencies

Core: watchdog + psutil (that's it)

Optional: pynvml (NVIDIA GPU metrics)

Memory Footprint

< 25 MB RAM regardless of session length. Events stream to disk.

Part of the Ant Intelligence Ecosystem

  • antguard - Guard. Detect. Protect. (system profiler)
  • llmevalkit - Evaluate. Score. Improve. (AI evaluation)
  • Together: full AI system audit

License

Apache 2.0

Author

Venkatkumar Rajan

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

antguard-0.1.1.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

antguard-0.1.1-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file antguard-0.1.1.tar.gz.

File metadata

  • Download URL: antguard-0.1.1.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.0

File hashes

Hashes for antguard-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e10bed708ca6139c535e14c9a97dac1e0dba07baee1653bf8e9ed74ad2258aba
MD5 91e3171f7b930136e75ebd50d9bedcce
BLAKE2b-256 cd99aa9597717aaa46a481b06841fa14def6ce7392c5264d4cc6f83bad8da2b1

See more details on using hashes here.

File details

Details for the file antguard-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: antguard-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.0

File hashes

Hashes for antguard-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d8f279bebf32e8e8d9e232f900429b2544e934ee41cd2945518935f71a935aa4
MD5 07c187371b091ba7d0a509e1327b7da5
BLAKE2b-256 b7f9f3d2ea94449f27b4008cff41c42c5620ec4e43eb9ad479c5527e83047768

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page