Privacy policy

Scriptilux PDF processes conversations locally in your browser. Optional usage statistics are off until you explicitly allow them and share only daily usage counts and a random installation identifier. Conversation content is not included. There is no advertising, tracking pixel, export account system, license server, payment service, or remote PDF rendering. The optional usage-statistics feature described below is planned for extension version 1.0.30; the current public version 1.0.28 does not send these statistics.

Publisher: QuantEngine. Privacy contact: quantengine@gmail.com. Last updated: November 5, 2026.

Data accessed

On chatgpt.com, the extension identifies conversation messages and reads their text, document structures, equations, code, links, image references, available timestamps and conversation title. It reads the current conversation path for an optional source link, omitting query parameters and fragments. This happens to prepare an export that you request.

The extension scrolls the conversation to discover available history. It reads images already referenced by the conversation. When pixels cannot be read from a loaded image, it may make a CORS-controlled request to ChatGPT or official oaiusercontent.com / oaistatic.com asset hosts. Cross-origin requests omit credentials and referrers. Same-origin requests use the existing page session. Images are never uploaded to another service. No new requests are made to unsupported external image hosts. Readable loaded pixels can still be included; otherwise the optional snapshot fallback applies.

Maps and web-image snapshots

When Images and Include maps and web-image snapshots are enabled, the page button, browser toolbar and extension shortcut use the same capture pipeline. Chrome requires all-sites host access for page-button screenshots without a toolbar gesture, so installation/update displays an all-sites warning. This is a broad browser capability; content scripts and capture requests remain restricted to ChatGPT, and no external image-fetch or credential-access paths are added. Toolbar/shortcut invocation also grants temporary activeTab access. The extension may capture the visible ChatGPT viewport while preparing your requested export. This temporarily includes pixels outside the target visual. The background worker immediately crops the requested map, graphic, or photo; only the crop returns to the export. The full viewport is discarded from working references after processing, is never stored or uploaded, and is not included in the PDF. Capture checks that the requesting ChatGPT document remains the active tab. The extension hides its own controls during each capture and restores scrolling afterward. Maps are static views; snapshots use displayed resolution. Turn off the snapshot option to disable viewport capture, or turn off Images to omit all images.

Storage and retention

Export preferences and custom profiles are stored with Chrome's local extension storage, not synchronized to an account. Conversation text and image data are held in the source content script and preview memory. They are not saved in extension storage, IndexedDB, or a remote service.

The source copy is released after the preview receives it, when the route changes, or after a ten-minute expiry. Closing/reloading the source tab destroys its content-script memory. Closing the preview releases its document memory. Browser/OS crash recovery, swap and browser diagnostics are outside extension-level retention guarantees. Saved PDFs remain wherever you choose to save them and are managed by you.

Optional review reminders

Review reminders are on by default. New users start with a count of zero. After an export preview is successfully received, rendered and prepared, Scriptilux PDF automatically increments a local prepared-preview count while reminders are enabled. The first ready preview and Settings explain this behavior. This is an informational notice, not an opt-in consent step. The extension cannot verify whether Chrome’s print dialog saved a PDF; printing or cancelling that dialog does not increment the counter again.

The single chrome.storage.local reminder record contains an enabled preference, a prepared-preview count, the last reminder time, a review-link-opened flag and a permanent-dismissal flag. It contains no conversation content, titles, URLs, personal identifiers or event history. These reminder values are never transmitted to the developer or third parties or synchronized to an account. The developer does not receive or have access to your conversations, optional author information, conversation URLs or reminder values through the extension.

The first review request can appear after five successfully prepared previews. Later prompts are limited to once per 14 days. Maybe Later restarts the cooldown. Closing a displayed prompt without choosing an action also respects the cooldown. Opening the review page or choosing Don’t Ask Again stops counting and clears the counter and timestamp; enabled/review-link/dismissal flags remain to prevent future reminders. Don’t Ask Again is available in the first informational notice, in Settings, and in the review prompt. Exports work independently of reminder choices.

Existing saved disabled states, prior permanent dismissals, review-link choices, preview counts and cooldowns are preserved when updating. Resetting export defaults does not reset reminder choices. Uninstalling removes local extension storage according to Chrome’s storage behavior.

Clicking Rate on Chrome Web Store opens Google’s review page. No reminder values or conversation data are appended to its URL. Google handles activity on that page under its own privacy policy. The extension cannot tell whether you submit a review. Temporary browser document identifiers used to prevent duplicate counts exist only in worker memory and are not stored or transmitted externally.

