Privacy policy

The complete text, without shortcuts.

This is the full policy for the Last Watched iPhone app and this website: what stays on your device, what is sent when you use network features, what the developer can receive, and how long each category is kept.

Version 0.3 · Effective 7 August 2026 · Supersedes version 0.2

Who operates Last Watched

Last Watched is developed and operated by Adam Aarniokoski, an individual developer based in Seattle, Washington, United States. Last Watched is not operated by a company or other legal entity.

Where privacy law uses a term such as “controller” or “business,” that individual is responsible for the processing described in this policy. In this policy, “the developer” means that individual.

Privacy contact: privacy@lastwatched.com.

Information stored on your device

Last Watched stores the following in its private app container:

  • a durable snapshot for each saved title, including its TMDB identifier and type, title, overview, poster and backdrop paths, release date, rating, episode count, and added and updated dates;
  • favourites and library status;
  • watched-episode and watched-movie history;
  • app preferences, including your streaming region and whether you enabled upcoming-episode reminders;
  • a separate replaceable cache of movie, television, person, season, episode, provider, and downloaded artwork metadata; and
  • maintenance information needed to migrate and repair the local database.

Recovery copies and device backups

If Last Watched detects that the active library database is damaged, it may preserve the damaged database in a recovery directory inside the app container before starting a clean library. A recovery copy can contain the same library and watch history as the active database. “Erase local library” does not remove it.

The developer does not operate a Last Watched account, library server, or synchronization server and does not receive your local library or watch history. Last Watched does not use CloudKit and does not provide cross-device synchronization.

An iCloud Backup, or a computer backup created through Finder or Apple Devices, may include the durable library, watch history, preferences, and recovery copies, depending on your Apple and device backup settings. That is device backup, not Last Watched synchronization. Replaceable metadata is stored under the system Caches location and is intended to be excluded from backup.

Library exports

You can export your library and watch history as a readable, unencrypted JSON file. Alongside status, favourites, and watch history, the export contains each saved title’s TMDB identifier, type, title, overview, poster and backdrop paths, release date, rating, episode count, and added and updated dates. It does not contain downloaded artwork bytes or the separate replaceable person, season, episode, provider, and detailed-title cache.

The file remains wherever you choose to save, copy, or share it. The developer does not receive an export unless you deliberately send it.

Local episode reminders

If you enable upcoming-episode reminders, Last Watched asks iOS for notification permission and schedules notifications locally on your device. Pending notifications contain the show title, episode title and number, internal show and episode identifiers, and delivery date. Notification previews may reveal this information on the Lock Screen according to your iOS settings.

Last Watched does not register for remote push notifications, upload a push token, or use a notification server. Local reminders do not use a Last Watched account, CloudKit, or iCloud synchronization.

Requests to TMDB

Last Watched uses The Movie Database (TMDB) for movie, television, person, season, episode, artwork, recommendation, and streaming-availability metadata.

When you browse or search, view title or person details, or when Last Watched automatically refreshes stale metadata for saved titles, a request may include:

  • search text that you entered;
  • a movie, television, or person identifier;
  • a show identifier and season number;
  • the requested page or category;
  • a language-locale code derived from your device settings; and
  • standard HTTPS information, such as IP address, request time, and request headers.

What TMDB requests can reveal

Artwork requests also tell TMDB’s image infrastructure which image path and size the app requested. Because Last Watched refreshes stale metadata for titles you have saved, those requests can reveal which titles are in your library, not only what you searched for.

Last Watched does not send TMDB your complete library, complete watch history, watched and unwatched state, favourites, or exported library file.

Your selected streaming region is currently applied on your device to provider results that TMDB has already returned. Last Watched does not send that preference as a separate TMDB API parameter.

TMDB processes information under its own privacy policy and terms.

Streaming-provider and viewing-option links

If you tap a viewing option, Last Watched opens either a provider search URL that may contain the selected title, or a TMDB title-specific viewing-options page supplied using JustWatch data.

The destination receives the information ordinarily sent when opening an HTTPS link, which may include your IP address, request time, browser or app information, the selected title, and a region reflected in the destination URL. The destination processes that information under its own privacy policy. Last Watched does not send a provider your complete library or watch history.

Opening a credit, privacy-policy, support, or other external link likewise sends the destination the information ordinarily sent with an HTTPS request, and the destination’s privacy policy applies.

