Your document stays with you.

Before You Retry does not receive, upload, or store your PDF. Optional PDF checks and preparation run entirely in your browser. The PDF, extracted text, and prepared copies are not sent to Before You Retry or to AI by those local tools.

The optional local PDF check

If you choose a PDF, code in your browser checks whether it can be read, counts all pages, and samples a limited number of pages for orientation and how much text can be extracted. It may also show one limited text preview. On sampled pages, it counts the Unicode replacement character � so it can flag copied text worth comparing with the visible PDF. That warning does not apply to unchecked pages.

The document data stays in browser memory while you use the check. Removing the PDF or starting a new diagnostic clears the findings and preview from the app and cancels remaining parser work. Your browser may keep released memory until it reclaims it on its own schedule. The check does not write document data to cookies, localStorage, sessionStorage, IndexedDB, a database, or an analytics event.

The optional page-and-text spot check

If you open the spot check after a successful local PDF check, your browser can render and extract text from up to three pages already chosen by the existing sample. The rendered pages, extracted text, selected page numbers, and your Matches closely, Mismatch found, or Can’t tell choices remain in browser memory. They are not sent to Before You Retry or to AI, written to browser storage, added to analytics, or logged by the feature.

Closing the spot check, removing or replacing the PDF, continuing to the questions, starting again, or leaving the page cancels active comparison work and releases the feature’s canvas, text, choices, and PDF resources. Your browser may keep released memory until it reclaims it. If you choose Copy counts-only summary, only the number of reviewed pages, counts for your three choices, and a general limitation are placed on your clipboard; the app does not include filenames, page numbers, page images, or document text.

You can use the browser-local PDF Text Layer Checker without sending the PDF or extracted text to Before You Retry or an AI service.

Optional local PDF preparation

Extracting pages, splitting a PDF, or rotating pages creates new copies on your device. The original file remains unchanged. The source PDF and prepared copies are not sent to Before You Retry or to AI by these local tools. Some document-level features — including bookmarks or outlines, attachments, metadata, and some forms — may not carry into a prepared copy. Review each prepared copy before relying on it. Prepared downloads use temporary browser memory and object URLs that the app revokes when they are replaced or cleared; your browser decides when released memory is reclaimed.

What is remembered during your visit

During your visit, your browser temporarily remembers your six answers. Coarse lifecycle measurement uses random, ephemeral identifiers for this browser tab and each diagnostic run. There is no account, analytics cookie, or stable identifier that follows you across sessions.

The site sends fixed, allowlisted lifecycle events to a same-origin endpoint. Those events may include a landing-surface category, current-surface category, coarse acquisition-source category, controlled/test traffic class, diagnostic step identifier, recommendation family, meaningful-action type, and an optional fixed outcome choice. Raw routes, URLs, query strings, referrers, and campaign values are classified transiently and discarded.

The optional outcome asks “Did this solve the issue?” and records only one of four choices: solved, partly solved, not solved, or not tried yet. It sends no free text and no proof of causality.

No analytics event contains PDF bytes, filename, document title or size, page counts or numbers, page images, extracted or document-derived text, checker findings, comparison choices or summaries, diagnostic answers, recommendation or prompt text, copied content, clipboard contents, email, application-payload IP, raw user agent, or persistent user identity. Printing or downloading a result remains browser-local.

Retention and controlled measurement

Allowlisted events are written by the site’s Cloudflare Worker to the environment-specific Cloudflare Workers Analytics Engine dataset for aggregate measurement. Cloudflare describes provider-managed Analytics Engine retention as three months. Governed product-learning and operational queries are limited to a lookback of no more than 90 days; that query limit is not a promise of deletion at exactly 90 days.

There is no raw-event export or archive and no D1, KV, R2, external analytics vendor, or other persistent analytics store for this measurement. Staging and authorized owner, operator, audit, production-smoke, and synthetic-monitoring traffic are classified server-side so governed reports can exclude them. Controlled proof is short-lived, tab-scoped, validated transiently, and not stored as analytics.

To enforce short analytics limits, the Worker temporarily uses the connecting IP to create a server-only keyed digest scoped to one 60-second window. It does not store the raw IP. The short-window counters are scheduled for deletion about one minute after that window ends.

Optional contact and feedback

The Contact / Feedback page prepares an email draft locally. Nothing is sent unless you review and send the draft through your own email app. Do not include PDF text, document content, or other sensitive information. Feedback text is not added to analytics, browser storage, diagnostic state, or PDF state.

Actions outside this site

If you later use an AI, OCR, or PDF service, that service has its own data practices. Review them before sharing sensitive material.