Privacy Policy — Rewrite AI (Paraphrase & Rewrite Text)

Release-review draft: September 29, 2026

Not ready for publication. This draft describes the current implementation. Before release, confirm the purpose and recipients of cloud-runtime/proxy traffic, implement and verify the required user disclosure/consent, confirm the rewrite API and analytics retention settings, and complete the Limited Use review in STORE.md. Updating this document does not implement those controls.

Rewrite AI is published by NeuralWriter. This policy describes data handled by the extension, its background account/runtime features, and the NeuralWriter backend. Background work can run while the popup is closed and while Local Engine is selected.

1. What the extension does

The user-facing feature paraphrases text selected or entered by the user. Cloud AI sends that text to NeuralWriter; Local Engine rewrites the submitted text within the extension.

The current implementation also automatically discovers signed-in provider accounts, creates or refreshes cloud runtime sessions in hidden capture frames, transfers runtime credentials to NeuralWriter, and reports diagnostics. When enabled by the backend, it can submit predefined feedback through the provider's widget under the selected account. These background features are distinct from a user's individual rewrite request and need to be disclosed before they run.

2. Data collected and used

DataCollection and use
Text submitted for rewritingSent to https://neuralwriter.com/api/rewrite only when Cloud AI is invoked. Local Engine processes the submitted text locally. The extension does not persist the text or result as a history. Rewrite API retention must be confirmed separately before publication.
Installation and network identifiersA locally generated installation ID, extension version, account slot, attempt/plan IDs and timestamps correlate requests. NeuralWriter receives the request IP address and derives country information. These records are linkable and are not anonymous.
Account email addresses and hashesAccount discovery reads email addresses from provider pages in the extension's own discovery frames. Email addresses, SHA-256 email hashes and account slots are sent to NeuralWriter for account mapping, runtime ownership, access diagnostics and feedback routing. Hashing is not anonymization: account records also contain the email address. This enumerates accounts, not Chrome profiles.
Rewrite API credentialsRewrite JWTs are stored locally and sent to NeuralWriter for API authentication and renewal.
Provider runtime credentialsRuntime URLs, runtime tokens, managed runtime IDs, expiry and endpoint/session metadata are durably queued locally and transferred to NeuralWriter. They are distinct from rewrite JWTs and are also stored on the backend. With runtime support enabled, the backend uses them to connect to and operate the provider runtime, keep it active and install an outbound-network relay. This can consume resources and quotas associated with the provider account. The intended scope and recipients of this network traffic must be resolved before release.
Capture diagnosticsCapture steps, warnings/errors, stacks, sanitized URLs, request method/status/timing, authentication-header presence (not its value), numeric account routing, sign-in/page state, page titles, dialog/button text, account hashes and capture IDs are reported from extension-created capture frames. Failed allowlisted runtime/user-info RPC responses are read locally to extract redacted error fields. Successful response bodies and full raw RPC bodies are not uploaded by this diagnostic observer.
Diagnostic HTMLFor stalled or failed captures, a sanitized document snapshot may include body markup and accessible open shadow roots. Scripts, styles, input/textarea elements and selected sensitive attributes are removed. Recognized credential/email patterns are redacted. Other page text, including editor or contenteditable content, can remain; redaction is not a guarantee that all personal information has been removed.
FeedbackA backend task supplies the account and predefined feedback text. The extension verifies account identity, fills the provider widget, obtains a one-use backend submission permission and clicks Send once. It reports the result or an uncertain outcome to NeuralWriter. The provider receives the submitted feedback in that account context. Backend permission is not a user-consent control. The provider widget's additional fields or attachments must be verified before release.
Usage analyticsWhen analytics is configured, the extension sends a pseudonymous installation ID as client_id, static event names, session ID and numeric parameters directly to Google Analytics 4 using HTTPS Measurement Protocol requests. The receiver also sees normal network metadata, including the source IP. The event payload does not include selected text, account emails, capture HTML or ordinary browsing URLs.
PreferencesLanguage and rewriting-mode preferences are stored in Chrome extension storage.

Ordinary browsing history and page content outside the extension's diagnostic frames are not collected for telemetry. The page content script reads the user's selection for the rewrite feature. The manifest retains the Chrome cookies permission. The extension retains a cookie-reading command restricted to its configured NeuralWriter domain; provider pages can still use their existing browser login session for their own requests.

