Observed since 20 Oct, 15:02 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Zero-Knowledge AI Security Middleware for Agents and IDEs
0Pirate is a local proxy that sits between your development environment and frontier AI models. It removes credentials, replaces proprietary business logic with structural placeholders, sends the sanitized code to the AI provider, and restores the original code locally when the response arrives.
Engineering teams face a direct trade-off between AI coding performance and code privacy:
Running local open-weight models through tools like Ollama keeps data on your machine, but smaller models (7B to 70B) cannot match the reasoning, context tracking, and multi-file refactoring abilities of frontier cloud models. For complex system design and hard bugs, local models often slow developers down.
Sending unredacted code to third-party endpoints creates exposure risks across three areas:
Standard data loss prevention filters and regex rules treat code like plain text:
0Pirate runs entirely on your local machine or private network:
0Pirate runs as a local Model Context Protocol (MCP) server. When an agent in Cursor or Claude Code requests project context, 0Pirate intercepts the file read, redacts the contents, and returns the safe version.
Add 0Pirate to your Cursor or Claude Desktop configuration file:
{
"mcpServers": {
"0pirate-secure-proxy": {
"command": "python3",
"args": ["/path/to/0pirate/cli/mcp_server.py"]
}
}
}
Once configured, the agent reads and writes code through the proxy without exposing your underlying secrets or proprietary identifiers.
Run the local stack:
# Clone the repository
git clone https://github.com/Arunmadhavan28/0pirate.git
cd 0pirate
# Set up environment variables
cp .env.example .env
# Start local services
docker-compose up -d
# Install CLI and pre-commit hook
cd cli
pip install -r requirements.txt
python main.py install-hook
Services:
This project is licensed under the MIT License.
pypistats · 42 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 5 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-18 – 2026-10-18 | 2 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-17 – 2026-10-17 | 40 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-16 – 2026-10-16 | 5 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-15 – 2026-10-15 | 11 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-14 – 2026-10-14 | 6 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-13 – 2026-10-13 | 4 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-12 – 2026-10-12 | 12 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-11 – 2026-10-11 | 28 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-10 – 2026-10-10 | 160 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-09 – 2026-10-09 | 5 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-08 – 2026-10-08 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-07 – 2026-10-07 | 3 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-06 – 2026-10-06 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-05 – 2026-10-05 | 10 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-04 – 2026-10-04 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-03 – 2026-10-03 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-02 – 2026-10-02 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-10-01 – 2026-10-01 | 2 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-30 – 2026-09-30 | 4 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-29 – 2026-09-29 | 3 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-28 – 2026-09-28 | 9 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-27 – 2026-09-27 | 2 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-26 – 2026-09-26 | 9 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-25 – 2026-09-25 | 8 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-24 – 2026-09-24 | 7 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-23 – 2026-09-23 | 11 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-22 – 2026-09-22 | 3 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-21 – 2026-09-21 | 16 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-20 – 2026-09-20 | 12 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-19 – 2026-09-19 | 4 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-18 – 2026-09-18 | 22 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-17 – 2026-09-17 | 3 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-16 – 2026-09-16 | 14 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-15 – 2026-09-15 | 27 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-14 – 2026-09-14 | 6 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-13 – 2026-09-13 | 1 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-12 – 2026-09-12 | 8 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-11 – 2026-09-11 | 3 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-10 – 2026-09-10 | 12 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-09 – 2026-09-09 | 34 | 2026-10-20T18:30:17.4214253Z |
| 2026-09-08 – 2026-09-08 | 511 | 2026-10-20T18:30:17.4214253Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.1 | 10 Oct 2026 | 11 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 15:02 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1eab768d00ad7ca217f28346db942221fd27e93f771731f39322b50ea961fad4