Skip to main content

Air-gapped AI debugger for banking, healthcare, and defense: runs entirely on-premise via Ollama/vLLM/llama.cpp with network enforcement to guarantee zero data exfiltration

Project description

oneport-debug-local

Air-gapped AI debugger for regulated industries. Banks, hospitals, and defense shops forbid sending any code or logs to external APIs — so Claude Code and ChatGPT are blocked at the firewall, and developers get no AI debugging. oneport-local runs a debugging agent entirely on-premise against your own Ollama / vLLM / llama.cpp model, enforces the air-gap with iptables, and writes a tamper-evident audit trail that proves zero data left the network.

Try it in 60 seconds (no GPU, no model, no API key)

pip install oneport-debug-local
oneport-local demo

The demo runs the real debugging agent against a materialized buggy repo (driven by a bundled offline model), shows the real iptables rules that would seal the network, and writes + verifies a real hash-chained audit entry:

Air-gap compliance preflight
  iptables -A OUTPUT -j DROP
  iptables -I OUTPUT -d localhost -p tcp --dport 11434 -j ACCEPT
  ...
✔ provider=local-inference  ·  hash chain intact

Use it on your own code + on-prem model

export ONEPORT_MODE=local
export LOCAL_INFERENCE_URL=http://localhost:11434       # Ollama, vLLM, or llama.cpp
export LOCAL_INFERENCE_MODEL=deepseek-coder:6.7b

oneport-local debug src/payment/charge.py --error-log /var/log/app.log

The agent reads local files, greps, and runs tests in the workspace — talking only to your local model. It never makes any other network call.

Seal the network (provable air-gap)

sudo -E oneport-local debug src/ --error-log app.log --enforce-network

--enforce-network applies iptables OUTPUT rules that DROP all outbound traffic except the allowlisted local inference endpoint, then removes them when done.

Honesty by design: enforcement requires Linux + root. On any other host the tool records enforcement_status=skipped:* and prints a warning — it will never write network_enforced=true for an air-gap it didn't actually seal. The audit log always reflects what really happened.

Prove compliance

Every analysis writes a hash-chained entry to the audit log. Verify it anytime:

oneport-local verify-compliance --log /var/log/oneport-debug/audit.jsonl

This checks (a) every session used local inference only — any cloud provider is a violation — and (b) the hash chain is intact, so any edit, deletion, or insertion of a past entry is detected. Required for SOX §404, HIPAA §164.312(b), PCI-DSS 10.5, ISO 27001 A.12.4.

oneport-local models --server http://localhost:11434   # list available local models

Configuration

Variable Meaning
ONEPORT_MODE=local Forces local inference; never falls back to cloud
LOCAL_INFERENCE_URL Ollama/vLLM/llama.cpp endpoint (must be in the host allowlist)
LOCAL_INFERENCE_MODEL Model name, e.g. deepseek-coder:6.7b
AUDIT_LOG_PATH Where the hash-chained audit trail is written
AUDIT_HMAC_KEY Signing key for the audit chain (set this in production)

The local-inference provider refuses to connect to any non-allowlisted host — a misconfigured URL fails closed rather than silently reaching the internet.

Why an agent, not just a prompt

The agent guards its own sandbox: file reads are confined to the workspace (path traversal is blocked), and destructive commands (rm, git push, curl, pip install, …) are refused. It's built to run unattended inside a regulated network.

License

Apache-2.0

Project details


Download files

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

Source Distribution

oneport_debug_local-0.2.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

oneport_debug_local-0.2.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file oneport_debug_local-0.2.0.tar.gz.

File metadata

  • Download URL: oneport_debug_local-0.2.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.0

File hashes

Hashes for oneport_debug_local-0.2.0.tar.gz
Algorithm Hash digest
SHA256 88352f0ef539fa8df4419a2a02d327769ad53cff84d005b2c3ae9b8ca55cf001
MD5 f8ae51528ff341a0d03acd2b39802ffd
BLAKE2b-256 9712615328e651e8eb575316e736f60076656bf5e1ecace84ee1601e86e270ff

See more details on using hashes here.

File details

Details for the file oneport_debug_local-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oneport_debug_local-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4583becf1ed746779187c9ec59d8a425e3332eaae90efdc0d13950da738d82cb
MD5 67ee8527447d102549486b49a3f392dd
BLAKE2b-256 c94eb1acf5e5833f834c037804e187f92b1a96f30525b3b40093f22860bfc590

See more details on using hashes here.

Supported by

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