Privacy
Privacy
Your frames never leave the device. This page says exactly what does.
Your photographs
The stacker reads the files you choose with the browser's File API, decodes them in a Web Worker in this tab, merges them there and offers the result as a download from the tab's own memory. The page contains no code path that could send a frame, a thumbnail, a file name, a byte count or an EXIF field anywhere; the one picture that can leave is a finished result you choose to share, described under “Share links”. Object URLs for downloads are revoked when replaced and when the page closes. The camera details the stacker copies into your result (camera, lens, date, exposure; never the GPS position or serial numbers) are read from the first frame in the tab and written only into the files you download. If you press the sample button, the page downloads seven sample frames from this site; nothing is sent the other way. To open without a network, the site keeps copies of its own pages and scripts — never a frame — in your browser's cache storage, through a service worker that always asks the network first. Nothing about a frame is written to local storage, IndexedDB or a cache. When you are not signed in, the only value this site stores is your advertising consent answer, where that question is asked (see the cookies page); signing in adds the cookies and the few short-lived sign-in values described under “Your account”.
Your account (optional)
You can sign in with Google to keep lens kits, saved shooting plans, the settings of the stacks you finish while signed in (method, frame count, frames used, size, scale, time, file type and whether sharpening was on — never a file name, a pixel or a camera detail) and your default settings. Sign-in asks Google for openid email profile; the site keeps your email address and name, not your picture. During a sign-in the page keeps two short values in this tab's session storage (the sign-in state and where to return) until it completes. Sign-in sets three cookies: __Host-sf-focusstack, the session (HttpOnly, 12 hours); __Host-sf-focusstack-hint, a flag with nothing in it that tells the page to ask whether you are signed in; and __Host-sf-focusstack-state, for ten minutes during a sign-in. If you press a Pro beta price, the price shown and, if you tick it, your wish to be emailed when paid plans open are kept with your account; nothing is charged and there is no payment processor. Deleting your account from the account page removes all of it at once; the database's point-in-time backups keep its state for up to 35 days. Focus Stacks' use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Share links (optional)
When you are signed in and press “Create link” under “Share this stack”, the page uploads a copy of that one result — at most 2048 × 2048 pixels, as a JPEG — its depth map as a PNG when it is small enough, and, if you leave “Include the before/after” ticked, a copy of the single sharpest frame of the bracket at the same size, for the comparison. No other frame is ever uploaded. Before keeping them, the server removes every block of text the files could carry (camera details, location, comments). They are stored in this site's own storage in the EU (Frankfurt), readable only by its server, with the title you gave, the frame count, the method and the date, and kept until you delete the link on your account page or delete the account. Anyone who has the link can see the picture and those facts, never who shared it; the link's code sits after the “#” in the address, which a browser does not send to a server. A free account holds up to 20 links and 100 MB. The publisher removes a shared picture that is reported and breaks the terms or the law. If you offer a share for the monthly showcase, the details you type (a credit name, camera and lens, all optional) are kept with it; a chosen entry is copied onto the showcase page with them, and withdrawing it, deleting the link or deleting the account takes it off within a month.
Audience measurement
The page loads a cookieless measurement script from analytics.pagefabrica.com, a self-hosted Umami instance operated by the publisher. It honours Do Not Track. It sends a page view and, at most, a name from a fixed list of events — work_started, work_completed, frames_added, alignment_failed, fit_mode_engaged, memory_refused, export_jpeg, export_png, export_tiff, sharpen_toggled, stop_pressed, raw_frames_added, tiff_frames_added, plan_computed, sample_loaded, export_depth, retouch_opened, retouch_applied, method_depthmap, brackets_split, launched_with_files, sign_in_clicked, sign_in_completed, pro_intent, plan_saved, kit_saved, export_clip, share_created, share_viewed, batch_started, batch_completed, video_frames, convert_started, convert_completed, convert_failed, pano_started, pano_completed, pano_failed, hdr_started, hdr_completed, hdr_failed, outbound_click — with no properties. Before sending, it shortens each page address and the referrer in this browser: the part after # is removed, and of the part after ? only the five campaign tags (utm_source, utm_medium, utm_campaign, utm_content and utm_term) are kept; every other parameter is dropped. It also records how long pages take to load and respond (such as LCP, INP and CLS) with the page address and device type, to help find slow pages; these timings contain nothing about your images. It sets no cookie and stores no identifier in the browser. Ordinary web requests still expose standard transport information (your IP address, browser type) to the receiving host, which does not store them against a profile.
Advertising and consent
The site reserves advertising surfaces on the guide pages and below a completed result. When an advertising unit is configured, the ads are served by Google AdSense, and Google and its partners may use cookies or similar storage to select and measure advertisements according to your region and your choices. Where consent is required — the EEA, the United Kingdom and Switzerland — a Google-certified consent platform asks before any advertising purpose that needs consent, and refusing is as easy as accepting; nothing advertising-related loads until you have answered. Where US state privacy laws apply, the applicable opt-out is exposed before targeted advertising is activated. Nothing from your frames is added to an ad request. While the unit identifiers are empty, no advertising library is requested at all.
If you write to support@focusstacks.com, the message is kept for as long as it takes to answer it and for a reasonable period afterwards, then deleted. Do not attach a private series.
Your rights
Under the GDPR, the UK GDPR and comparable laws you may ask what data is held about you, ask for its correction or deletion, and object to processing. For the measurement described above there is no profile to return; for email, write to the same address. You may also enable Do Not Track.
Last updated 5 October 2026. Questions: support@focusstacks.com