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.0.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.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: looselips-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 32713110512d4cdf3f26d3654dffd53b07e3357f7eb8dd57c8cb92046f8324e3
MD5 9cbb6c983019c3e26ceced43c6230b52
BLAKE2b-256 c4cfec761d55438674b7bd0f43097d57fc7d04cc129b79d534d1d9b0fce3c9b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: looselips-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b19ad6d63de8206e277ec1c7365d1577cf5548f825b357d3f63f441d849562
MD5 a3ea4af7e84339d2678b134dc9b980f3
BLAKE2b-256 fd92a072958ff5fb8b074a37efc10565368ef9f1ab26373dd20fabd3ac98bdbc

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