Restructure docs around use cases (#66)
authorStefan Gasser <redacted>
Sat, 31 Jan 2026 21:50:00 +0000 (22:50 +0100)
committerGitHub <redacted>
Sat, 31 Jan 2026 21:50:00 +0000 (22:50 +0100)
* Restructure docs around use cases

Replace the single Integrations page with four dedicated use case pages
(Browser Extension, Coding Tools, Apps & SDKs, Self-Hosted) so each
audience has a clear path through the docs.

- Rewrite introduction around four user contexts with cards
- Simplify quickstart to be tool-neutral
- Add Use Cases navigation group in mint.json
- Update README links to point to new docs pages
- Replace demo.gif with comparison.png
- Remove duplicate h1 headings (Mintlify renders frontmatter title)
- Remove Copilot from platform lists per positioning doc

* Sync docs and README with website messaging

- Update tagline to "AI gets the context. Not your secrets."
- Add trust statement and detection stats (30+ types, 24 languages)
- Rename use cases to match website: Chat, Apps, Coding Tools, API Integration
- Reorder use cases consistently across docs and README
- Replace comparison image with refined rose/teal design
- Add light/dark mode image support for GitHub and Mintlify

* Improve dark mode text contrast in comparison image

30 files changed:
README.md
assets/comparison-dark.png [new file with mode: 0644]
assets/comparison.png [new file with mode: 0644]
assets/demo.gif [deleted file]
docs/api-reference/anthropic.mdx
docs/api-reference/dashboard-api.mdx
docs/api-reference/mask.mdx
docs/api-reference/openai.mdx
docs/api-reference/status.mdx
docs/concepts/mask-mode.mdx
docs/concepts/pii-detection.mdx
docs/concepts/route-mode.mdx
docs/concepts/secrets-detection.mdx
docs/configuration/logging.mdx
docs/configuration/overview.mdx
docs/configuration/pii-detection.mdx
docs/configuration/providers.mdx
docs/configuration/secrets-detection.mdx
docs/images/comparison-dark.png [new file with mode: 0644]
docs/images/comparison-light.png [new file with mode: 0644]
docs/images/demo.gif [deleted file]
docs/installation.mdx
docs/integrations.mdx [deleted file]
docs/introduction.mdx
docs/mint.json
docs/quickstart.mdx
docs/use-cases/api-integration.mdx [new file with mode: 0644]
docs/use-cases/apps.mdx [new file with mode: 0644]
docs/use-cases/chat.mdx [new file with mode: 0644]
docs/use-cases/coding-tools.mdx [new file with mode: 0644]

index bcfd14f8819beb28585d3100cb41993785ba4524..b0e6679ed1ef6c35ca9e50324182db83bcf9a549 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,84 +1,74 @@
 <p align="center">
-  <img src="assets/wordmark-light.svg" width="220" height="44" alt="PasteGuard">
+  <picture>
+    <source media="(prefers-color-scheme: dark)" srcset="assets/wordmark-dark.svg">
+    <source media="(prefers-color-scheme: light)" srcset="assets/wordmark-light.svg">
+    <img src="assets/wordmark-light.svg" width="220" height="44" alt="PasteGuard">
+  </picture>
 </p>
 
 <p align="center">
   <a href="https://github.com/sgasser/pasteguard/actions/workflows/ci.yml"><img src="https://github.com/sgasser/pasteguard/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
   <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
+  <a href="https://github.com/sgasser/pasteguard/releases"><img src="https://img.shields.io/github/v/release/sgasser/pasteguard" alt="Release"></a>
 </p>
 
 <p align="center">
-  Privacy proxy for OpenAI and Anthropic. Masks personal data and secrets before they reach the API.
+  <strong>AI gets the context. Not your secrets.</strong><br>
+  Automatically hides names, emails, and API keys before you send prompts to AI.
 </p>
 
 <p align="center">
   <a href="#quick-start"><strong>Quick Start</strong></a> ·
-  <a href="https://pasteguard.com/docs"><strong>Documentation</strong></a> ·
-  <a href="https://pasteguard.com/docs/integrations"><strong>Integrations</strong></a>
+  <a href="#chat"><strong>Chat</strong></a> ·
+  <a href="#coding-tools"><strong>Coding Tools</strong></a> ·
+  <a href="https://pasteguard.com/docs"><strong>Documentation</strong></a>
 </p>
 
 <br/>
 
-<img src="assets/demo.gif" width="100%" alt="PasteGuard Demo">
+<picture>
+  <source media="(prefers-color-scheme: dark)" srcset="assets/comparison-dark.png">
+  <source media="(prefers-color-scheme: light)" srcset="assets/comparison.png">
+  <img src="assets/comparison.png" width="100%" alt="PasteGuard — Without vs. With: masks names, emails, and API keys before they reach AI">
+</picture>
 
-## What is PasteGuard?
-
-PasteGuard is a privacy proxy that masks personal data and secrets before they reach OpenAI or Anthropic.
-
-```
-You send:  "Email Dr. Sarah Chen at sarah@hospital.org"
-LLM sees:  "Email [[PERSON_1]] at [[EMAIL_ADDRESS_1]]"
-You get:   Response with original names restored
-```
-
-**Two ways to protect your data:**
-
-- **Mask Mode** — Replace PII with placeholders, send to OpenAI or Anthropic, restore in response. No local infrastructure needed.
-- **Route Mode** — Send PII requests to a local LLM (Ollama, vLLM, llama.cpp), everything else to OpenAI or Anthropic. Data never leaves your network.
-
-Just change one URL to start protecting your data.
-
-## Browser Extension (Beta)
-
-An open source browser extension that brings PasteGuard protection to ChatGPT, Claude, Gemini, Copilot, and Perplexity.
+<p align="center">
+  Detects 30+ types of sensitive data across 24 languages.<br>
+  Your data never leaves your machine.
+</p>
 
-- Paste customer data → PII is masked before it reaches the AI
-- You see the original, AI sees `[[PERSON_1]]`, `[[EMAIL_1]]`
+## Works Everywhere
 
-Open source (Apache 2.0). Built in public — early feedback shapes the product.
+**[Chat](https://pasteguard.com/docs/use-cases/chat)** — Masks PII and secrets when you paste into ChatGPT, Claude, and Gemini. You see originals, AI sees placeholders.
 
-**[Join the Beta →](https://tally.so/r/J9pNLr)**
+**[Apps](https://pasteguard.com/docs/use-cases/apps)** — Open WebUI, LibreChat, or any self-hosted AI setup. Optionally routes sensitive requests to a local model.
 
-## Features
+**[Coding Tools](https://pasteguard.com/docs/use-cases/coding-tools)** — Cursor, Claude Code, Copilot, Windsurf — your codebase context flows to the provider. PasteGuard masks secrets and PII before they leave.
 
-- **PII Detection** — Names, emails, phone numbers, credit cards, IBANs, and more
-- **Secrets Detection** — API keys, tokens, private keys caught before they reach OpenAI or Anthropic
-- **Streaming Support** — Real-time unmasking as tokens arrive
-- **24 Languages** — English, German, French, and 21 more
-- **OpenAI** — Works with OpenAI and compatible APIs (Azure, OpenRouter, Groq, Together AI, etc.)
-- **Anthropic** — Native Claude support, works with Claude Code
-- **Self-Hosted** — Your servers, your data stays yours
-- **Open Source** — Apache 2.0 license
-- **Dashboard** — See every protected request in real-time
+**[API Integration](https://pasteguard.com/docs/use-cases/api-integration)** — Sits between your code and OpenAI or Anthropic. Change one URL, your users' data stays protected.
 
 ## Quick Start
 
+Run PasteGuard as a local proxy:
+
 ```bash
 docker run --rm -p 3000:3000 ghcr.io/sgasser/pasteguard:en
 ```
 
-Point your app to PasteGuard:
+Point your tools or app to PasteGuard instead of the provider:
 
 | API | PasteGuard URL | Original URL |
 |----------|----------------|--------------|
 | OpenAI | `http://localhost:3000/openai/v1` | `https://api.openai.com/v1` |
 | Anthropic | `http://localhost:3000/anthropic` | `https://api.anthropic.com` |
 
-Dashboard: [http://localhost:3000/dashboard](http://localhost:3000/dashboard)
-
-<img src="assets/dashboard.png" width="100%" alt="PasteGuard Dashboard">
+```python
+# One line to protect your data
+client = OpenAI(base_url="http://localhost:3000/openai/v1")
+```
 
-### European Languages
+<details>
+<summary><strong>European Languages</strong></summary>
 
 For German, Spanish, French, Italian, Dutch, Polish, Portuguese, and Romanian:
 
@@ -88,44 +78,67 @@ docker run --rm -p 3000:3000 ghcr.io/sgasser/pasteguard:eu
 
 For custom config, persistent logs, or other languages: **[Read the docs →](https://pasteguard.com/docs/installation)**
 
-## Integrations
+</details>
+
+<details>
+<summary><strong>Route Mode</strong></summary>
+
+Route Mode sends requests containing sensitive data to a local LLM (Ollama, vLLM, llama.cpp). Everything else goes to OpenAI or Anthropic. Sensitive data stays on your network.
+
+**[Route Mode docs →](https://pasteguard.com/docs/concepts/route-mode)**
+
+</details>
 
-Works with OpenAI, Anthropic, and compatible tools:
+## Chat
 
-- OpenAI SDK (Python/JS)
-- Anthropic SDK / Claude Code
-- LangChain
-- LlamaIndex
-- Cursor
-- Open WebUI
-- LibreChat
+Open-source browser extension for ChatGPT, Claude, and Gemini.
 
-**[See all integrations →](https://pasteguard.com/docs/integrations)**
+- Paste customer data → masked before it reaches the AI
+- AI responds with placeholders → you see the originals
+- Works with the same detection engine as the proxy
 
-## What It Detects
+Currently in beta. Apache 2.0.
 
-**PII** (powered by [Microsoft Presidio](https://microsoft.github.io/presidio/))
-- Names
-- Emails
-- Phone numbers
-- Credit cards
-- IBANs
-- IP addresses
-- Locations
+**[Join the Beta →](https://tally.so/r/J9pNLr)** · **[Chat docs →](https://pasteguard.com/docs/use-cases/chat)**
 
-**Secrets**
-- OpenSSH private keys
-- PEM private keys
-- API keys with sk- or sk_ prefix (OpenAI, Anthropic, Stripe, etc.)
-- AWS access keys
-- GitHub tokens
-- JWT tokens
-- Bearer tokens
+## Coding Tools
+
+Protect your codebase context and secrets when using AI coding assistants.
+
+**Claude Code:**
+
+```bash
+ANTHROPIC_BASE_URL=http://localhost:3000/anthropic claude
+```
+
+**Cursor:** Settings → Models → Enable "Override OpenAI Base URL" → `http://localhost:3000/openai/v1`
+
+**[Coding Tools docs →](https://pasteguard.com/docs/use-cases/coding-tools)**
+
+## Dashboard
+
+Every request is logged with masking details. See what was detected, what was masked, and what reached the provider.
+
+<img src="assets/dashboard.png" width="100%" alt="PasteGuard Dashboard">
+
+[localhost:3000/dashboard](http://localhost:3000/dashboard)
+
+## What it catches
+
+**Personal data** — Names, emails, phone numbers, credit cards, IBANs, IP addresses, locations. Powered by [Microsoft Presidio](https://microsoft.github.io/presidio/). 24 languages.
+
+**Secrets** — API keys (OpenAI, Anthropic, Stripe, AWS, GitHub), SSH and PEM private keys, JWT tokens, bearer tokens, passwords, connection strings.
+
+Both detected and masked in real time, including streaming responses.
 
 ## Tech Stack
 
 [Bun](https://bun.sh) · [Hono](https://hono.dev) · [Microsoft Presidio](https://microsoft.github.io/presidio/) · SQLite
 
+## Contributing
+
+See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute.
+
 ## License
 
 [Apache 2.0](LICENSE)
diff --git a/assets/comparison-dark.png b/assets/comparison-dark.png
new file mode 100644 (file)
index 0000000..4e82f53
Binary files /dev/null and b/assets/comparison-dark.png differ
diff --git a/assets/comparison.png b/assets/comparison.png
new file mode 100644 (file)
index 0000000..ca3aefa
Binary files /dev/null and b/assets/comparison.png differ
diff --git a/assets/demo.gif b/assets/demo.gif
deleted file mode 100644 (file)
index 33e1c3e..0000000
Binary files a/assets/demo.gif and /dev/null differ
index f90078fe33874c091d7da649329875c1987ecefc..a0210fca57a2fba0c302d283fbbbd45e71ca8e12 100644 (file)
@@ -3,8 +3,6 @@ title: Anthropic
 description: POST /anthropic/v1/messages
 ---
 
-# Anthropic Endpoint
-
 Generate messages with automatic PII and secrets protection using the Anthropic Messages API.
 
 ```
index b23f33f616b1293e758e3dbb639dbf1dfc405312..29497049ddc17c9424bfc23a4106233c1467491e 100644 (file)
@@ -3,8 +3,6 @@ title: Dashboard API
 description: Request logs and statistics
 ---
 
-# Dashboard API
-
 The dashboard provides an API for accessing request logs and statistics.
 
 ## Logs
index 82f81c32912351290862a567df43051224122fd8..99ae11b1ff8cb211d9b189b8d78466a104298eb0 100644 (file)
@@ -3,8 +3,6 @@ title: Mask API
 description: POST /api/mask
 ---
 
-# Mask API
-
 Standalone endpoint for masking PII and secrets in text. Use this endpoint when you need to mask text independently of LLM provider proxies.
 
 ```
index 1739962b2e3ad50cb1f4fccf2e79f3829da0c8c4..0cb496d29b834b8bcfeb63d5e068f5e5e6e19899 100644 (file)
@@ -3,8 +3,6 @@ title: OpenAI
 description: POST /openai/v1/chat/completions
 ---
 
-# OpenAI Endpoint
-
 Generate chat completions with automatic PII and secrets protection.
 
 ```
index f46d87f44150313343de2eb9c7d2de842882a32c..cb7e8cd420f35ca5cd485a41abc792831d04f1b7 100644 (file)
@@ -3,8 +3,6 @@ title: Status
 description: Health check and info endpoints
 ---
 
-# Status Endpoints
-
 ## Health Check
 
 Check if PasteGuard and its dependencies are running.
index 79c5db6a9d052b6d9d70435b948a24138a9ed89f..d09133139d1fec457ffaad7d2fe4980bf348bd44 100644 (file)
@@ -3,8 +3,6 @@ title: Mask Mode
 description: Replace PII with placeholders before sending to OpenAI or Anthropic
 ---
 
-# Mask Mode
-
 Mask mode replaces PII with placeholders before sending to OpenAI or Anthropic. The response is automatically unmasked before returning to you.
 
 ## How It Works
index 915475da053f552c5bf8cf8347ecaa62d92eaf31..30d38eeea3268fe50104fc19a27f324bc60f75d4 100644 (file)
@@ -3,8 +3,6 @@ title: PII Detection
 description: Personal data detection powered by Microsoft Presidio
 ---
 
-# PII Detection
-
 PasteGuard uses Microsoft Presidio for PII detection, supporting 24 languages with automatic language detection.
 
 ## Supported Entities
index 87d33e6746b2e5ae58e5a7d53b6a43342df34e86..3887ecbbfc97d85cc1b1a77080b2ef7817d4311a 100644 (file)
@@ -3,8 +3,6 @@ title: Route Mode
 description: Route PII requests to a local LLM
 ---
 
-# Route Mode
-
 Route mode sends requests containing PII to a local LLM. Requests without PII go to OpenAI or Anthropic.
 
 ## How It Works
index 9752c6a1d28f795f4036093fbfae56a63c2403fb..1592adb76ab05f9679680867862a8bb6dbdecbe2 100644 (file)
@@ -3,8 +3,6 @@ title: Secrets Detection
 description: Detect and protect private keys, API keys, tokens, and environment credentials
 ---
 
-# Secrets Detection
-
 PasteGuard detects secrets before PII detection and can block, mask, or route requests containing sensitive credentials.
 
 ## Supported Secret Types
index ae54067fd016a5e2356f286d521c162fda4a21a2..c349140c62fa8f0a4276b1574b366f41207ca5f8 100644 (file)
@@ -3,8 +3,6 @@ title: Logging
 description: Configure request logging
 ---
 
-# Logging Configuration
-
 ```yaml
 logging:
   database: ./data/pasteguard.db
index 0db0f529ac37dacfe248acd4326494da3a579b13..74674a185edf37793cdd5807215c84da96215e7a 100644 (file)
@@ -3,8 +3,6 @@ title: Overview
 description: Configuration basics
 ---
 
-# Configuration Overview
-
 PasteGuard is configured via `config.yaml`. Copy from the example:
 
 ```bash
index cb210580ac1064296c4d64fc08fd4f8e9ba9dc3a..ee7761c955dafb67feaa5bd8b7c558553aa03d41 100644 (file)
@@ -3,8 +3,6 @@ title: PII Detection Config
 description: Configure PII detection settings
 ---
 
-# PII Detection Configuration
-
 ```yaml
 pii_detection:
   presidio_url: http://localhost:5002
index 32d4e5f2ea7ae13ddf028be64ee11426f65180c5..cad0fca53557146fac749e3e70ff32d3b483e170 100644 (file)
@@ -3,8 +3,6 @@ title: Providers
 description: Configure OpenAI, Anthropic, and local LLM endpoints
 ---
 
-# Providers
-
 Configure endpoints for OpenAI, Anthropic, and local LLMs.
 
 ## OpenAI Provider
index 2705e6bd4743e7089f745bcaa0fa609b0c460dc1..5525eaa43f47faf547a926a6931900ebc50cc288 100644 (file)
@@ -3,8 +3,6 @@ title: Secrets Detection Config
 description: Configure detection of private keys, API keys, tokens, and environment credentials
 ---
 
-# Secrets Detection Configuration
-
 ```yaml
 secrets_detection:
   enabled: true
diff --git a/docs/images/comparison-dark.png b/docs/images/comparison-dark.png
new file mode 100644 (file)
index 0000000..4e82f53
Binary files /dev/null and b/docs/images/comparison-dark.png differ
diff --git a/docs/images/comparison-light.png b/docs/images/comparison-light.png
new file mode 100644 (file)
index 0000000..ca3aefa
Binary files /dev/null and b/docs/images/comparison-light.png differ
diff --git a/docs/images/demo.gif b/docs/images/demo.gif
deleted file mode 100644 (file)
index 33e1c3e..0000000
Binary files a/docs/images/demo.gif and /dev/null differ
index b9e731449080b0baee5bd70e3060ffbdfc1f1d6b..a7b9eeb81e68d24a49fd7678a0cc7d6462913023 100644 (file)
@@ -3,8 +3,6 @@ title: Installation
 description: Docker images and deployment options
 ---
 
-# Installation
-
 PasteGuard provides prebuilt Docker images for quick deployment. No build step required.
 
 ## Docker Image
diff --git a/docs/integrations.mdx b/docs/integrations.mdx
deleted file mode 100644 (file)
index 8076b6a..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
----
-title: Integrations
-description: Use PasteGuard with IDEs, chat interfaces, and SDKs
----
-
-# Integrations
-
-PasteGuard drops into your existing workflow. Point your tools to PasteGuard and every request gets PII protection automatically.
-
-| API | PasteGuard URL |
-|----------|----------------|
-| OpenAI | `http://localhost:3000/openai/v1` |
-| Anthropic | `http://localhost:3000/anthropic` |
-
-## AI Coding Assistants
-
-### Claude Code
-
-Protect your prompts when using Claude Code. One environment variable, full PII protection:
-
-```bash
-ANTHROPIC_BASE_URL=http://localhost:3000/anthropic claude
-```
-
-Customer names, emails, and sensitive data in your codebase stay private.
-
-### Cursor
-
-Add PII protection to your Cursor workflow:
-
-1. Open **Settings** → **Models**
-2. Scroll to **API Keys** section
-3. Enable **Override OpenAI Base URL** toggle
-4. Enter: `http://localhost:3000/openai/v1`
-5. Add your OpenAI API key
-
-Every code completion and chat message now goes through PasteGuard.
-
-## Chat Interfaces
-
-### Open WebUI
-
-Self-host your chat interface with built-in privacy:
-
-```bash
-OPENAI_API_BASE_URL=http://localhost:3000/openai/v1
-```
-
-<Note>In Docker Compose, use the service name instead of `localhost` (e.g., `http://pasteguard:3000/openai/v1`).</Note>
-
-### LibreChat
-
-Add PasteGuard as a custom endpoint:
-
-```yaml
-version: 1.2.8
-cache: true
-endpoints:
-  custom:
-    - name: "PasteGuard"
-      apiKey: "${OPENAI_API_KEY}"  # Your API key, forwarded to OpenAI
-      baseURL: "http://localhost:3000/openai/v1"
-      models:
-        default: ["gpt-5.2"]
-        fetch: true
-      titleConvo: true
-      titleModel: "gpt-5.2"
-```
-
-## SDKs
-
-### Anthropic SDK
-
-<CodeGroup>
-
-```python Python
-from anthropic import Anthropic
-
-client = Anthropic(
-    base_url="http://localhost:3000/anthropic"
-)
-```
-
-```javascript JavaScript
-import Anthropic from '@anthropic-ai/sdk';
-
-const client = new Anthropic({
-  baseURL: 'http://localhost:3000/anthropic'
-});
-```
-
-</CodeGroup>
-
-### OpenAI SDK
-
-<CodeGroup>
-
-```python Python
-from openai import OpenAI
-
-client = OpenAI(
-    base_url="http://localhost:3000/openai/v1"
-)
-```
-
-```javascript JavaScript
-import OpenAI from 'openai';
-
-const client = new OpenAI({
-  baseURL: 'http://localhost:3000/openai/v1'
-});
-```
-
-</CodeGroup>
-
-### LangChain
-
-```python
-from langchain_openai import ChatOpenAI
-
-llm = ChatOpenAI(
-    base_url="http://localhost:3000/openai/v1"
-)
-```
-
-### LlamaIndex
-
-```python
-from llama_index.llms.openai_like import OpenAILike
-
-llm = OpenAILike(
-    api_base="http://localhost:3000/openai/v1",
-    model="gpt-5.2",
-    is_chat_model=True
-)
-```
-
-## Environment Variables
-
-Most tools respect the standard environment variables:
-
-```bash
-# OpenAI-compatible tools
-export OPENAI_API_BASE=http://localhost:3000/openai/v1
-
-# Anthropic tools
-export ANTHROPIC_BASE_URL=http://localhost:3000/anthropic
-```
-
-## Verify It Works
-
-Check the response headers to confirm PasteGuard is processing requests:
-
-```bash
-curl -i http://localhost:3000/openai/v1/chat/completions \
-  -H "Authorization: Bearer $OPENAI_API_KEY" \
-  -H "Content-Type: application/json" \
-  -d '{"model": "gpt-5.2", "messages": [{"role": "user", "content": "Hi"}]}'
-```
-
-Look for:
-```
-X-PasteGuard-Mode: mask
-X-PasteGuard-Provider: openai
-```
index 20ed28bc937c2f208a24add4c74523370f9ec878..df58edcd14988c9ab796bc2c9cc14ed05f9fbabc 100644 (file)
@@ -1,67 +1,50 @@
 ---
 title: Introduction
-description: Privacy proxy for OpenAI and Anthropic
+description: AI gets the context. Not your secrets. Open-source privacy proxy for OpenAI, Anthropic, and any AI.
 ---
 
-PasteGuard masks personal data and secrets before they reach OpenAI or Anthropic.
+PasteGuard automatically hides names, emails, and API keys before you send prompts to AI. Your data never leaves your machine.
 
-```
-You send:  "Email Dr. Sarah Chen at sarah@hospital.org"
-LLM sees:  "Email [[PERSON_1]] at [[EMAIL_ADDRESS_1]]"
-You get:   Response with original names restored
-```
-
-PasteGuard sits between your app and the API:
+Detects 30+ types of sensitive data across 24 languages.
 
 <Frame>
-  <img src="/images/demo.gif" alt="PasteGuard Demo" />
+  <img className="block dark:hidden" src="/images/comparison-light.png" alt="PasteGuard Comparison" />
+  <img className="hidden dark:block" src="/images/comparison-dark.png" alt="PasteGuard Comparison" />
 </Frame>
 
-Two privacy modes:
+## Works Everywhere
+
+<CardGroup cols={2}>
+  <Card title="Chat" icon="comment" href="/use-cases/chat">
+    ChatGPT, Claude, Gemini
+  </Card>
+  <Card title="Apps" icon="table-columns" href="/use-cases/apps">
+    Open WebUI, LibreChat
+  </Card>
+  <Card title="Coding Tools" icon="code" href="/use-cases/coding-tools">
+    Cursor, Claude Code, Copilot, Windsurf
+  </Card>
+  <Card title="API Integration" icon="plug" href="/use-cases/api-integration">
+    OpenAI SDK, Anthropic SDK, LangChain
+  </Card>
+</CardGroup>
+
+## Two Privacy Modes
 
 | Mode | How it works |
 |------|--------------|
 | **Mask** | Replace PII with placeholders, send to OpenAI or Anthropic, restore in response |
 | **Route** | PII requests stay on your local LLM (Ollama, vLLM, llama.cpp), others go to OpenAI or Anthropic |
 
-## Browser Extension (Beta)
-
-An open source browser extension that brings PasteGuard protection to ChatGPT, Claude, Gemini, Copilot, and Perplexity.
-
-- Paste customer data → PII is masked before it reaches the AI
-- You see the original, AI sees `[[PERSON_1]]`, `[[EMAIL_1]]`
-
-Open source (Apache 2.0). Built in public — early feedback shapes the product.
-
-<Card title="Join the Beta" icon="flask" href="https://tally.so/r/J9pNLr">
-  Get early access to the browser extension
-</Card>
-
-## Features
-
-- **PII Detection** — Names, emails, phone numbers, credit cards, IBANs, and more
-- **Secrets Detection** — API keys, tokens, private keys caught before they reach OpenAI or Anthropic
-- **Streaming Support** — Real-time unmasking as tokens arrive
-- **24 Languages** — English, German, French, and 21 more
-- **OpenAI** — Works with OpenAI and compatible APIs (Azure, OpenRouter, Groq, Together AI, etc.)
-- **Anthropic** — Native Claude support, works with Claude Code
-- **Self-Hosted** — Your servers, your data stays yours
-- **Open Source** — Apache 2.0 license
-- **Dashboard** — See every protected request in real-time
+PasteGuard runs on your servers. Personal data never leaves your infrastructure, and the LLM provider never sees real names, emails, or secrets.
 
 ## Next Steps
 
 <CardGroup cols={2}>
   <Card title="Quickstart" icon="rocket" href="/quickstart">
-    Get running in 2 minutes
-  </Card>
-  <Card title="Mask Mode" icon="eye-slash" href="/concepts/mask-mode">
-    Replace PII with placeholders
-  </Card>
-  <Card title="Route Mode" icon="code-branch" href="/concepts/route-mode">
-    Route PII to local LLM
+    Run PasteGuard as a local proxy
   </Card>
   <Card title="Configuration" icon="gear" href="/configuration/overview">
-    Customize your setup
+    Customize detection and providers
   </Card>
 </CardGroup>
index 395cd86ed5c76be1bdc087571cf5692c326c489b..843125d2f4b55e2455a8bef21f5d988266358155 100644 (file)
   "navigation": [
     {
       "group": "Getting Started",
-      "pages": ["introduction", "quickstart", "installation", "integrations"]
+      "pages": ["introduction", "quickstart", "installation"]
+    },
+    {
+      "group": "Use Cases",
+      "pages": [
+        "use-cases/chat",
+        "use-cases/apps",
+        "use-cases/coding-tools",
+        "use-cases/api-integration"
+      ]
     },
     {
       "group": "Concepts",
index 826173ec130d3f3a04a6390fa354bca6fa163594..c00eab78be20dd70c6f3b0cd56de5ade1fbb113d 100644 (file)
@@ -1,10 +1,8 @@
 ---
 title: Quickstart
-description: Get PasteGuard running in 2 minutes
+description: Run PasteGuard as a local proxy
 ---
 
-# Quickstart
-
 ## 1. Start PasteGuard
 
 ```bash
@@ -17,66 +15,27 @@ PasteGuard runs on `http://localhost:3000`. Open `http://localhost:3000/dashboar
 For custom configuration, European languages, or persistent logs, see [Installation](/installation).
 </Note>
 
-## 2. Make a Request
-
-Point your OpenAI client to PasteGuard:
-
-<CodeGroup>
-
-```python Python
-from openai import OpenAI
+## 2. API Endpoints
 
-client = OpenAI(
-    base_url="http://localhost:3000/openai/v1",
-    api_key="your-openai-key"
-)
-
-response = client.chat.completions.create(
-    model="gpt-5.2",
-    messages=[
-        {"role": "user", "content": "Write a follow-up email to Dr. Sarah Chen (sarah.chen@hospital.org)"}
-    ]
-)
-
-print(response.choices[0].message.content)
-```
+Point your tools or SDKs to PasteGuard:
 
-```javascript JavaScript
-import OpenAI from 'openai';
+| API | PasteGuard URL |
+|----------|----------------|
+| OpenAI | `http://localhost:3000/openai/v1` |
+| Anthropic | `http://localhost:3000/anthropic` |
 
-const client = new OpenAI({
-  baseURL: 'http://localhost:3000/openai/v1',
-  apiKey: 'your-openai-key'
-});
+## 3. Verify It Works
 
-const response = await client.chat.completions.create({
-  model: 'gpt-5.2',
-  messages: [
-    { role: 'user', content: 'Write a follow-up email to Dr. Sarah Chen (sarah.chen@hospital.org)' }
-  ]
-});
+Send a test request and check the response headers:
 
-console.log(response.choices[0].message.content);
-```
-
-```bash cURL
-curl http://localhost:3000/openai/v1/chat/completions \
+```bash
+curl -i http://localhost:3000/openai/v1/chat/completions \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -H "Content-Type: application/json" \
-  -d '{
-    "model": "gpt-5.2",
-    "messages": [
-      {"role": "user", "content": "Write a follow-up email to Dr. Sarah Chen (sarah.chen@hospital.org)"}
-    ]
-  }'
+  -d '{"model": "gpt-5.2", "messages": [{"role": "user", "content": "Write a follow-up email to Dr. Sarah Chen (sarah.chen@hospital.org)"}]}'
 ```
 
-</CodeGroup>
-
-## 3. Verify PII Protection
-
-Check the response headers:
-
+Look for:
 ```
 X-PasteGuard-PII-Detected: true
 X-PasteGuard-PII-Masked: true
@@ -96,19 +55,19 @@ Open `http://localhost:3000/dashboard` in your browser to see:
   <img src="/images/dashboard.png" alt="PasteGuard Dashboard" />
 </Frame>
 
-## What's Next?
+## Now Configure Your Tool
 
 <CardGroup cols={2}>
-  <Card title="Installation" icon="download" href="/installation">
-    Docker images and language options
+  <Card title="Chat" icon="comment" href="/use-cases/chat">
+    ChatGPT, Claude, Gemini
   </Card>
-  <Card title="Mask Mode" icon="eye-slash" href="/concepts/mask-mode">
-    How PII masking works
+  <Card title="Apps" icon="table-columns" href="/use-cases/apps">
+    Open WebUI, LibreChat
   </Card>
-  <Card title="Route Mode" icon="code-branch" href="/concepts/route-mode">
-    Route sensitive requests locally
+  <Card title="Coding Tools" icon="code" href="/use-cases/coding-tools">
+    Cursor, Claude Code, Copilot, Windsurf
   </Card>
-  <Card title="Configuration" icon="gear" href="/configuration/overview">
-    Customize detection and providers
+  <Card title="API Integration" icon="plug" href="/use-cases/api-integration">
+    OpenAI SDK, Anthropic SDK, LangChain
   </Card>
 </CardGroup>
diff --git a/docs/use-cases/api-integration.mdx b/docs/use-cases/api-integration.mdx
new file mode 100644 (file)
index 0000000..f9b2a4d
--- /dev/null
@@ -0,0 +1,73 @@
+---
+title: API Integration
+sidebarTitle: API Integration
+description: Mask PII in your AI-powered application with OpenAI, Anthropic, LangChain, and LlamaIndex
+---
+
+Point your SDK to PasteGuard instead of the provider directly. Every request gets PII and secrets protection automatically.
+
+## OpenAI SDK
+
+<CodeGroup>
+
+```python Python
+from openai import OpenAI
+
+client = OpenAI(
+    base_url="http://localhost:3000/openai/v1"
+)
+```
+
+```javascript JavaScript
+import OpenAI from 'openai';
+
+const client = new OpenAI({
+  baseURL: 'http://localhost:3000/openai/v1'
+});
+```
+
+</CodeGroup>
+
+## Anthropic SDK
+
+<CodeGroup>
+
+```python Python
+from anthropic import Anthropic
+
+client = Anthropic(
+    base_url="http://localhost:3000/anthropic"
+)
+```
+
+```javascript JavaScript
+import Anthropic from '@anthropic-ai/sdk';
+
+const client = new Anthropic({
+  baseURL: 'http://localhost:3000/anthropic'
+});
+```
+
+</CodeGroup>
+
+## LangChain
+
+```python
+from langchain_openai import ChatOpenAI
+
+llm = ChatOpenAI(
+    base_url="http://localhost:3000/openai/v1"
+)
+```
+
+## LlamaIndex
+
+```python
+from llama_index.llms.openai_like import OpenAILike
+
+llm = OpenAILike(
+    api_base="http://localhost:3000/openai/v1",
+    model="gpt-5.2",
+    is_chat_model=True
+)
+```
diff --git a/docs/use-cases/apps.mdx b/docs/use-cases/apps.mdx
new file mode 100644 (file)
index 0000000..438a2a0
--- /dev/null
@@ -0,0 +1,56 @@
+---
+title: Apps
+sidebarTitle: Apps
+description: Protect data in Open WebUI, LibreChat, and other self-hosted AI setups
+---
+
+PasteGuard sits between your self-hosted chat interface and the LLM provider. Users interact with Open WebUI, LibreChat, or similar tools — PasteGuard handles privacy automatically in the background.
+
+## Open WebUI
+
+Point Open WebUI to PasteGuard instead of OpenAI directly:
+
+```bash
+OPENAI_API_BASE_URL=http://localhost:3000/openai/v1
+```
+
+<Note>In Docker Compose, use the service name instead of `localhost` (e.g., `http://pasteguard:3000/openai/v1`).</Note>
+
+## LibreChat
+
+Add PasteGuard as a custom endpoint in your LibreChat configuration:
+
+```yaml
+version: 1.2.8
+cache: true
+endpoints:
+  custom:
+    - name: "PasteGuard"
+      apiKey: "${OPENAI_API_KEY}"  # Your API key, forwarded to OpenAI
+      baseURL: "http://localhost:3000/openai/v1"
+      models:
+        default: ["gpt-5.2"]
+        fetch: true
+      titleConvo: true
+      titleModel: "gpt-5.2"
+```
+
+## Mask Mode vs Route Mode
+
+Self-hosted setups can use either privacy mode depending on your requirements:
+
+| Mode | Best for | How it works |
+|------|----------|--------------|
+| **Mask** | Teams using cloud LLMs (OpenAI, Anthropic) | Replaces PII with placeholders, sends to cloud provider, restores in response |
+| **Route** | Teams with a local LLM (Ollama, vLLM) | Requests containing PII stay on your local LLM, others go to the cloud provider |
+
+Route Mode requires a local LLM provider configured in `config.yaml`. See [Route Mode](/concepts/route-mode) for setup details.
+
+Mask Mode works out of the box with any provider. See [Mask Mode](/concepts/mask-mode) for how masking and unmasking works.
+
+## API Endpoints
+
+| API | PasteGuard URL |
+|----------|----------------|
+| OpenAI | `http://localhost:3000/openai/v1` |
+| Anthropic | `http://localhost:3000/anthropic` |
diff --git a/docs/use-cases/chat.mdx b/docs/use-cases/chat.mdx
new file mode 100644 (file)
index 0000000..d4ea717
--- /dev/null
@@ -0,0 +1,40 @@
+---
+title: Chat
+sidebarTitle: Chat
+description: Mask PII when pasting into ChatGPT, Claude, and Gemini
+---
+
+Paste customer data into ChatGPT — the AI sees `[[PERSON_1]]` and `[[EMAIL_ADDRESS_1]]`. When you copy the response, placeholders are replaced with the originals.
+
+## Supported Platforms
+
+- ChatGPT (chatgpt.com)
+- Claude (claude.ai)
+- Google Gemini (gemini.google.com)
+
+## How It Works
+
+1. **Paste** — You paste text containing PII into the chat input
+2. **Mask** — The extension detects and masks PII via your local PasteGuard server
+3. **Chat** — The masked text is inserted into the chat. The AI only sees placeholders.
+4. **Copy** — When you copy the AI's response, placeholders are replaced with the original values
+
+Placeholder numbering stays consistent across messages in the same conversation. Streamed responses are highlighted in real-time.
+
+## Requirements
+
+The extension needs PasteGuard running locally:
+
+```bash
+docker run --rm -p 3000:3000 ghcr.io/sgasser/pasteguard:en
+```
+
+See [Quickstart](/quickstart) for setup details.
+
+## Beta
+
+The browser extension is in beta. Open source (Apache 2.0).
+
+<Card title="Join the Beta" icon="flask" href="https://tally.so/r/J9pNLr">
+  Get early access to the browser extension
+</Card>
diff --git a/docs/use-cases/coding-tools.mdx b/docs/use-cases/coding-tools.mdx
new file mode 100644 (file)
index 0000000..fcf10de
--- /dev/null
@@ -0,0 +1,54 @@
+---
+title: Coding Tools
+description: Protect your codebase context and secrets in Claude Code, Cursor, and other AI coding assistants
+---
+
+PasteGuard protects your codebase when you use AI coding assistants. Config files with database credentials, customer data in test fixtures, API keys in environment files — all masked before reaching the provider.
+
+## What Gets Detected
+
+- **Secrets** — API keys, private keys, database passwords, tokens in config files and `.env` files
+- **PII** — Customer names, emails, phone numbers in code comments, test data, or log output
+
+PII detection supports [24 languages](/installation). Full entity lists: [PII Detection](/concepts/pii-detection), [Secrets Detection](/concepts/secrets-detection).
+
+## Claude Code
+
+One environment variable:
+
+```bash
+ANTHROPIC_BASE_URL=http://localhost:3000/anthropic claude
+```
+
+To make it permanent, add to your shell profile:
+
+```bash
+export ANTHROPIC_BASE_URL=http://localhost:3000/anthropic
+```
+
+## Cursor
+
+1. Open **Settings** → **Models**
+2. Scroll to **API Keys** section
+3. Enable **Override OpenAI Base URL** toggle
+4. Enter: `http://localhost:3000/openai/v1`
+5. Add your OpenAI API key
+
+## Environment Variables
+
+Most AI coding tools respect the standard environment variables:
+
+```bash
+# OpenAI-compatible tools
+export OPENAI_API_BASE=http://localhost:3000/openai/v1
+
+# Anthropic tools (Claude Code, etc.)
+export ANTHROPIC_BASE_URL=http://localhost:3000/anthropic
+```
+
+## API Endpoints
+
+| API | PasteGuard URL |
+|----------|----------------|
+| OpenAI | `http://localhost:3000/openai/v1` |
+| Anthropic | `http://localhost:3000/anthropic` |
git clone https://git.99rst.org/PROJECT