TPV Policy compliance checklist (before Viewer Directory application) #214

Open
opened 2026-09-30 21:43:43 +00:00 by sky_line · 2 comments
Owner

Track compliance with the Second Life Third Party Viewer Policy (https://secondlife.com/corporate/third-party-viewers) before we apply for the Viewer Directory. Section numbers follow the policy.

Done / verified (2026-09-30)

  • §1 Required disclosure, exact wording: "This software is not provided or supported by Linden Lab, the makers of Second Life." It's on every website page footer (site + wiki), in a note on the download section, and in the viewer's About > Info panel (all languages).
  • §1/§4 Privacy policy: published at https://slipstreamviewer.org/privacy.html and linked from the download page, every footer and the About window. It states no telemetry, lists the LL connections (incl. the viewer statistics packet) and the optional third-party features (web/media, translation with the user's own key, Discord Rich Presence), and describes website logs.
  • §1 Support information: the download page points to the help pages and issue tracker.
  • §1 Content not for all audiences: download-page note on Moderate/Adult content.
  • No data to Alchemy or other viewer projects: audit of hardcoded and shipped hosts found none. Only copyright headers mention alchemyviewer.org. BugSplat is compiled out: no BUGSPLAT_DB in our Makefile or Forgejo CI, and it's unsupported on Linux anyway.
  • §1/§2 Unique viewer identifier and stats packet: the channel is Slipstream Release / Slipstream Beta / Slipstream Test (scripts/ci/version.sh) plus the version. Login and the viewer statistics packet send getChannelAndVersion() (llviewerstats.cpp). The stats packet isn't omitted or falsified.
  • §3 Source availability: public repo https://git.slipstreamviewer.org/backspace119/Slipstream, linked from the website and now the About window. Release tags build the shipped binaries.
  • §2 No export features, and no display of other users' viewer or system info (no client tags).

To do

  • Discord Rich Presence uses Alchemy's Discord application ID (564763931009220608, llappviewer.cpp, inherited from upstream cefc3f0a7c). Register our own "Slipstream Viewer" Discord application and swap the ID. Until then, presence shows up as Alchemy's app. It's on by default (EnableDiscord=1), with name and location off by default.
  • §1 Viewer name and version on the login screen: currently only in the window title. llpanellogin.cpp computes channel/version and doesn't display them. Add a visible label to the login panel. The About window already shows both.
  • §1 Installation and uninstallation: confirm the Windows installer installs only at user direction, registers a working uninstaller (Add/Remove Programs) that removes cleanly, and doesn't auto-launch without consent. Confirm there's no auto-update without consent (we have no updater today).
  • §1 Terms of Service: confirm the login flow still presents and requires acceptance of the ToS and ToS updates (LL's LLFloaterTOS path, not suppressed).
  • §1 Surprising functionality / feature limitations: document known limitations on the download page or wiki (beta; Vulkan 1.3 required; Windows/Linux only; features not yet ported).
  • §2 Shared experience: review our additions for anything that changes what others see or bypasses LL-accessible limits. Candidates: derender (local only), texture refresh, pose/animation tools, RLVa behaviours, area search, particle editor, LSL preprocessor.
  • §2 Credentials: credentials go only to LL login servers and are stored only locally. Confirm nothing (Discord, translation, web media) can see them.
  • §5 Branding: the name isn't "___ Life" and doesn't use the Eye-in-Hand logo. Check splash/login art and skins for LL marks. About must show true and correct source info (the Credits tab covers Alchemy, Firestorm, Black Dragon and LL).
  • §6 Directory listing: a public, open contact channel (issue tracker; Discord "coming soon" in About; maybe a public forum or Matrix room), public commit notices (the Forgejo activity feed is public?), accounts in good standing, and legal name/address for the self-certification form.
  • §4 Data protection: we collect nothing. If an opt-in feature (e.g. crash upload) is ever added, update the privacy policy and release notes first and keep it off by default.

Refs the website privacy page and About-window changes (2026-09-30).

Track compliance with the Second Life Third Party Viewer Policy (https://secondlife.com/corporate/third-party-viewers) before we apply for the Viewer Directory. Section numbers follow the policy. ## Done / verified (2026-09-30) - [x] **§1 Required disclosure, exact wording:** "This software is not provided or supported by Linden Lab, the makers of Second Life." It's on every website page footer (site + wiki), in a note on the download section, and in the viewer's About > Info panel (all languages). - [x] **§1/§4 Privacy policy:** published at https://slipstreamviewer.org/privacy.html and linked from the download page, every footer and the About window. It states no telemetry, lists the LL connections (incl. the viewer statistics packet) and the optional third-party features (web/media, translation with the user's own key, Discord Rich Presence), and describes website logs. - [x] **§1 Support information:** the download page points to the help pages and issue tracker. - [x] **§1 Content not for all audiences:** download-page note on Moderate/Adult content. - [x] **No data to Alchemy or other viewer projects:** audit of hardcoded and shipped hosts found none. Only copyright headers mention alchemyviewer.org. BugSplat is compiled out: no BUGSPLAT_DB in our Makefile or Forgejo CI, and it's unsupported on Linux anyway. - [x] **§1/§2 Unique viewer identifier and stats packet:** the channel is `Slipstream Release` / `Slipstream Beta` / `Slipstream Test` (scripts/ci/version.sh) plus the version. Login and the viewer statistics packet send `getChannelAndVersion()` (llviewerstats.cpp). The stats packet isn't omitted or falsified. - [x] **§3 Source availability:** public repo https://git.slipstreamviewer.org/backspace119/Slipstream, linked from the website and now the About window. Release tags build the shipped binaries. - [x] **§2 No export features, and no display of other users' viewer or system info (no client tags).** ## To do - [x] **Discord Rich Presence uses Alchemy's Discord application ID** (`564763931009220608`, llappviewer.cpp, inherited from upstream cefc3f0a7c). Register our own "Slipstream Viewer" Discord application and swap the ID. Until then, presence shows up as Alchemy's app. It's on by default (EnableDiscord=1), with name and location off by default. - [ ] **§1 Viewer name and version on the login screen:** currently only in the window title. `llpanellogin.cpp` computes channel/version and doesn't display them. Add a visible label to the login panel. The About window already shows both. - [ ] **§1 Installation and uninstallation:** confirm the Windows installer installs only at user direction, registers a working uninstaller (Add/Remove Programs) that removes cleanly, and doesn't auto-launch without consent. Confirm there's no auto-update without consent (we have no updater today). - [x] **§1 Terms of Service:** confirm the login flow still presents and requires acceptance of the ToS and ToS updates (LL's LLFloaterTOS path, not suppressed). - [ ] **§1 Surprising functionality / feature limitations:** document known limitations on the download page or wiki (beta; Vulkan 1.3 required; Windows/Linux only; features not yet ported). - [ ] **§2 Shared experience:** review our additions for anything that changes what *others* see or bypasses LL-accessible limits. Candidates: derender (local only), texture refresh, pose/animation tools, RLVa behaviours, area search, particle editor, LSL preprocessor. - [x] **§2 Credentials:** credentials go only to LL login servers and are stored only locally. Confirm nothing (Discord, translation, web media) can see them. - [x] **§5 Branding:** the name isn't "___ Life" and doesn't use the Eye-in-Hand logo. Check splash/login art and skins for LL marks. About must show true and correct source info (the Credits tab covers Alchemy, Firestorm, Black Dragon and LL). - [x] **§6 Directory listing:** a public, open contact channel (issue tracker; Discord "coming soon" in About; maybe a public forum or Matrix room), public commit notices (the Forgejo activity feed is public?), accounts in good standing, and legal name/address for the self-certification form. - [x] **§4 Data protection:** we collect nothing. If an opt-in feature (e.g. crash upload) is ever added, update the privacy policy and release notes first and keep it off by default. Refs the website privacy page and About-window changes (2026-09-30).
sky_line added this to the Slipstream project 2026-10-06 15:04:14 +00:00
Author
Owner

Checklist items verified on 2026-09-30 are done. Open items remain (viewer name/version on the login screen, installer scope, documenting feature limitations, shared-experience review) and nothing is being worked on right now, so this moves from In Progress to To Do.

Checklist items verified on 2026-09-30 are done. Open items remain (viewer name/version on the login screen, installer scope, documenting feature limitations, shared-experience review) and nothing is being worked on right now, so this moves from In Progress to To Do.
Author
Owner

Moving this back to the backlog: the verified items are done and the open ones (login screen naming, installer scope, documenting limitations, shared-experience review) are waiting on the application timing, not on current work.

Moving this back to the backlog: the verified items are done and the open ones (login screen naming, installer scope, documenting limitations, shared-experience review) are waiting on the application timing, not on current work.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#214
No description provided.