Last updated: July 27, 2026
Security and Shared Data
LeagueRecord Custom treats shared match JSON as untrusted data and keeps Google user tokens inside the protected desktop process.
Access and refresh tokens stay in the Electron main process, are encrypted with OS-backed storage, are never placed in match JSON, and are removed when Google is disconnected.
The App validates size, structure, fields, strings, numbers, and URLs before shared data reaches the player or scoreboard. Invalid data is rejected.
Data handling safeguards
- Shared JSON is never evaluated or executed as code.
- Unexpected fields, unsafe URLs, scripts, HTML, and invalid structures are rejected.
- Database rules validate ownership, permitted fields, structure, and rate limits.
- Google tokens, email addresses, local paths, and video files are excluded from public match data.
- Users can anonymize player-identifying fields before publishing match data.
Current limitation
Because the current desktop client writes match data directly to Firestore, a modified client may attempt to submit invalid data. The official App therefore validates retrieved data again and refuses to use content that does not match its expected safe format.
Reporting a problem
Use LeagueRecord Custom support. Do not include passwords, access tokens, refresh tokens, or private personal information.