Skip to main content

Scan your LLM chat exports for personal information

Project description

looselips

Loose Lips Might Sink Ships

Scan your LLM chat exports for personal information you might not want sitting in the cloud.

Install

pip install looselips

Basic usage

  1. Export your data from ChatGPT (Settings -> Data controls -> Export).
  2. Create a looselips.toml config defining what to look for (see below).
  3. Run:
looselips --config looselips.toml export.zip

Writes chatgpt-export_report.html with any matches found.

Config file

Define your matchers in a looselips.toml. See examples/example.toml for a full example with common patterns.

[[matcher]]
type = "regex"
category = "My Phone"
pattern = '212.?867.?5309'

[[matcher]]
type = "regex"
category = "Home Address"
pattern = '(?i)742\s+Evergreen\s+Terrace'

Patterns use the Python re module. Inline flags like (?i) for case-insensitive, (?s) for dotall, and (?x) for verbose mode (comments and ignored whitespace) work in the pattern string itself.

looselips --config looselips.toml export.zip

LLM matchers

For things regex can't catch, add LLM matchers to your config. Each one runs a separate inference pass per conversation chunk, so prefer a few focused matchers over many broad ones.

model = "ollama/qwen3:0.6b"

[[matcher]]
type = "llm"
name = "Employment & Financial"
prompt = "Find employment and financial information -- company names, job titles, salary figures, stock grants."

[[matcher]]
type = "llm"
name = "Medical & Health"
prompt = "Find medical and health information -- conditions, medications, doctor names."

You can override the model per-matcher with the model key.

Output

Default output is <input (without extension)>_report.html. Override with --output:

looselips --config looselips.toml --output=report.html export.zip

Everything runs locally -- no data leaves your machine (unless you use a cloud LLM model).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

looselips-0.1.1.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

looselips-0.1.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file looselips-0.1.1.tar.gz.

File metadata

  • Download URL: looselips-0.1.1.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for looselips-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0a3fd7d3a9e0543aa92337dcb18d5257a7b34a730d28859e78944885dca023a6
MD5 05ac9cb65d4fbcd974fda6a93effc4fe
BLAKE2b-256 463b7df150b16ffc9ac0ba1c668284978f4d50f01a49089f043391b7f2b2c6f5

See more details on using hashes here.

File details

Details for the file looselips-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: looselips-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for looselips-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 661b6e2bdd0f00a8fd37a940080b3ce544c15a578590879072d870173fd30206
MD5 b9c2e73b60b0b0ae04bcd54cd5a26d46
BLAKE2b-256 cf9886d2a21701b184aefa0a1ad1a9ce5524a82ec4103e90917aa7e76c0b8317

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page