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 writenetwork_enforced=truefor 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.