explaingit

praxis-society/praxis-cloak

Analysis updated 2026-05-18

55PythonAudience · vibe coderComplexity · 3/5LicenseSetup · moderate

TLDR

A local privacy layer that swaps personal details out of your prompts before sending them to a cloud AI, then maps the answer back.

Mindmap

mindmap
  root((praxis-cloak))
    What it does
      Detect PII locally
      Substitute fake entities
      Rehydrate the answer
    Tech stack
      Python FastAPI
      React frontend
      Ollama plus Qwen models
    Use cases
      Private cloud chat
      Local privacy layer
      PII research
    Audience
      Privacy conscious users
    Setup
      Install Ollama
      Run run.sh
      Add cloud API key

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Chat with Claude or ChatGPT while personal names and locations are hidden from the cloud provider.

USE CASE 2

Run a local privacy layer in front of any cloud AI chat you already use.

USE CASE 3

Study how on device models can detect and substitute sensitive entities in text.

What is it built with?

PythonFastAPIReactOllamaQwen

How does it compare?

praxis-society/praxis-cloakbhartiyashesh/purelymailcalendarbiao994/docpaws
Stars555555
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/54/53/5
Audiencevibe codergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Ollama installed and downloads about 3.8 GB of local models on first run.

MIT for the source code: free to use, modify, and share. The included AI model files use a separate non commercial research license.

In plain English

Cloak is a privacy tool that sits between you and a cloud based AI chat service like Claude or ChatGPT, designed to keep personal details out of what actually gets sent over the internet. Every time you type a message, a small AI model running locally on your own computer first scans it for personal information such as names, cities, or company names, swaps those pieces out for realistic but fake replacements, sends that cleaned up version to the cloud AI, and then maps the fake names back to your real ones in the answer before showing it to you. The key idea is that the substitution uses believable fake stand ins rather than blanks or the word redacted, because a cloud model can still answer coherently about "a city you are moving to" style questions when it sees a plausible fake city name, whereas a blank placeholder breaks the sentence and produces a worse answer. The project is upfront that this reduces how much personal information leaves your device without guaranteeing complete privacy. A determined attacker who asked enough different questions could potentially piece together clues over time, so this is about meaningfully lowering everyday exposure, not offering an absolute guarantee. Two small local AI models do the actual detection work: one finds spans of text that look like personal information, and a second decides which of those detected pieces are safe to swap out versus which ones are actually needed to answer the question correctly, so a relevant detail is not accidentally hidden from the cloud model. Both are small fine tuned versions of an open Qwen language model, run locally through Ollama, a tool for running AI models on your own machine. To use it you need Ollama installed, then a single setup script downloads the two small models, sets up a local Python environment, builds the web interface, and starts a local server you access through your browser. You paste your own Anthropic or OpenAI API key into the app's settings so it can route your scrubbed messages to whichever cloud provider you prefer. The source code is released under the MIT license, while the fine tuned model files carry a separate non commercial research license from the underlying Qwen model, meaning commercial use of those specific model weights needs a separate license from Alibaba Cloud.

Copy-paste prompts

Prompt 1
Set up praxis-cloak with Ollama and connect it to my Anthropic API key.
Prompt 2
Explain how praxis-cloak decides which detected entities to scrub versus keep.
Prompt 3
Walk me through what run.sh downloads and configures on first launch.
Prompt 4
Show me the difference between the spanfinder-3b and relevance-3b models in this project.

Frequently asked questions

What is praxis-cloak?

A local privacy layer that swaps personal details out of your prompts before sending them to a cloud AI, then maps the answer back.

What language is praxis-cloak written in?

Mainly Python. The stack also includes Python, FastAPI, React.

What license does praxis-cloak use?

MIT for the source code: free to use, modify, and share. The included AI model files use a separate non commercial research license.

How hard is praxis-cloak to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is praxis-cloak for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.