Support, diagnostics, and Apple reports

Last Watched contains no developer-operated analytics service and no third-party crash-reporting SDK. The app does not directly transmit searches, usage events, its diagnostic report, or its logs to the developer.

Apple may separately provide the developer with App Store operational analytics and crash or performance diagnostics, under Apple’s policies and your device settings. TestFlight crash reports are handled under Apple’s TestFlight practices and may be shared automatically with the developer. Apple processes that information under its own privacy policy.

If you voluntarily contact the developer or share the in-app diagnostics report, the developer and the communication service you choose may receive:

  • your contact details and message;
  • app and operating-system versions;
  • language and selected streaming region;
  • aggregate library and watched-episode counts;
  • whether TMDB access is configured; and
  • any files or additional information you choose to attach.

What the diagnostics report leaves out

The built-in diagnostics report is designed to exclude titles, episode names, searches, individual watch events, API tokens, and device identifiers. Do not send a library export unless it is necessary for your request and you are comfortable sharing its contents.

GitHub support is public

The in-app “Get support” link opens GitHub Issues. Opening GitHub sends GitHub standard network information. If you submit an issue, GitHub receives your account information, issue text, comments, and attachments. If the repository is public, that material is publicly visible.

Do not post a library export or sensitive information in a public issue. Use privacy@lastwatched.com for a private privacy request. GitHub processes information under the GitHub Privacy Statement.

Website delivery

This website is delivered through Cloudflare. Standard request information can be processed for delivery, reliability, and security, including IP address, request time, requested path, browser or device information, and security signals.

The site is built without analytics, advertising, tracking pixels, session replay, external fonts, or nonessential cookies. A clean-profile production audit will confirm this before launch, and a final cookie statement will be published with it.

The website cannot retrieve anything stored only on your device. There is no Last Watched account to sign in to.

Why information is processed

  • Local information is processed on your device to provide library, watch-history, offline, next-episode, import and export, and optional reminder features.
  • TMDB and artwork requests are made to provide browsing, search, metadata, automatic refresh, and viewing-option features.
  • Information you choose to send for support is used to answer the request, diagnose the reported problem, maintain and secure Last Watched, prevent abuse, and establish or respond to legal claims where necessary.
  • Website request information is processed to deliver the site and keep it secure.
  • Information is preserved or disclosed when required by applicable law or valid legal process.

Legal bases in the EEA and United Kingdom

Where European Economic Area or United Kingdom data-protection law applies, the developer relies on the steps needed to provide the app or the support you requested; legitimate interests in maintaining security, preventing abuse, and handling legal claims, where those interests are not overridden by your rights; and legal obligations where processing is required by law.

You are not legally required to send support information. If you do not provide enough information to understand a support request, the developer may be unable to respond. Network request information is technically required to use TMDB-backed features. Last Watched currently has no offline-only setting.

Sharing, sale, advertising, and tracking

The developer does not sell personal information. Last Watched contains no advertising SDK and does not use information for cross-app tracking, targeted advertising, or behavioral advertising.

Information may be disclosed:

  • to TMDB and its image infrastructure when Last Watched requests metadata or artwork;
  • to a streaming provider, TMDB viewing-options page, or another external destination that you choose to open;
  • to Apple for device backup, TestFlight, App Store, crash, performance, and operational services under Apple’s practices and your settings; local notification requests are scheduled and processed on your device by iOS;
  • to GitHub when you open or use GitHub Issues;
  • to Cloudflare and the selected mail provider, limited to delivering this website and the privacy mailbox;
  • to a communication service and recipients that you deliberately select when sharing a diagnostic report, export, or message; and
  • where necessary to comply with law or valid legal process, or to protect rights and safety.

