Development data handling

Your games and posts, in plain view.

Choose a browser-local guest library or a reader account that saves your shelves across devices.

Guest libraries and posts

Guest shelf choices, follows, and browser-only fallback posts stay in this browser. Clearing browser storage removes local choices. When the community service is available, a random HttpOnly guest cookie identifies shared posts. Losing that cookie loses access to its identity; it has no account recovery. Signing in does not claim existing guest posts.

Reader accounts

Registration stores a login, display name, password hash, recovery-code hash, creation time, and a separate community identity. Shelves, followed games, and when you marked updates seen are saved to the account. Signing in loads saved choices and leaves the browser’s guest library separate. Importing local choices is explicit: saved account shelves win conflicts and follows are combined.

Reader sessions use random tokens in an HttpOnly, SameSite cookie. The server stores token hashes; sessions last up to 30 days unless you sign out, recover access, or delete the account. Recovery needs your login and saved code, revokes old sessions, and gives you a replacement code to save. We do not collect an email address for this workflow. Losing both password and code prevents self-service recovery.

Shared community and moderation

The server stores posts, reports, helpful votes, blocked posters, and moderation appeals under your current reader or guest identity. Posts are public; reports and appeals enter private operator queues. Moderation actions are recorded. You can remove your own posts, block a poster from your view, and appeal a moderator-hidden post. Signing out returns to the browser’s guest identity.

Abuse limits use network addresses or hashes of addresses/logins. Reader rate-limit buckets contain hashes and expire after 15 minutes; expired buckets are removed on later attempts. Node guest-session limits use memory; PHP community rate limits use database counters. Hosting access logs may have separate retention, which must be documented for the chosen release host.

Export and account deletion

My library offers CSV and JSON downloads. When signed in, account JSON includes account details, saved shelves/follows, and your community posts, reports, votes, blocks, and appeals. It excludes credential hashes, sessions, and recovery secrets. Guest export includes local choices and available guest community data.

To delete a reader account, open My library, expand Delete this reader account, enter your current password, and type DELETE. This removes its active account, library, recovery hash, sessions, community identity, and posts. It also removes its own votes/reports/appeals/blocks and records associated with removed posts. Other people’s replies remain theirs; replies whose parent discussion was removed are hidden and unlinked. Your browser’s separate guest library and guest posts are not removed.

A private deletion record retains account/community IDs, a sequence number, and the deletion time for reconciling older backups. It contains no name, login, password, library, or post text. These records currently have no automatic expiry; production backup and retention policy remains unfinished.

Deletion affects active storage. It cannot recall downloaded exports or copies other people made. Local encrypted backups can be restored with a newer deletion registry; the restored environment stays isolated while recovery is checked. Hosted backup coverage, scheduling, retention, off-machine deletion recovery, and access-change reconciliation are not yet accepted for release.

Country-based game badges

Country lookup is disabled by default. If the operator enables it, your browser requests an approximate country from Country.is. That service receives your network address. The request sends no account details, cookies, library data or page referrer. This site keeps only the two-letter country code in session storage for up to 30 minutes; failed lookups are cached for five minutes. No precise device location is requested. VPNs and network routing can affect the estimate. Badges stay hidden when the visitor country or game origin is unknown.

Steam connection and import

On the local Node server, Steam sign-in verifies your identity with Steam OpenID. We never receive your Steam password. Connecting stores your Steam ID and sync timestamps in your reader account. Sign-in can create a reader account; save the initial password and recovery code shown then. My library checks for visible owned games automatically, at most once a day while you visit it; Sync now allows another check after five minutes. Matching games are added to Backlog without changing existing shelves. Games outside this catalogue are counted, not stored. Disconnect removes the Steam connection and leaves your saved games; account deletion removes the connection too. Signing in does not grant access to private game details. PHP hosting currently supports manual import only.

Manual import

If enabled and chosen, your Steam ID is sent to this server for an owned-games request. The server does not save the ID or your full Steam library. It returns matching catalogue games and an unmatched count. You choose which matches to add to the current account or guest library; existing shelves are preserved. Import does not create reviews or ownership claims. Steam only returns details allowed by your visibility settings. Steam’s privacy notice.

Editorial sources and AI

Automatic drafting sends public developer, publisher, and platform source material to DeepSeek. Press reports remain attributed source links. Reader credentials, private libraries, and community posts are not inputs to automated article drafting. Contributor drafts, captured evidence, editorial feedback, and account audit records are private; published bylines, editor credits, review context, and disclosures appear publicly.

Go to My library