Cloak by Praxis
Chat with cloud LLMs while a local model swaps your PII out before the prompt leaves your machine — and rehydrates the answer back to your real entities.
The idea
Every time you ask a cloud AI about something personal — a city you're moving to, a company you work for, a name — you're sending that data to an external server. Cloak intercepts each prompt, runs a local PII detector, replaces sensitive entities with realistic stand-ins (not [REDACTED] — actual fake names and cities), sends the scrubbed prompt to the cloud, then maps the answer back to your real entities before you see it.
The round-trip substitution is the differentiator: the cloud model sees a coherent, answerable prompt; you get a useful, real answer; and the actual PII never left your device.
This is disclosure control, not a privacy guarantee. The pipeline reduces PII exposure significantly — but a determined adversary with enough queries could still reconstruct context. The goal is to make routine LLM use substantially less leaky, without sacrificing answer quality.
Quickstart
Prerequisites: Ollama installed and running.
# 1. Install Ollama (if not already):
# https://ollama.com/download
# 2. Clone and launch:
git clone https://github.com/praxis-society/praxis-cloak.git
cd praxis-cloak
./scripts/run.sh
run.sh will:
- Download
praxis/spanfinder-3b and praxis/relevance-3b from HuggingFace and build them into Ollama locally (first run only, ~3.8 GB total — no Ollama account needed)
- Create a Python virtual environment and install dependencies
- Build the frontend (requires Node; skipped if
npm is not found)
- Start the local server at
http://127.0.0.1:8765 and open it in your browser
Settings: Paste your Anthropic or OpenAI API key in Settings to route scrubbed prompts through your preferred provider.
Models
| Model | Weights | Size (q4_k_m) | Role |
|---|
praxis/spanfinder-3b | HuggingFace | ~1.8 GB | Detects PII spans in the prompt |
praxis/relevance-3b | HuggingFace | ~1.8 GB | Decides which detected entities to scrub vs. keep (needed to answer the question) |
run.sh downloads these GGUFs from HuggingFace and builds them into Ollama for you (the relevanc