Skip to content

Data and privacy

What stays on your computer

Everything ROMKADE Manager stores is on your computer.

With Docker, in the volume romkade-data (mounted at /data in the container), plus typesense-data for the search index. From the source code (macOS), in ~/Library/Application Support/AnbernicGameManager/.

Item Content
settings.json Connection settings (no password)
catalog.sqlite3 Catalog, play time, favorites, descriptions, controls
save-backups/ Copies of your saves, one dated folder per copy
staging/ Games being prepared for copying
cache/boxart/ Downloaded box art
llm.json, play_settings.json AI choice, play time alert
secrets.json Docker only: console password and API keys, readable only by the container's account

Secrets (console password, AI and YouTube API keys):

  • with Docker, in secrets.json in the volume: the system keychain cannot be reached from a container. Do not share a copy of the volume;
  • from the source code, in the macOS keychain, under the service name anbernic-game-manager.

The API never returns them. The data folder keeps the project's former name, Anbernic Game Manager, so that existing installations keep their data.

What goes over the network

  • To the console, over SSH on your local network: reading the card, and the changes you start.
  • To the Internet, only for: box art (libretro thumbnails), trailers (YouTube, with your key), AI features (the provider you chose, with your key). With a local model, nothing about your games leaves your computer.
  • To ROMKADE: your ROMKADE account (sign-in); usage statistics only if you accept them (off by default: screens, buttons, app version and language, never game titles or text you type); and, if you link your console to Claude or ChatGPT, what ROMKADE Cloud needs: see ROMKADE in Claude and ChatGPT.
  • Never: the games themselves or the content of your saves.

All the details are in the privacy policy.

The interface only answers on the computer itself (127.0.0.1) and rejects requests coming from other websites open in the browser. With Docker, the search engine has no published port: only ROMKADE Manager reaches it.

Backing up

The most valuable part is save-backups/, the copies of your saves.

In the romkade folder, the volume is copied into an archive of the current folder:

docker compose down
docker run --rm -v romkade_romkade-data:/data -v "$PWD":/backup alpine tar czf /backup/romkade-data.tgz -C /data .
docker compose up -d
docker compose down
docker run --rm -v romkade_romkade-data:/data -v "${PWD}:/backup" alpine tar czf /backup/romkade-data.tgz -C /data .
docker compose up -d

Back up the data folder with the rest of the Mac: Time Machine includes it.

To restore with Docker: the same command with tar xzf /backup/romkade-data.tgz -C /data, service stopped.

Uninstalling

  1. In the romkade folder: docker compose down, then delete the folder.
  2. To also remove the data: docker volume rm romkade_romkade-data romkade_typesense-data.
  3. Optional: remove the images, docker image rm ghcr.io/romkade/romkade-manager typesense/typesense:27.1.
  1. Stop the server (Ctrl+C) and delete the romkade-manager folder.
  2. To also remove the data: delete ~/Library/Application Support/AnbernicGameManager/.
  3. Remove the search container, if Docker was used: docker rm -f agm-typesense.
  4. In Keychain Access, delete the entries named anbernic-game-manager.

Nothing needs to be removed from the console, except, if you want, the .agm-backups/ folder of replaced files in the ROMs folder.

Advanced options

Environment variables. With Docker, put them in a .env file next to compose.yaml (for example ROMKADE_PORT=8780); from the source code, set them before ./run.sh.

Variable Effect
ROMKADE_PORT Docker: port of the interface on the computer (default 8765)
ROMKADE_VERSION Docker: image version to use (default latest, for example 0.4.0)
TZ Docker: time zone of the container (default Europe/Paris), used to date sessions
AGM_TYPESENSE=0 Do without Typesense, use the built-in search
AGM_TYPESENSE_URL, AGM_TYPESENSE_KEY Use another Typesense server
AGM_NO_WATCH=1 Turn off the watcher that rereads changed console folders every minute
AGM_NO_TRACKER=1 Turn off play time tracking

The local API is documented at http://localhost:8765/docs while ROMKADE Manager runs.