Privacy Policy
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.
Who we are
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.
What we collect
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.
What the app sends, and to whom
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” 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 |
| 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 |
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.
Link play, netplay and debugging
These are off until you turn them on, and they never go through a server of ours.
- Network Link (core option, also used by the app’s Netplay window). In TCP Host or TCP Client mode the emulator connects directly to the other player’s computer at the address you choose. The data is the emulated console’s serial-port traffic. It is not encrypted, so use it with people and networks you trust. A host listens on the port you pick on all of your network connections.
- LAN discovery. While hosting, the core broadcasts a small message to your local network once a second, containing your computer’s name, the link port and the device type, so other players on the same network can find you. A client only listens for these. Nothing is broadcast in the default mode, and the app does not remember a host or client choice between launches.
- In RetroArch. The default “Automatic” link mode rides on RetroArch’s own netplay, if you use it. Any lobby or relay server is RetroArch’s, and RetroArch has its own privacy practices and its own RetroAchievements support. The core itself opens no connection in that mode.
- GDB debug stub. A developer option, off by default. When enabled it listens on a port on this computer only, unless you separately choose the LAN setting, which exposes it to your local network with no authentication.
Data stored on your computer
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/andstates/: game saves and save states.library/: the list of games found in your folders, and your favorites and recents.thumbnails/,covers/andra-cache/: downloaded and custom pictures.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.
Children, changes, contact
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.