Optional usage statistics

Usage statistics are off until you explicitly choose Allow usage statistics in onboarding, Settings or a ready export preview. No statistics identifier or usage counts are created before consent. Ignoring the choice or choosing No thanks does not share statistics or limit exports. Refusal persists until you explicitly change it in Settings. Updates, resetting export defaults and the existing review-reminder setting do not enable usage statistics.

With your permission, Scriptilux PDF creates a random identifier for this browser installation and sends cumulative daily counts of ready export previews, Print / Save PDF requests, conversation-preparation failures and preview failures to our statistics service over HTTPS. We use these totals to measure weekly use, frequency, returning installations and reliability, so we can improve the export feature. Allowing statistics in a ready preview includes that preview; earlier activity is not backfilled. These measurements do not verify that a PDF was saved. Cancellations and route changes are not counted as preparation failures. Warnings or missing images that still allow a ready preview are not failed previews.

Reports contain no conversation text, titles, URLs, author information, images, screenshots, PDFs, raw error messages, account identities or extension version. Requests omit cookies and referrers. The identifier is pseudonymous, not an anonymous aggregate or a verified person/account. One person can have several installations; reinstalling, clearing local storage or re-enabling statistics can create a new identifier. We do not use statistics for advertising, individual sales targeting or profiling willingness to pay, and do not sell them.

Your browser keeps the random ID and at most seven daily records in local extension storage. Only records from the last seven UTC dates are eligible for retry on the next measured export action. Older records are removed when statistics are next accessed; they can remain locally while the extension is idle. There is no individual event history or exact event timestamp in reports. Offline use, refusal, inaccurate device clocks and reports that cannot be delivered within seven UTC dates can cause undercounting. Seven-day reports cover seven UTC calendar dates, including the partial current date, rather than an exact rolling 168-hour event history.

The service stores a cryptographically derived installation key and daily totals for 90 UTC dates, including the current date; the password-protected owner dashboard shows aggregates, not individual histories. We use Render to operate the statistics service in Ohio (US East), United States, at https://weather-planner-hy7e.onrender.com/scriptilux-stats/. Reports are transmitted over HTTPS and the Render persistent disk and its snapshots are encrypted at rest.

Our statistics application does not log client IP addresses, user agents, referrers or request bodies. Render necessarily processes connection metadata, such as IP addresses, to deliver and secure requests. Render's service-log history is retained for up to 30 days, depending on the workspace plan. This period describes Render's workspace log history, not a guarantee about all of Render's internal security records. Render controls its own operational and security-record retention under its privacy policy at https://render.com/privacy. We do not intentionally include usage-report identifiers or counts in service logs.

Active daily rows expire after 90 UTC dates, including the current date. Render creates daily encrypted disk snapshots and makes them available for seven days; snapshots may therefore retain expired statistics for up to seven additional days. The statistics application does not create separate database backups.

Choose Stop sharing usage statistics in Settings to withdraw consent. This stops new reports, attempts to abort a report in progress, and clears the local identifier and daily totals. Reports already received cannot be recalled; previously shared rows expire within the retention period. Re-enabling creates a new random identifier. Uninstalling removes local extension storage but does not immediately remove previously shared rows. Statistics choices do not affect exports or change separate review-reminder preferences. Contact quantengine@gmail.com with privacy questions or requests.

Diagnostics

Debug mode is off by default. When enabled, logs contain numeric counts, stages and elapsed durations. Error diagnostics contain version, provider, route category, mounted count and generic error category. Preparation diagnostics also contain fixed structural counts, scroll/viewport measurements, pass counts and a termination category. They do not include message text, filenames, conversation titles, query strings or signed image URLs.

Image diagnostics, available after preparation, contain sequential image numbers, final capture outcomes and failure categories, settings, and numeric attempt/retry counts. Observed failures can include recovered attempts. They exclude conversation text, titles, image contents, image URLs, and browser tab/document identifiers. Reports are copied to your clipboard only when you click the diagnostics button.

Control

Cancel export at any time during capture. Review warnings before opening the print document. Change/reset preferences in Settings. Delete custom profiles individually. Uninstalling removes extension settings according to Chrome's storage behavior; it does not delete PDFs you saved.

Contact and independence

Contact QuantEngine at quantengine@gmail.com with questions about this policy or your privacy choices. Scriptilux PDF is independent and is not endorsed by OpenAI.