Skip to content

Latest commit

 

History

History
299 lines (212 loc) · 11.1 KB

README.md

File metadata and controls

299 lines (212 loc) · 11.1 KB

Dataiku's Kiji Privacy Proxy Documentation

Complete documentation for Kiji Privacy Proxy - a transparent MITM proxy with ML-powered PII detection and masking.

What is Kiji Privacy Proxy?

Kiji Privacy Proxy is an intelligent privacy layer for API traffic. It automatically detects and masks personally identifiable information (PII) in requests to AI services, ensuring sensitive data never leaves your control.

Key Features:

  • 🔒 Transparent HTTPS Proxy - MITM interception of encrypted traffic
  • 🌐 Automatic Proxy Configuration (PAC) - No manual setup for browsers on macOS
  • 🤖 ML-Powered PII Detection - ONNX-based model for accurate detection
  • 🎭 Automatic Masking & Restoration - Seamless data protection
  • 🎚️ Configurable Masking - Disable entity types or add custom regex patterns
  • 🗂️ Mapping Review - Inspect and delete recorded masked values
  • 💻 Desktop App (macOS) - Electron-based UI for easy management
  • 🐧 API Server (Linux) - Standalone backend for server deployments
  • 📊 Request Logging - Complete audit trail with masked data

Documentation Chapters

Learn how to install and configure Dataiku's Kiji Privacy Proxy, and create your first release.

Topics:

  • Installation (macOS DMG & Linux tarball)
  • Platform-specific setup
  • Certificate installation for HTTPS
  • Configuration basics
  • First run and testing
  • Quick start release guide

Start here if you're: New to Kiji Privacy Proxy or want to get up and running quickly.


Set up your development environment and learn development workflows.

Topics:

  • Development setup (Go, Rust, Node.js, ONNX Runtime)
  • VSCode debugging configuration
  • Electron development
  • Version handling in development mode
  • Development workflows (debugger, hot reload, CLI)
  • Testing and code quality

Start here if you're: Contributing to the project or developing new features.


Build Kiji Privacy Proxy from source for macOS and Linux platforms.

Topics:

  • Build requirements and architecture
  • macOS DMG build process
  • Linux tarball build process
  • Build flags and optimization
  • Production deployment (systemd, Docker)
  • Build troubleshooting

Start here if you're: Building from source or deploying to production.


Understand the release process, versioning, and CI/CD workflows.

Topics:

  • Changesets workflow for version management
  • Creating releases (automatic & manual)
  • CI/CD workflows (macOS & Linux parallel builds)
  • Release strategy and best practices
  • Version management and injection
  • Release troubleshooting

Start here if you're: Managing releases or maintaining the project.


Deep dive into advanced features, security, and troubleshooting.

Topics:

  • Transparent proxy & MITM architecture
  • Certificate management and trust
  • Model signing and verification
  • Comprehensive build troubleshooting
  • Performance optimization
  • Security best practices

Start here if you're: Configuring advanced features or troubleshooting issues.


Build, configure, and publish the Kiji PII Guard Chrome extension that intercepts AI chat input in the browser.

Topics:

  • Local development and loading the unpacked extension
  • Extension architecture and backend integration
  • Switching to optional host permissions for the Web Store
  • Preparing store listing assets and privacy policy
  • Submitting and updating a published extension
  • CI/CD integration and automating Web Store uploads

Start here if you're: Working on the Chrome extension or shipping it to the Chrome Web Store.


Train a custom PII detection model with your own entity types, data, and domain-specific needs.

Topics:

  • Generating synthetic training data (Doubleword or OpenAI)
  • Using HuggingFace datasets (dataiku/kiji-pii-training-data)
  • Customizing entity types in label_utils.py
  • Reviewing and correcting data in Label Studio
  • Running the Metaflow training pipeline
  • Loading a custom model in the desktop app

Start here if you're: Adding new PII entity types, retraining the model, or adapting Kiji to your domain.


Control what gets masked and review what already has been, from the desktop app.

Topics:

  • Tuning PII detection sensitivity
  • Disabling specific entity types so they pass through unmasked
  • Adding custom regex patterns for domain-specific PII
  • Reviewing, sorting, and deleting masked mappings
  • Driving the same controls via config file and HTTP API (standalone)

Start here if you're: Deciding which data to mask, adding custom detection rules, or auditing what Kiji has masked.


Route terminal coding agents through the proxy so PII in prompts, code, and tool calls is masked before it reaches the model and restored in replies.

Topics:

  • How agents are intercepted (hosts, masking, streaming restore)
  • Claude Code setup (HTTP_PROXY/HTTPS_PROXY, NODE_EXTRA_CA_CERTS, settings.json)
  • Codex setup (rustls CA trust via CODEX_CA_CERTIFICATE, API-key vs ChatGPT-login)
  • A shared shell snippet for both agents
  • Verifying interception and troubleshooting TLS/proxy issues
  • Forward-proxy alternative without CA trust

Start here if you're: Using OpenAI Codex or Claude Code and want their traffic masked by Kiji.


Localize the desktop/renderer UI with react-i18next. English is the base language; French, Japanese, and Korean are the translations.

Topics:

  • How i18next is wired (namespaces, detection, persistence)
  • Using t() and <Trans>, interpolation, and pluralization
  • Per-locale plural categories (French many, Japanese/Korean other-only)
  • Language selector and the Electron native-menu sync
  • Adding/changing strings and the parity + lint tooling

Start here if you're: Adding UI strings, adding a language, or reviewing translations.


Quick Links

Getting Started

Development

Building

Releases

Advanced

Model Customization

Masking Controls

Coding Agents

Document Status

These documents consolidate and supersede the following original files:

  • ✅ QUICKSTART-RELEASE.md → Integrated into Chapter 1
  • ✅ MODEL_SIGNING.md → Integrated into Chapter 5
  • ✅ VERSION_DEVELOPMENT.md → Integrated into Chapter 2
  • ✅ BUILD.md → Integrated into Chapter 3
  • ✅ RELEASE_WORKFLOWS.md → Integrated into Chapter 4
  • ✅ TRANSPARENT_PROXY.md → Integrated into Chapter 5
  • ✅ BUILD_TROUBLESHOOTING.md → Integrated into Chapter 5
  • ✅ DEVELOPMENT.md → Integrated into Chapter 2

Original files are preserved in the docs/ directory for reference, but the new chapter-based structure is now the authoritative documentation.

Contributing to Documentation

When updating documentation:

  1. Follow the chapter structure - Place content in the appropriate chapter
  2. Update the README - Add links to new sections
  3. Cross-reference - Link between chapters when relevant
  4. Keep it current - Update when code changes
  5. Be concise - Clear, actionable content over verbose explanations

Documentation Style Guide

  • Headings: Use sentence case
  • Code blocks: Always specify language for syntax highlighting
  • Commands: Include platform-specific variations when needed
  • Examples: Provide working, tested examples
  • Links: Use relative paths for internal docs
  • Troubleshooting: Include problem, cause, and solution

Getting Help

For Users

For Developers

Security Issues

Do not open public issues for security vulnerabilities.

Email: opensource@dataiku.com (or contact maintainers privately)

License

See LICENSE file in the repository root.

Project Links


Documentation Version: 1.0.0
Last Updated: 2026-06-06
Maintained By: 575 Lab, Dataiku's Open Source Office