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.0.tar.gz (24.9 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.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: antguard-0.1.0.tar.gz
  • Upload date:
  • Size: 24.9 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.0.tar.gz
Algorithm Hash digest
SHA256 b3ed7e7f6b095c49d9976ad81ea3fdfa59d5a1de91778ba2c4a7ede0fed06335
MD5 865876076efd7b9dc4517701e5d75177
BLAKE2b-256 602b4737278511b3843caa4df93541c6f9b747154c619410a01b32ecb03b3aa3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: antguard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e1fbdb68345ed79e137f5d8183787186bad83ef0f66c6d70ae18682340d0f70
MD5 44e23e417d2cc49df1b2dea156a8cd33
BLAKE2b-256 9219c43d88b346067f6456a9fb5915da89d0104bcf0667ca210aab20aed1bda2

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

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