3. Storage and retention

Location/dataCurrent behavior
Chrome extension storageInstallation identity, preferences, account email/hash mappings, credentials, pending delivery queues and feedback state are stored locally; transient state may use session storage. This does not use Chrome account storage sync. It does not prevent the separately disclosed HTTPS transfers to NeuralWriter and Google Analytics.
Pending telemetryA bounded local queue retains batches until acknowledgment, eviction at a queue limit or uninstall. Critical events receive priority; persistence and storage failures can still cause loss.
Backend runtime/session recordsCredentials remain usable until provider expiry or revocation. Backend cleanup removes expired/dead session records and excess duplicates; cleanup and record deletion do not themselves revoke a provider credential. Associated diagnostic/account history can outlive a session.
Diagnostic history and account/feedback recordsDiagnostic events and restriction history have no universal automatic expiry in the default configuration. Some session/client records have separate cleanup. An operator-configured telemetry TTL can expire raw events without automatically removing every related account/history record.
Diagnostic HTML bodiesThe supplied deployment includes a separate pruner configured by default to strip HTML from pa.html_dump events after 24 hours. The surrounding event and account/IP metadata remain. This is a scheduled cleanup, not a guarantee that every copy or backlog is deleted exactly at 24 hours; verify the running deployment before publication.
AnalyticsRetention is governed by the Google Analytics property's settings, which are not defined by the extension source. Confirm and disclose the actual setting before publication.

Uninstalling removes extension storage and stops future browser-side background work. It does not delete records already received by NeuralWriter or Google Analytics, immediately revoke issued credentials, or terminate all backend use of still-valid credentials. Contact NeuralWriter about server-side data or credential access; do not send tokens or passwords by email.

4. Recipients and access

The code review did not establish sale or advertising use of these data. This draft does not certify Limited Use compliance or promise that all backend processing is solely for paraphrasing; those declarations require resolving the runtime/proxy use and user controls first.

5. Permissions

PermissionActual use
scriptingRegisters packaged MAIN/ISOLATED capture, discovery and feedback scripts. Early observers are registered on <all_urls> and return unless capture-frame/extension-ancestor checks pass. Other extraction scripts use marked capture URLs.
cookiesAllows the extension cookie-reading command to retrieve cookies for the configured NeuralWriter domain. The command does not accept a caller-supplied domain or upload cookies as telemetry.
storagePersists the extension state, account mappings, credentials and delivery queues described above.
declarativeNetRequestRemoves framing headers for extension background subframes. General capture rules remove X-Frame-Options; a task-scoped feedback rule removes X-Frame-Options and Content-Security-Policy on the feedback widget path. Rules exclude ordinary browser tabs and main-frame navigation.
tabsQueries and reloads NeuralWriter tabs after updates. The ordinary content script handles user-selected text; this permission is not justified as a general browsing-history collector.
offscreenHosts hidden provider/discovery/capture/feedback frames and their lifecycles. Accepted runtime frames can remain alive after token delivery.
webRequestCollects marked background-frame network outcomes. It is not limited to API calls on NeuralWriter-owned domains.
webNavigationReports navigation failures for marked background frames.
alarmsSchedules capture refresh (normally 20 minutes), policy checks, account discovery, feedback polling and delivery retries.
<all_urls>Supports the user-invoked rewrite overlay on arbitrary pages and the declared capture/redirect observation. Broad registration does not authorize diagnostic collection from ordinary browsing.

6. User controls and security

Cloud rewriting is initiated by the user. Local Engine keeps the submitted rewrite text local, but currently does not disable account discovery, runtime capture, diagnostics, feedback polling or analytics. The current implementation has no separate in-product opt-in for those background features; that is a release issue, not an implied consent supplied by this policy.

Release endpoints use HTTPS; the backend runtime connection uses the provider's authenticated secure connection. Credentials expire and access to backend administration is restricted. Pattern-based redaction is applied in the extension and again on diagnostic ingestion. This does not promise removal of every possible sensitive value or encryption of every local/database field at rest.

Contact [email protected] for privacy questions and access/deletion requests. Before publication, NeuralWriter must define and verify the operational handling of those requests across account records, diagnostic/feedback history and analytics. The extension is not directed at children under 13.

Material changes to data practices need prominent disclosure and, where required, affirmative consent before the changed processing starts; continued use alone is not a replacement for that consent.