Local-First PII Protection

Zero PII leaves
the browser. Ever.

Enterprise-grade redaction that runs entirely on-device. Every text field, every document, every upload — scanned for personally identifiable information before it reaches the network.

50+
File Types
17
AU PII Patterns
6
Detection Engines
320
Tests Passing

Built for the worst-case scenario

Every feature designed to prevent PII from leaving your organisation — whether typed into a chat, pasted into a form, or dragged into an AI service.

🛡

Real-Time Text Protection

Auto-redacts as you type. Intercepts Enter, form submit, and send buttons. PII is replaced with tokens before the page can dispatch.

📄

Document Redaction

DOCX XML replacement preserving formatting. PDF text extraction and scanned-page OCR with pixel-level black box redaction. XLSX to CSV conversion.

🖼

Image OCR Redaction

Tesseract.js extracts text from screenshots and photos. PII bounding boxes are mapped and covered with black rectangles. No hidden text layer.

🤖

AI Chat Guard

Auto-detects 30+ AI services (ChatGPT, Claude, Gemini, Copilot, Grok). Enforces redaction before submit on all detected AI platforms.

🔒

Classification Gate

Reads Microsoft Information Protection labels from documents. Blocks uploads of PROTECTED, SECRET, and TOP SECRET classified files outright.

Azure PII Integration

Azure AI Language with OAuth2 PKCE. Native document API for server-side PDF/DOCX redaction. Managed identity for zero stored credentials.

Supported File Types

50+ formats recognised. If it’s text-based, it’s covered.

.docx .pdf .xlsx .csv .json .xml .yaml .html .md .txt .py .js .java .sql .env .ini .log .zip .png .jpg .gif .tiff +30 more

Designed for government & enterprise

Centrally managed configuration, Azure AD authentication, sensitivity classification enforcement, and deployment via GPO, Intune, or Google Workspace.

Managed Configuration

Push settings via Chrome managed storage. Lock specific settings with an admin-only _locked map. Users see disabled controls with an "Admin" badge.

GPO · Intune · Workspace

Azure AD OAuth2 PKCE

No API keys stored anywhere. Users sign in via Azure AD popup. Short-lived tokens auto-refresh. MFA and Conditional Access policies apply.

Zero stored credentials

Classification Gate

Reads MSIP sensitivity labels from DOCX/XLSX files. Blocks PROTECTED and above from uploading to external services. Configurable blocked/warn lists.

Australian PSPF aligned

Detection Modes

Auto (local-first), AI Only, Regex Only, Hosted Only, Cloud Only. Route all traffic through your organisation’s own infrastructure if required.

5 processing modes

Australian Government Classification Handling

ClassificationGate ActionRationale
UNOFFICIALAllowNo restrictions
OFFICIALAllowStandard business
OFFICIAL: SensitiveWarnCaution advised
PROTECTEDBlockMust not leave controlled environment
SECRETBlockClassified material
TOP SECRETBlockClassified material

Privacy Policy

Last updated: April 2026

Overview

Loose Lips Sink Ships ("the Extension") is a Chrome browser extension that detects and redacts personally identifiable information (PII) in text, documents, and images. This privacy policy explains what data the Extension accesses, how it is processed, and where it is stored.

Data Processing

Local-first by default. The Extension processes all text and documents within the browser. When using the default configuration (Auto mode with Gemini Nano and regex), no data leaves the browser. All PII detection and redaction happens on-device.

No telemetry. The Extension does not collect analytics, usage metrics, crash reports, or any form of telemetry. It does not phone home to any server.

No user tracking. The Extension does not track browsing history, page visits, or user behaviour. It does not use cookies, fingerprinting, or any tracking mechanism.

Data Accessed

  • Text field content — The Extension reads text from input fields, textareas, and contenteditable elements on web pages for PII detection. This data is processed locally and never transmitted unless a cloud provider is explicitly configured.
  • Uploaded files — When file upload interception is enabled, the Extension reads file content (DOCX, PDF, images, etc.) for PII scanning. Files are processed in the browser via an Offscreen Document.
  • Page URL — Used to determine if the current site is an AI chat service (for AI Chat Guard) and to apply site filtering rules. URLs are checked locally against a built-in list and user-configured patterns.

Cloud Provider Usage (Optional)

