← Back to Logical

Policy

Privacy Policy

Last updated August 28, 2026 · LCS v0.7.1.

Authentication boundary

LCS uses Firebase Authentication with Google sign-in. Google and Firebase handle provider information required for authentication. LCS application code does not read, display, or write the Google account name, email address, provider profile photo, OAuth tokens, passwords, or provider credentials.

Private authentication ID

Firebase assigns an authentication UID. LCS uses that UID only as the document key for an owner-only privateAccounts record. The mapping contains a random public profile ID, security schema version, and creation timestamp. Firestore rules deny public access to the UID mapping.

Public identity and content

Public profiles contain a chosen display name, optional public bio, and timestamps under a random public profile ID. Posts, comments, communities, channels, ideas, problems, projects, Helpful reactions, public follows, project relationships, and open LFG listings are public by design. Do not place sensitive information into public content.

Status authorization

LCS uses a unified Status system. Founder and Moderator Status may be publicly visible as badges. Timeout Status is private to the affected account and authorized moderation. Status records use public profile IDs rather than Firebase Auth UIDs.

Moderation and deleted-content retention

Deleting a public post, project/idea/problem, comment, or LFG listing through LCS is generally a soft deletion. The item is hidden from normal public views but its previously public content can remain stored so authorized moderators can review what occurred. Author deletions/restorations, moderator removals/restores, and Status grants/revocations create append-only moderation log entries containing public profile IDs, action/scope/reason information, and snapshots of the already-public content or Status metadata. Moderation logs do not contain Google identity fields or Firebase Auth UIDs under the v0.6 schema.

Private social features

Friend requests, accepted friend relationships, LFG match requests, and block lists are protected Firestore records. Access is limited to participating/owning signed-in accounts as defined by Firestore rules.

Direct messaging safety

Direct-message threads and messages are access-controlled to the participating signed-in accounts under the current Firestore rules, but LCS does not treat a direct message as a confidential channel. Treat every direct message exactly like a public post or public message: do not send a real name, private address, phone/email, password, payment information, private account detail, precise location, or anything you would not want publicly visible. Messages can be stored, reviewed, copied, shared, or become publicly accessible. The messaging window keeps this warning visible at all times.

Browser translation

When supported by the browser, LCS can translate message text in-browser for display. LCS stores the original message text and the sender-selected language code; it does not store the generated translated copy as part of the direct message.

Founder bootstrap

A private systemPrivate/founder record may contain the founder's random public profile ID. Website clients cannot read or write that record. It does not need or contain the founder's Google email or Firebase Auth UID.

Legacy quarantine

Older UID-bearing collections are not publicly readable. A signed-in owner may privately migrate/delete only their own legacy records.

Repository data

The GitHub Pages repository contains static site code and Firebase Web App client configuration. Firebase browser configuration is public client configuration, not a server secret. Service-account keys, OAuth client secrets, private keys, access/refresh tokens, provider personal information, private social records, and database exports must never be committed to the repository.

Local browser state

Firebase Authentication may store authentication state in the browser so sign-in persists across refreshes. LCS does not place provider email/name/photo data into its own local storage.

Third-party services

Authentication and database functionality use Google Firebase services and are also subject to Google's applicable privacy practices and terms.

Public character avatars

A public profile may contain an avatar definition stored as validated JSON text. The definition contains only intentionally public rendering values such as characters, positions, font choices, colors, opacity, rotation, and background color. LCS does not accept an image upload or external image URL for this avatar system.