Skip to content

Privacy Policy

codingncaffeine edited this page May 20, 2026 · 1 revision

Privacy Policy

Effective date: 2026-05-17 Applies to: Emutastic for Windows (all versions)

Summary

Emutastic does not collect, store, transmit, or sell any personally identifiable information. It contains no analytics, no crash reporting, no telemetry, and no user-tracking of any kind. Emutastic operates no servers of its own. All persistent state lives on the user's local machine.

The rest of this page documents the specifics in the format RetroAchievements' hardcore-compliance review expects.

What data Emutastic collects

None. Emutastic does not collect any data about its users or their usage of the application.

What data Emutastic stores locally on the user's machine

Emutastic writes the following to the user's local filesystem, under either %AppData%\Emutastic\ (default) or a user-chosen custom data folder, or PortableData\ next to the executable in portable mode. None of this leaves the user's machine via Emutastic.

What Where Notes
Library database (game list, play counts, save metadata) library.db SQLite. Contains only the user's ROM paths, titles, console, play history, and artwork paths. No external IDs or PII.
User credentials for third-party services config.json RetroAchievements username/token and ScreenScraper username/password are stored here when the user opts to log in. Stored in plaintext locally; never sent to Emutastic-controlled servers (Emutastic operates none).
Save files and save states BatterySaves\, Save States\ Per-game .srm / .state files, generated by the active libretro core.
Screenshots and recordings Screenshots\, Recordings\ Local image and video files.
Cover art and metadata Artwork\ Cached locally after the user fetches it from ScreenScraper or OpenVGDB.
Logs Logs\emulator.log, Logs\ra.log Diagnostic output from emulation and RetroAchievements activity. Never transmitted; written for the user's own debugging.

What outbound network traffic Emutastic generates

Emutastic makes outbound HTTPS requests to the following third-party services, only as part of explicit user actions (logging in, fetching artwork, downloading a core / DAT / asset, checking for updates) or to render content the user has explicitly opted in to display (RetroAchievements badges and game art when an RA session is active). Emutastic does not proxy these connections — the requests go directly from the user's machine to the third-party service. None of these requests are made automatically in the background without a user-initiated action triggering them. There is no Emutastic-controlled telemetry endpoint.

Retro Achievements

Service When What is sent What is received
RetroAchievements API (retroachievements.org/API) The user is logged into RA and is playing a game or browsing the Achievements tab The user's RA username / login token / Web API key (which the user provides), the User-Agent string Emutastic/<version> (Windows X) <core>/<version>, game hashes for identification Achievement metadata, unlock confirmations, leaderboard data, profile info
RetroAchievements media (media.retroachievements.org) The Achievements tab and detail card render achievement badges and game icons Anonymous image requests for badge / game IDs PNG badge images

Artwork and metadata

Service When What is sent What is received
ScreenScraper API (screenscraper.fr/api2/) User opted into artwork / metadata fetching and entered ScreenScraper credentials ScreenScraper credentials, ROM filenames / hashes Cover art, screenshots, video previews, game metadata
Arcade Italia / progettoSNAPS (adb.arcadeitalia.net/service_scraper.php) Metadata refresh on an arcade game Arcade game short name (e.g. galaga) Title screen, marquee, flyer, screenshot URLs, metadata
Libretro thumbnails (thumbnails.libretro.com) Artwork fetch fallback when ScreenScraper / OpenVGDB don't have coverage Anonymous request for <system>/<category>/<title>.png PNG thumbnail image

OpenVGDB is not a network service in Emutastic — the application ships an embedded copy of the OpenVGDB SQLite database (Assets\openvgdb.sqlite) and queries it locally. No network traffic is generated for OpenVGDB lookups.

Downloadable assets (Preferences → Extras)

The following endpoints are contacted only when the user explicitly clicks Install / Update on the corresponding asset in Preferences → Extras or Preferences → Cores.

Service What is sent What is received
Libretro core buildbot (buildbot.libretro.com/nightly/windows/x86_64/latest/) Anonymous request for a core .dll filename The core's .dll binary
Libretro cheats database (buildbot.libretro.com/assets/frontend/cheats.zip) Anonymous request cheats.zip (community cheat collection)
Libretro DAT repositories (raw.githubusercontent.com/libretro/libretro-database/..., .../FBNeo/..., .../mame2003-plus-libretro/...) Anonymous request for specific DAT / XML DAT / XML file used for ROM identification
Libretro overlay-borders (api.github.com/repos/libretro/overlay-borders/...) Anonymous request Vectrex overlay PNGs
Redump (http://redump.org/datfile/<slug>/) Anonymous request Redump DAT file for disc-based systems
SDL3 release (api.github.com/repos/libsdl-org/SDL/releases/latest) Anonymous request Latest SDL3 release metadata, then a follow-up download of SDL3.dll
FFmpeg builds (github.com/BtbN/FFmpeg-Builds/releases/download/latest/...) Anonymous request ffmpeg.exe binary

Update check

Service When What is sent What is received
GitHub Releases API (api.github.com/repos/codingncaffeine/Emutastic/releases/latest) The user opens Preferences → About Anonymous request for the latest release tag The latest version number, used to display "A newer release is available" if applicable

Server locations and countries

Emutastic operates no servers. There is no Emutastic backend, no Emutastic database, no Emutastic-hosted log aggregation, no Emutastic-hosted analytics. Server-side privacy policies for the third-party services listed above are governed by those services individually:

Data retention

Emutastic itself retains no user data (because it collects none). Local files written to the user's filesystem persist until the user deletes them. There are no automatic expiration or retention schedules — the data is the user's own.

GDPR / privacy regulation compliance

Emutastic does not act as a data controller or data processor under the GDPR, CCPA, or any analogous regulation, because it does not collect, store, transmit, or process personal data. Users in any jurisdiction have the same posture: their data stays on their own machine, under their own control.

For data held by the third-party services Emutastic talks to on behalf of the user, the user is the data subject and the third-party service is the controller. See those services' privacy policies linked above.

Children's data

Emutastic does not knowingly collect any data from any user, including children under 13. It collects no data from any user, of any age, regardless of jurisdiction.

Changes to this policy

Updates to this policy will be published on this page, with the effective date updated at the top. The git history of this page in the wiki repository is the authoritative changelog.

Contact

For questions about this policy, open an issue at the Emutastic GitHub repository.

Clone this wiki locally