Shengji · shengji.app
Privacy Policy
Who runs Shengji
Shengji is an online card game operated by Victor Powell. This policy explains how the game at shengji.app and the Shengji Discord Activity handle information. For questions or privacy requests, email vicapow@gmail.com.
Information used to run the game
- Your player name and seat. On the website, you choose a name. The game creates identifiers and a reconnect credential so you can return to your seat. Your browser stores these and preferences such as language and sound settings.
- Game state. The server saves tables, participants, hands, plays, scores, readiness and connection status so multiplayer games work and can recover after a restart. Players at your table can see your name, public plays, reactions and connection status. Hidden hands and buried cards are shared only when the rules allow. Sharing a private invitation lets its recipient, and services that create link previews, see the host's display name, seat count and whether the table is waiting or has started.
- Discord information. When you authorize the Activity, Discord provides your user ID and public profile information. We use your display name and verify your membership in the Activity. We save the Activity identifier, display name and an identifier derived from your Discord ID to reconnect you to that table. This authorization does not request your email, private messages or friends list. Access tokens are used temporarily for authentication and are not saved in the game's database or browser storage.
- Usage counts. We count daily players and rounds started, completed or timed out, including whether tables are public or private and whether play is inside Discord or through the website and native apps. The database uses hashed player and table identifiers to avoid counting the same activity twice. A hashed identifier derived from your Discord ID lets us count Activity players across tables. These are pseudonymous identifiers, not a guarantee of anonymity. Usage reports contain aggregate counts, categories and dates, not player names or card hands.
- How visitors find the game. On public website pages, your browser stores a random visitor identifier. We classify arrivals into broad categories such as Google, Bing, other search, Discord, social, referral or direct, using a recognized link label or the referring site's domain. The server stores a hash of the visitor identifier and can link it to your game identifier to count new browsers and same-day visits that lead to joining an online table or starting a round. We do not store full referring URLs, search terms or private invitation tokens for this measurement.
- Feature interactions. We count meaningful actions such as opening menus, changing settings, selecting or playing cards, using practice or tutorials, sharing an invitation, sending a reaction, and operating voice controls. Individual event records contain a predefined action name and outcome, the time reported by your device when available, the time our server received it, platform, and pseudonymous user, browser and session identifiers. For online play, records can also include a hashed table identifier, whether the table is public or private, and the round number. These records let us understand sequences of interactions and investigate problems. Client-reported actions are distinguished from results accepted by the game server. These analytics do not contain names, typed text, card contents, invitation links, microphone audio or click coordinates.
- Technical and support information. Our hosting and network providers process connection information, including IP addresses, to deliver and secure the service. Errors may appear in operational logs. If you contact us, we receive the information you choose to send.
Optional voice
On the website, your microphone is off until you choose to enable it and grant permission. Audio is sent to the other voice participants at your table using WebRTC. Cloudflare's relay service may carry the encrypted audio and process connection metadata. The Shengji game server handles connection signaling; it does not record or store your audio. Other participants can hear what you say, and we cannot prevent them from making their own recordings.
Inside Discord, players use Discord's voice features instead of the website's voice system. Discord handles that audio under its own policies.
Service providers and sharing
Railway hosts the game server and saved data. Cloudflare supplies the optional voice relay service. Discord provides Activity hosting, account authorization and its own voice features when you play inside Discord. These providers process information needed to supply their services and may retain their own operational records.
We do not sell your personal information, use it for targeted advertising, or include advertising trackers in the game. Information may also be disclosed when required by law or reasonably necessary to protect players, prevent abuse or secure the service.
You can read the policies of Railway, Cloudflare and Discord. These services may process data outside your country.
How long information stays
Browser preferences, the random visitor identifier and reconnect information remain until you clear them or the game replaces them. Clearing browser storage does not delete server records and can prevent you from recovering a seat.
Ordinary private tables currently have no automatic inactivity expiry. Public tables close under the game's inactivity rules. Discord tables and their associated reconnect credentials are scheduled for removal after all human players have been offline for five minutes; server downtime or restart recovery can delay cleanup. This does not remove separate usage-count records.
Individual interaction records and aggregate action counts currently have no automatic deletion schedule. Temporary aggregate-deduplication records and per-action counting indexes are removed after 30 calendar days; that does not remove the underlying individual interaction history. Delivery is best effort, and disconnected or blocked clients may have unreported actions.
Ordinary website player identifiers, reconnect credentials and historical usage records, including hashed visitor identifiers and their game-identity links, currently have no automatic deletion schedule. They may remain after a table closes. Provider logs have separate retention settings. Contact us to request deletion of information associated with your play.
Your choices and requests
You can change your display name, clear this site's browser storage, turn off your microphone, leave a table, or revoke Shengji authorization in Discord. Revoking authorization prevents future authorized access but does not automatically delete previously saved game or usage records.
Email vicapow@gmail.com to request access, correction or deletion, or to ask about other privacy rights available where you live. Include your display name, approximate play date and whether you played through Discord so we can help locate the relevant records. We may need to verify that a request concerns your information. Do not send passwords, access tokens or private invitation links. Some information may need to be retained for legal or security reasons; aggregated counts that no longer identify you may remain.
Age and updates
This service is intended for people aged 13 or older. Discord users must also meet Discord's minimum age in their country. If you believe a child below the applicable minimum age has provided personal information, contact us.
We may update this policy as the game changes. The date at the top shows the latest revision. Material changes will be described on this page.