Qryptian is a comprehensive project that ensures that you do not leak any sensitive data when interacting with Large Language Models(LLMs) on chat interfaces. It combines a Chrome extension for capturing user messages and a backend service for redacting sensitive information. Both of these can be deployed locally and used for redaction straightaway.
The project consists of two main components:
- qr-extension: A Chrome extension for capturing and streaming user messages.
- qr-redactor: A backend service for identifying and redacting sensitive data.
The Chrome extension is responsible for capturing user messages from web pages and streaming them to the background script.
Key files:
public/content.js: Content script that runs on web pagespublic/manifest.json: Extension manifest filesrc/: Source TypeScript files
The backend service processes the captured messages, identifies sensitive information, and performs redaction.
Key files:
app/main.py: FastAPI application entry pointapp/model.py: Sensitive data identification modelapp/redactor.py: Text redaction logicDockerfile: Container configuration for the backend service
-
Clone this repository:
git clone https://github.com/vaibs-d/qryptian.git -
Set up the Chrome extension:
- Navigate to
chrome://extensions/in Chrome - Enable "Developer mode"
- Click "Load unpacked" and select the
qr-extension/publicdirectory
- Navigate to
-
Set up the backend service:
- Navigate to the
qr-redactordirectory - Build and run the Docker container:
docker build -t qr-redactor . docker run -p 8000:8000 qr-redactor
- Navigate to the
- Use the Chrome extension to capture and stream user messages from web pages.
- The backend service will process the streamed messages, identify sensitive information, and perform redaction.
- For the Chrome extension, modify the TypeScript files in
qr-extension/src/, then compile them to JavaScript. - For the backend service, modify the Python files in
qr-redactor/app/.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open-source and available under the MIT License. See the LICENSE file in each submodule for details.