How long information is kept

  • Active library, durable saved-title snapshots, and watch history — until you remove them in the app, use “Erase local library,” uninstall Last Watched, or otherwise delete the app’s local data. Device and backup copies are separate.
  • Preferences — until changed, reset where a control exists, or the app’s local data is deleted.
  • Corruption-recovery copies — if Last Watched preserves a damaged database, it currently remains inside the app container until the app’s local data is deleted.
  • Replaceable TMDB metadata and artwork — Last Watched does not use an entry more than 180 days after it was fetched. Expired entries are removed during a later cache access or maintenance run, and iOS may remove caches sooner.
  • Pending local episode reminders — until delivered, removed by iOS, disabled by you, or removed during a later Last Watched reconciliation. Last Watched schedules reminders within the next 60 calendar days.
  • Exported JSON files — outside Last Watched’s control after export, and retained until you delete them from every destination, backup, or recipient you selected.
  • Private support messages, attachments, and developer-held Apple diagnostics — ordinarily deleted or anonymized within 12 months after the request is closed or the report is received.
  • Public GitHub support — public until deleted from GitHub, which may retain backups or other copies under its own policy.
  • Website access logs and mail-provider records — periods are being set with Cloudflare and the mail provider and will be stated here before launch.
  • Device and backup copies — according to your settings and the retention controls of Apple or the applicable backup provider.

Exceptions to those periods

A limited support or diagnostic record may be kept longer than 12 months only where necessary for a specific legal obligation, legal claim, documented security or abuse matter, or valid preservation request, and only for the applicable period.

TMDB, Apple, GitHub, Cloudflare, the mail provider, and external destinations determine their own retention periods under their respective policies.

Your choices

  • remove individual titles, with or without their active watch history;
  • erase the active local library in Settings;
  • export a copy of your active library and watch history;
  • change the selected streaming region;
  • disable local episode reminders and control notification previews in iOS Settings;
  • avoid transmitting search text by not searching;
  • avoid provider disclosure by not opening external viewing-option links;
  • control Apple analytics and backup choices through the applicable Apple and device settings; and
  • uninstall Last Watched to remove its active app container from the device.

What “Erase local library” does not do

It removes active saved titles and watched episodes. It does not reset preferences, delete exports stored elsewhere, control device backups, clear all replaceable caches, or remove a database previously preserved after corruption.

Browsing and automatic metadata refresh contact TMDB. There is currently no offline-only mode.

Your rights

Because Last Watched has no account and no developer-operated history server, there is no remote Last Watched account record to access or delete. Backup copies must be managed through the applicable device or backup service.

For information the developer does hold, you may write to privacy@lastwatched.com to request access, correction, deletion, or a portable copy. The data request page explains how to ask without oversharing.

Depending on where you live, you may also have the right to object to or restrict processing, including processing based on legitimate interests; to withdraw consent where a specific activity relies on consent; and to complain to a privacy regulator. The developer may need to verify a request and may retain information where an applicable exception requires or permits it. These rights are not limited by this policy.

Last Watched does not make solely automated decisions that produce legal or similarly significant effects. Its local progress and “Up Next” calculations are organizational app features, not advertising profiles.

Security

Last Watched uses Apple’s app sandbox for local data and HTTPS for supported network requests. TMDB JSON requests use a session without a persistent response cache or cookie store. The app limits archive sizes, validates imported archive structures, validates external provider destinations, and bounds local notification scheduling.

Exports are readable and unencrypted. Notification previews can expose title and episode information according to your iOS settings. No method of storage or transmission is completely secure, and the developer cannot guarantee absolute security for your device, backups, exported files, communications, or independent third-party services.

Children

Last Watched is a general-audience app and is not directed to children under 13. The developer does not knowingly request personal information from children. If you believe a child submitted personal information through support or a public issue, contact the developer to request deletion.

International use

The developer is located in the United States. TMDB, Apple, GitHub, Cloudflare, the selected mail provider, and external destinations may process information in the United States and other countries. Where the developer makes a transfer that is restricted by applicable law, the developer will use a legally recognized transfer mechanism or other required safeguard. You may contact the developer for information about safeguards applicable to developer-held information.

If EEA or UK law applies, you may complain to the supervisory authority where you live or work, or where you believe a violation occurred. UK users may contact the Information Commissioner’s Office.

Applicable law

The developer is based in Washington State, United States. The privacy laws that apply can depend on where you live and the processing involved. Nothing in this policy selects an exclusive forum or limits non-waivable consumer or privacy rights under applicable law.

Changes to this policy

This policy will be updated before Last Watched materially changes its collection, use, sharing, notification, or retention practices. A revised policy will carry a new version and effective date, and prior effective versions will remain in the legal archive. Where required, additional notice or consent will be provided before a change takes effect.

Contact

Privacy questions and requests: privacy@lastwatched.com.

Adam Aarniokoski, individual developer, Seattle, Washington, United States.