If the user or administrator explicitly configures a cloud provider, text or document content may be transmitted to:

  • Azure AI Language — Text is sent to the Azure PII detection API for entity recognition. Azure's privacy policy applies.
  • Azure Blob Storage — When native document redaction is enabled, documents are uploaded to Azure Blob Storage for server-side processing.
  • Microsoft Purview — When Purview DLP is configured, content may be sent to the Microsoft Graph API for classification.
  • Organisation-hosted models — When hosted providers are configured, text is sent to the organisation's own endpoints.

No cloud provider is enabled by default. Users must explicitly configure endpoints and credentials before any data is transmitted externally.

Data Storage

  • Settings — Extension settings are stored in chrome.storage.local (browser profile, not synced across devices).
  • API credentials — API keys (Direct mode) are stored in chrome.storage.local. OAuth2 tokens (Enterprise mode) are stored in chrome.storage.session (memory-only, cleared on browser close).
  • Managed settings — Enterprise administrators may push configuration via chrome.storage.managed (read-only to the Extension).
  • Statistics — Redaction counts (number of items redacted, by type) are stored locally. No PII content is stored in statistics.
  • No PII is ever stored. The Extension processes PII in memory and immediately replaces it with redaction tokens. Original PII content is never persisted to disk or any storage mechanism.

Permissions

  • storage — Save settings and statistics locally.
  • activeTab — Access the current tab for content script injection.
  • scripting — Inject content scripts for text field monitoring.
  • offscreen — Create an offscreen document for PDF rendering and OCR (Canvas/WASM access).
  • identity — Azure AD OAuth2 sign-in flow (Enterprise mode only).
  • alarms — Periodic remote config refresh and token renewal.

Third-Party Services

The Extension does not use any third-party analytics, advertising, or tracking services. Third-party libraries used (pdf.js, Tesseract.js) run entirely locally within the browser.

Children's Privacy

The Extension is designed for enterprise and government use. It is not directed at children under 13 and does not knowingly collect information from children.

Changes to This Policy

We may update this privacy policy from time to time. Changes will be posted on this page with an updated revision date. Continued use of the Extension after changes constitutes acceptance of the updated policy.

Contact

For privacy questions or concerns, contact us via the GitHub Issues page.

Frequently Asked Questions

Common questions about installation, configuration, and troubleshooting.

Does the extension send my data to the cloud?
No, not by default. All processing uses Gemini Nano (Chrome's built-in AI) and regex patterns, which run entirely on your device. Cloud providers (Azure PII, Purview) are only activated if you explicitly configure them in Settings.
What Chrome version do I need?
Chrome 128 or later. Chrome 136+ is recommended for the best Gemini Nano stability. The extension works without Nano — it falls back to regex pattern matching. For PDF/image OCR, run vendor/setup.sh to install Tesseract.js.
How do I enable Gemini Nano?
Go to chrome://flags and enable: (1) #optimization-guide-on-device-model and (2) #prompt-api-for-gemini-nano. Restart Chrome. The green dot in the extension popup confirms Nano is available.
What PII types are detected?
17 built-in Australian patterns: Email, Phone (AU & International), Street Address, Postcode, TFN, ABN, ACN, Credit Card, BSB, Bank Account, Medicare Number, Passport, Driver Licence, Date of Birth, IPv4, and IPv6. You can add custom patterns via the Settings page.
Can my organisation manage settings centrally?
Yes. The extension supports Chrome managed storage (chrome.storage.managed). Admins can push configuration and lock specific settings via GPO, Microsoft Intune, or Google Workspace Admin Console. See the Enterprise section for deployment guides.
How does the classification gate work?
The extension reads Microsoft Information Protection (MSIP) sensitivity labels from DOCX and XLSX files. If a document is labelled PROTECTED, SECRET, or TOP SECRET (configurable), the upload is blocked outright with a red overlay. No skip option — the block is absolute.
Does it work on all websites?
By default, yes. You can restrict it to specific sites via whitelist mode (e.g., *.gov.au) or exclude sites via blacklist mode. AI Chat Guard automatically activates on 30+ detected AI services.
How do I report a bug or request a feature?
Open an issue on the GitHub Issues page. Enable debug logging (Settings → Troubleshooting) and include the console output for bug reports.