Privacy policy

How your files are handled.

This policy describes the current website’s file processing, browser storage and network requests. Default compression runs in your browser without uploading files to a remote compression server.

Last updated: November 12, 2026

Files and results

Selected files are used for compression, preview and download. Default video, image and browser PDF modes process them on your device rather than uploading them to a remote server for compression.

Downloads create new output files. Keep originals and inspect results before sharing. Closing the page stops unfinished processing. You manage downloaded files on your device.

Browser storage

The site uses localStorage to remember your language, theme and image compression settings in this browser’s site data. It also stores how many times processing has succeeded, whether and when you closed the “add to desktop” tip, and whether the app is installed (neat_success_n / neat_nudge_dismissed / neat_installed), only to decide when to show that tip.

When opening a tool from the homepage, selected files are temporarily stored in this browser’s IndexedDB with separate records. The destination removes its record after reading it. Unopened files can be resumed from the homepage for up to one hour; expired records are cleaned up on a subsequent transfer write. sessionStorage keeps choice identifiers, filenames and counts. Clearing the homepage selection removes those pending records. sessionStorage also holds the session ID and event sequence number of the usage log (neat_sid_v1 / neat_seq_v1) until the tab is closed; only the production domains use them to send a usage log. Usage-log events that could not be sent before a page closed are held in neat_pending_v1 and sent, then cleared, the next time a page opens in the same tab; at most 200 KB, and only on the production domains.

You can clear this information in your browser’s site data or storage settings. This resets preferences but does not delete files saved to your downloads folder.

Page loading and external requests

Loading the site requests pages, scripts and sample assets from its hosting service. These requests include ordinary network information such as your IP address and browser information.

Fonts use your system font stack and compression modules are served by this site. Production domains also load Google Analytics and send a usage log to this site. Importing a video by URL requests the address you provide.

Visit statistics (Google Analytics)

yasuo.app and neatcompress.com use Google Analytics 4 (G-GRJJYDYNX7) to understand visits and website usage. The Google tag sends visit data to Google, such as page URLs, referring pages, browser and device information, and may use cookies to distinguish visitors and sessions. Analytics is disabled on local development and preview domains.

Files selected for compression are still processed on your device. Production domains send a small number of custom events about processing capability and results: the engine used (hardware or software), whether a fallback occurred and its reason code, the source video codec, resolution and duration buckets, whether the resolution was lowered automatically, processing speed, device capability (operating system, CPU core count, GPU vendor, codec support), and which feature was used (video compress, trim, mute, extract audio, merge, GIF or batch; PDF smart or scanned-document mode; image compression). Image events also record an output-format bucket and a count bucket. These events do not include file contents, filenames, exact sizes or processing logs. A more detailed usage log is described in the next section. Automatic measurement by Google Analytics depends on the analytics property settings. You can restrict analytics through your browser privacy or cookie settings.

For visitors in the European Economic Area, the United Kingdom and Switzerland, analytics does not write cookies by default and only sends anonymous requests without identifiers. Visitors in other regions may receive cookies. Google signals and ad personalization are turned off. The custom events are video_caps (device capability), video_run (a summary of one video result, including feature), video_slow_notice (the slow-speed notice was shown), pdf_run (one PDF compression) and img_run (one image batch). The field scope matches the previous paragraph.

Usage log

To investigate failed or slow compressions, the production domains send a usage log to this site's own server (Cloudflare). It includes your IP address and the country and city derived from it; the page path (without URL parameters), timestamps and site version; browser and device details (User-Agent, OS, screen, CPU cores, memory, GPU model, network type, time zone, browser language, codec support); the referring site (domain only, or source tags in the URL such as utm_source when no referrer is sent); the extension / type / size / duration / resolution / codec / frame rate / bitrate / audio parameters of files you choose (for PDFs also the page count, number of images and the share of the file they take up); the settings you pick; timing and progress of each processing stage, the result and output size; downloads; and on failure the error message, stack trace, the last button or link you clicked and the tail of the processing log. The log also records whether the “add to desktop” tip was shown, clicked or closed, and the running count of successful runs. When a run is stopped because browser storage is short, the log also records the expected output size and the storage space the browser has left for this site. The log also records clicks on the homepage example comparison, whether it loaded or failed, and the wait from the click until the comparison is displayed.

The usage log does not record file contents and does not deliberately record full file names — file names that appear in error messages and logs are replaced with the extension; text you type into the feedback box is recorded as typed. Sessions are told apart by a random ID that lives only in the current tab. Entries are deleted automatically after three months. Pressing a send button on an error notice or slow-speed notice, or Send email on the feedback page, also writes the diagnostics to the usage log, and on the feedback page your description (up to 2,000 characters) is written with them. Local development and preview domains do not send it.

Policy updates

When processing or storage changes, we will update this page and its date. This describes the current version, not the data practices of possible future features.

Chrome extension (version 1.0.1 and later)

The NeatCompress Chrome extension bundles its compression code locally and does not load Google Analytics. Files and results are processed on your device and are not uploaded to a compression server.

When you drag web media or choose a media context-menu action, the extension reads the selected resource URL to import it. Its content script adds media URLs to the current drag operation; it does not store drag history or enumerate browser tabs. Resource requests omit cookies and authentication credentials and do not send the source page as a referrer. The resource host still receives the requested URL and ordinary network information such as your IP address. Protected resources may need to be saved locally before import.

Theme and tool preferences are stored locally. A pending context-menu import URL and timestamp are kept in extension session memory until consumed or the browser session ends; they are not written to persistent storage. Updating to this version removes the old pending-media and drag-history storage keys. Uninstalling the extension clears its storage, but does not delete downloaded files.

User data is used only to provide the described file-processing features, not sold, used for advertising, or used to determine creditworthiness. The use of information received from Google APIs adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.

Feedback you choose to send

Feedback is never sent automatically. This tab keeps up to 10 unhandled error codes, code locations and page versions in session storage, cleared when the tab is closed. This local record does not hold exception messages, filenames, file contents or URL parameters; the usage log is described in its own section. Copied diagnostics also include a device-capability snapshot and a summary of the latest run (engine path, fallback reason code, resolution and duration buckets, speed); they do not include filenames. Copying feedback includes these details and browser information; you choose whether to send an email in your own mail app. On production domains, pressing a send button also writes these diagnostics (on the feedback page, together with your description) to the usage log.

Back to the tools. Try your own file.

Start compressing