Skip to main content

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

Metadata

Release files for oneport-debug-local 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oneport-debug-local 0.2.0
File Size Uploaded Provenance Actions
oneport_debug_local-0.2.0.tar.gz 18.4 kB Without provenance Details for oneport_debug_local-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oneport-debug-local 0.2.0
File Interpreter ABI Platform Actions
oneport_debug_local-0.2.0-py3-none-any.whl Python 3 none any Details for oneport_debug_local-0.2.0-py3-none-any.whl

Total release size: 42.1 kB

Release files / oneport_debug_local-0.2.0.tar.gz

Download URL oneport_debug_local-0.2.0.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
88352f0ef539fa8df4419a2a02d327769ad53cff84d005b2c3ae9b8ca55cf001
BLAKE2b-256 checksum
How to use checksums
9712615328e651e8eb575316e736f60076656bf5e1ecace84ee1601e86e270ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Release files / oneport_debug_local-0.2.0-py3-none-any.whl

Download URL oneport_debug_local-0.2.0-py3-none-any.whl
Size 23.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4583becf1ed746779187c9ec59d8a425e3332eaae90efdc0d13950da738d82cb
BLAKE2b-256 checksum
How to use checksums
c94eb1acf5e5833f834c037804e187f92b1a96f30525b3b40093f22860bfc590
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Security for oneport-debug-local 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page