Cloak is an open-source proxy that replaces personally identifiable information (PII) in your prompts with realistic fake entities before sending them to cloud LLMs, then restores the real entities in the answer, all without your actual PII ever leaving your device.

Stars

57

7-day growth

No data

Forks

5

Open issues

0

License

NOASSERTION

Last updated

2026-06-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It performs round-trip substitution with realistic stand-ins (not redaction) and uses a two-stage local model pipeline (span detection + relevance filtering) to preserve answer quality while minimizing PII exposure.

Who it is for

  • Privacy-conscious professionals using cloud LLMs for work or personal queries
  • Developers building applications that need to anonymize user data before calling external AI APIs
  • Organizations handling sensitive data who want to reduce PII leakage without sacrificing answer quality
  • Researchers or enthusiasts exploring disclosure control techniques in LLM usage

Use cases

  • Discussing personal relocation plans (cities, companies) with a cloud AI without sharing real names or locations
  • Asking about medical or financial details while keeping specific entity names private
  • Anonymizing internal business data before using third-party LLM services for analysis
  • Testing privacy-preserving LLM workflows in a local development environment

Strengths

  • Realistic fake substitution improves cloud model reasoning over simple redaction
  • Relevance model avoids over-scrubbing by keeping entities necessary for answering
  • Local PII detection runs offline; only scrubbed prompts leave the device
  • Supports both Anthropic and OpenAI through a configurable API key setting

Considerations

  • Not a privacy guarantee—a determined adversary with many queries could reconstruct context (disclosure control, not anonymization)
  • Requires Ollama and local model downloads (~3.8 GB for default quantized models) increasing setup complexity
  • Model artifacts are under a non-commercial license (Qwen Research License); commercial use requires separate licensing

README quick start

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

ModelWeightsSize (q4_k_m)Role
praxis/spanfinder-3bHuggingFace~1.8 GBDetects PII spans in the prompt
praxis/relevance-3bHuggingFace~1.8 GBDecides 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

Description

On-device PII scrub + rehydration for cloud LLMs — chat with Claude/GPT while a local model swaps your PII out before the prompt is sent, then maps the answer back to your real entities. Built with Qwen.

Related repositories

Similar projects matched by category, topics, and programming language.

lopopolo
Featured
lopopolo GitHub avatar

harness-engineering

Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.

AI & Machine LearningAI Agents
2,390
slvDev
Featured
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI & Machine LearningLarge Language Models
1,960
littledivy
Featured
littledivy GitHub avatar

mimic

mimic captures traffic from any iOS or web app and automatically generates a Python client library that lets you call the app's API like a regular library.

AI & Machine Learning
1,482