Virtual Jaguar does not collect your data. There is no account, no telemetry, no analytics, no crash reporting and no advertising, in the app, in the core or on this website. This page lists the few network connections the software can make, so you can decide which to allow.
Effective 2026-10-14. Applies to the Virtual Jaguar libretro core and the Virtual Jaguar desktop app, as of app version 3.9.0.
Virtual Jaguar libretro is an open-source project, maintained by Joseph Mattiello. The source code is at github.com/libretro/virtualjaguar-libretro, so everything described here can be checked against it. To ask a question or report a problem, open an issue on GitHub. Issues are public: do not put personal information in one.
Nothing. The project runs no servers that receive data from the app or the core. This website is static pages hosted on GitHub Pages and has no scripts, cookies, analytics or third-party assets. GitHub, as the host, may log visitors’ IP addresses and requests under GitHub’s privacy statement. We do not receive those logs.
The app has no update check. It never contacts anyone to ask whether a newer version exists; you download releases yourself.
The app and core never send your ROMs, save files, save states,
settings, file names or folder paths anywhere. Every connection also
reveals your IP address to the server you contact, which is how the
internet works. Requests from the app identify themselves as
VirtualJaguar/<version>.
| Service | When | What is sent | Their policy |
|---|---|---|---|
| RetroAchievements (retroachievements.org, media.retroachievements.org) |
Only if you use achievements. Signing in, loading a game while signed in, earning an achievement, opening the Achievements window. Can be turned off in the app (Enable RetroAchievements). | When you sign in: your user name and password, once, to obtain a login token; the password is not kept. After that: the token, the checksum (hash) of the game you load, your unlocks, whether hardcore mode is on, and the game’s rich-presence text. Opening the Games tab downloads the public list of games with achievements (no login data). Achievement pictures are downloaded from their image server. | Legal & Terms |
| libretro thumbnails (thumbnails.libretro.com) |
When the game library recognises a game from its database and “Download art and cheat packs” is on (the default). Turn it off in the Library settings. | A request for that game’s box-art and screenshot pictures. The game’s database title (not your file name) is part of the address. | libretro privacy policy |
| This project’s website (jaguar.provenance-emu.com, hosted by GitHub Pages) |
Same as above, for Jaguar CD games whose art is not on libretro thumbnails. | A request for the disc’s picture; the game’s title is part of the address. The site operator does not see these requests, but GitHub, the host, may log them. | GitHub privacy statement |
| This project’s website, community cheat store (jaguar.provenance-emu.com/cheats/, hosted by GitHub Pages) |
Only with a cartridge loaded and “Download art and cheat packs” on (the default): when you open the Cheats window (at most once every 6 hours), and when you press Check for updates, Install or Update. Never at start-up and never for CD games. | A request for the store’s list of packs and, when you install or update, for the one pack named by the loaded cartridge’s CRC32 checksum. Nothing else: not your file names, folder paths, saves or settings. The pack is checked against the list before it is kept. GitHub, the host, may log the requests. | GitHub privacy statement |
| GitHub (raw.githubusercontent.com) |
Only when you press “Update database” in the Library. | A request for the two public game-database files from the libretro-database project. Nothing about your games. | GitHub privacy statement |
| Discord (your own Discord app, on this computer) |
From version 3.9.0, only while the Discord app is running, and only if “Show what I’m playing on Discord” is on. | The app talks to the Discord program on your computer over a local connection and never contacts Discord’s servers itself. It hands that program the game’s title, platform, paused or netplay state, elapsed time, a box-art web address, and for achievement games the progress count and a link to the game’s RetroAchievements page. Discord then shows this on your profile under Discord’s own rules. Turn it off in Settings. | Discord privacy policy |
| Neuro API server (an address you type: ws://localhost:8000 by default) |
Only if you tick “Connect to Neuro” in Settings (or start the app with --neuro). Off by default, and never while RetroAchievements hardcore is on. |
The app connects to the server and acts as a game for the Neuro game API: it sends the name of the game (its title from the game library, else one made from the file’s name; “Atari Jaguar” when none is loaded), the actions it offers, whether the game is paused, which controller buttons are held, short notices (a new game was loaded, the in-game menu is open or Player 1 is a mouse so button presses are not reaching the game), and the values of the few memory locations a game profile watches (a score, lives). The server sends back the button presses it wants, which the app plays as Player 1. Nothing else is sent: not your files, folder paths or saves. The connection is ws://, which is not encrypted: anyone on the network path between you and the server can read and change it. It is meant for a server on this computer or your own network; the settings page warns when the address is somewhere else. wss:// is not supported. |
Whoever runs the server you point it at (for the SDK’s test bots: you). |
The shaders, cheat files and achievement library the app ships with are downloaded when the app is built, not when you run it. Installing the app downloads it from GitHub Releases, which is governed by GitHub’s policy.
These are off until you turn them on, and they never go through a server of ours.
The app keeps its files in one folder and uploads none of them. By
default that is ~/Library/Application Support/VirtualJaguar/
on macOS, %APPDATA%\VirtualJaguar\ on Windows and
~/.local/share/VirtualJaguar/ on Linux. The portable
Windows zip uses a data folder next to the program instead.
config.ini: your settings, the list of game folders you
added, and, if you signed in to RetroAchievements, your user name
(the login token itself is not kept here; see below).saves/ and states/: game saves and save states.library/: the list of games found in your folders, and your favorites and recents.thumbnails/, covers/ and ra-cache/: downloaded and custom pictures.cheats/: which cheats you turned on for each game, and in cheats/community/ the community cheat packs you installed and the last list of packs the store sent.system/: BIOS files you put there.
The RetroAchievements login token is kept in your operating
system’s credential store: the Keychain on macOS, Credential
Manager on Windows, and the Secret Service keyring (libsecret) on
Linux. If no credential store can be used (for example, no keyring is
running, or access is denied), the app falls back to keeping the token
as plain text in config.ini and says so in Settings; in
that case, treat the file like a password.
To delete everything, choose Sign out in the app (this removes the token from the credential store), then quit the app and delete that folder; uninstalling the app does not remove it. To forget only your RetroAchievements sign-in, choose Sign out in the app. The app writes no log file; its diagnostics go to the terminal if you start it from one. Inside RetroArch, the core keeps nothing of its own: your saves, states and logs are in RetroArch’s folders.
We collect no personal information from anyone, including children. RetroAchievements and Discord have their own age rules; read theirs before signing in to them.
If the software changes in a way that affects this page, the page will be updated in the same project and its effective date changed. The full history is in the repository. Questions: GitHub issues.