Policy / 04
Presence is a choice.
Being online is not an invitation to be watched. Presence is opt-in, deliberately limited, and designed to expire.
Lanyard membership is required
Presence stays off until the linked Discord account is recognized by Lanyard. If setup is missing, Studio opens the official Lanyard Discord invite; return to Studio and try enabling presence again after joining.
Opt in with the full picture
Enabling rich presence can publish your public Discord display name, username, avatar, avatar decoration, public badges, server tag, and online status. Because this is broader than the earlier status-only feature, existing opt-ins are reset during rollout and each member must deliberately enable it again.
Activities and Spotify are separate choices
The showActivity setting controls current activities, activity details, and elapsed time. The showMusic setting controls both uploaded profile audio and live Spotify song, artist, album, album art, and playback progress. Turning either setting off removes that category from the public projection.
Bounded snapshots, not surveillance
Each public snapshot carries an expiry and disappears when stale. Nihao stores and publishes only the allowlisted fields above—not raw provider payloads, join secrets, private messages, or permanent activity history.
Upstream outages fail quiet
If Discord or Lanyard is unavailable, the service degrades to an unknown or expired state. It does not invent activity or retain stale presence indefinitely.