Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need system to prompt server privacy policy approval before connect #194

Closed
PJB3005 opened this issue Nov 20, 2024 · 7 comments · Fixed by #195
Closed

Need system to prompt server privacy policy approval before connect #194

PJB3005 opened this issue Nov 20, 2024 · 7 comments · Fixed by #195
Assignees
Labels
enhancement New feature or request

Comments

@PJB3005
Copy link
Member

PJB3005 commented Nov 20, 2024

This would enable us to update Wizden's privacy policy and prompt on rejoin nicely. I'm sure other legally-conscious codebases would like it too.

Necessary for space-wizards/space-station-14#33339 to get deployed on WizDen.

Not sure how this would work right now. Maybe just allow servers to provide a "revision" and "link" property in their info data, then the launcher would just permanently store the "Revision" field in a table if you press accept. This requires servers to not be cunts and re-use privacy policy configs from other servers. Anything more complicated would probably be hella complicated?

@PJB3005 PJB3005 added the enhancement New feature or request label Nov 20, 2024
@sleepyyapril
Copy link

sleepyyapril commented Nov 20, 2024

I think using something similar to a "git diff" wouldn't be too difficult, especially if it was quite literally just a git diff. A "changes since last viewed" is also maybe legally required anyway?

@PJB3005
Copy link
Member Author

PJB3005 commented Nov 20, 2024

I think using something similar to a "git diff" wouldn't be too difficult, especially if it was quite literally just a git diff. A "changes since last viewed" is also maybe legally required anyway?

That would require the launcher to fetch the privacy policy on every connection attempt. Not to mention having to be able diff, and display HTML... Let's not.

@PJB3005 PJB3005 moved this to 🔖 Defined in NextGen WizDen Adminning Nov 20, 2024
@0x6273
Copy link
Contributor

0x6273 commented Nov 21, 2024

I think using something similar to a "git diff" wouldn't be too difficult, especially if it was quite literally just a git diff. A "changes since last viewed" is also maybe legally required anyway?

That would require the launcher to fetch the privacy policy on every connection attempt. Not to mention having to be able diff, and display HTML... Let's not.

You could just send the hash of the text, and only send the full text if it differs from the last accepted policy.

@PJB3005
Copy link
Member Author

PJB3005 commented Nov 21, 2024

I think using something similar to a "git diff" wouldn't be too difficult, especially if it was quite literally just a git diff. A "changes since last viewed" is also maybe legally required anyway?

That would require the launcher to fetch the privacy policy on every connection attempt. Not to mention having to be able diff, and display HTML... Let's not.

You could just send the hash of the text, and only send the full text if it differs from the last accepted policy.

Now you need a system that is robust to any differences in minor formatting that may occur as part of a site revamp, without changing the actual contents of the ToS. And again, HTML. Not happening.

@0x6273
Copy link
Contributor

0x6273 commented Nov 21, 2024

You could just send the hash of the text, and only send the full text if it differs from the last accepted policy.

Now you need a system that is robust to any differences in minor formatting that may occur as part of a site revamp, without changing the actual contents of the ToS. And again, HTML. Not happening.

Do you want like a button that opens a web page with the ToS in an external web browser? I imagined the ToS would just be shown directly in the launcher, inside a scrollable textbox.

@PJB3005
Copy link
Member Author

PJB3005 commented Nov 21, 2024

You could just send the hash of the text, and only send the full text if it differs from the last accepted policy.

Now you need a system that is robust to any differences in minor formatting that may occur as part of a site revamp, without changing the actual contents of the ToS. And again, HTML. Not happening.

Do you want like a button that opens a web page with the ToS in an external web browser? I imagined the ToS would just be shown directly in the launcher, inside a scrollable textbox.

External browser, yes. I'm not interested in formatting the minimum amount of rich text needed, not to mention the format that would take if it wasn't HTML.

@VasilisThePikachu
Copy link
Member

So basically the launcher stores the last accepted tos version (which will be on the /info server api) and trust the server to up the value when they update their TOS significantly?

Thats the easiest way to do it, no need for fancy hash checks or diffing imo. Although it would suck in the case of a server updating their policy without upping this "tos version" but idk how else to do it.

PJB3005 added a commit to PJB3005/space-station-14 that referenced this issue Nov 29, 2024
PJB3005 added a commit that referenced this issue Nov 29, 2024
Servers can now provide privacy policy information via their info API. If provided, users will be prompted to accept the policy while being presented with a link to open it.

Accepted privacy policies are stored in the launcher's settings database. Servers can report changes in their privacy policy version, in which case the user will be re-prompted with a different message.

Fixes #194
PJB3005 added a commit to space-wizards/docs that referenced this issue Nov 29, 2024
@PJB3005 PJB3005 self-assigned this Nov 29, 2024
PJB3005 added a commit to space-wizards/RobustToolbox that referenced this issue Dec 8, 2024
* Add CVars for privacy policy information

Engine side of space-wizards/SS14.Launcher#194

* Improve/fix cvar desc
PJB3005 added a commit to space-wizards/docs that referenced this issue Dec 8, 2024
@PJB3005 PJB3005 closed this as completed in fb7e9c8 Dec 8, 2024
@github-project-automation github-project-automation bot moved this from 🔖 Defined to ✅ Done in NextGen WizDen Adminning Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants