Add min. age to terms of service (#34105)

This commit is contained in:
Eugen Rochko 2025-03-07 12:50:52 +01:00 committed by GitHub
parent feedab26f0
commit 2cabbae132
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 13 additions and 5 deletions

View File

@ -9,11 +9,12 @@ class TermsOfService::Generator
admin_email admin_email
arbitration_address arbitration_address
arbitration_website arbitration_website
choice_of_law
dmca_address dmca_address
dmca_email dmca_email
domain domain
jurisdiction jurisdiction
choice_of_law min_age
).freeze ).freeze
attr_accessor(*VARIABLES) attr_accessor(*VARIABLES)

View File

@ -19,6 +19,9 @@
.fields-group .fields-group
= form.input :domain, wrapper: :with_label = form.input :domain, wrapper: :with_label
.fields-group
= form.input :min_age, wrapper: :with_label
.fields-group .fields-group
= form.input :jurisdiction, wrapper: :with_label = form.input :jurisdiction, wrapper: :with_label

View File

@ -136,13 +136,14 @@ en:
text: Can be structured with Markdown syntax. text: Can be structured with Markdown syntax.
terms_of_service_generator: terms_of_service_generator:
admin_email: Legal notices include counternotices, court orders, takedown requests, and law enforcement requests. admin_email: Legal notices include counternotices, court orders, takedown requests, and law enforcement requests.
arbitration_address: Can be the same as Physical address above, or “N/A” if using email arbitration_address: Can be the same as Physical address above, or “N/A” if using email.
arbitration_website: Can be a web form, or “N/A” if using email arbitration_website: Can be a web form, or “N/A” if using email.
choice_of_law: City, region, territory or state the internal substantive laws of which shall govern any and all claims. choice_of_law: City, region, territory or state the internal substantive laws of which shall govern any and all claims.
dmca_address: For US operators, use the address registered in the DMCA Designated Agent Directory. A P.O. Box listing is available upon direct request, use the DMCA Designated Agent Post Office Box Waiver Request to email the Copyright Office and describe that you are a home-based content moderator who fears revenge or retribution for your actions and need to use a P.O. Box to remove your home address from public view. dmca_address: For US operators, use the address registered in the DMCA Designated Agent Directory. A P.O. Box listing is available upon direct request, use the DMCA Designated Agent Post Office Box Waiver Request to email the Copyright Office and describe that you are a home-based content moderator who fears revenge or retribution for your actions and need to use a P.O. Box to remove your home address from public view.
dmca_email: Can be the same email used for “Email address for legal notices” above dmca_email: Can be the same email used for “Email address for legal notices” above.
domain: Unique identification of the online service you are providing. domain: Unique identification of the online service you are providing.
jurisdiction: List the country where whoever pays the bills lives. If its a company or other entity, list the country where its incorporated, and the city, region, territory or state as appropriate. jurisdiction: List the country where whoever pays the bills lives. If its a company or other entity, list the country where its incorporated, and the city, region, territory or state as appropriate.
min_age: Should not be below the minimum age required by the laws of your jurisdiction.
user: user:
chosen_languages: When checked, only posts in selected languages will be displayed in public timelines chosen_languages: When checked, only posts in selected languages will be displayed in public timelines
role: The role controls which permissions the user has. role: The role controls which permissions the user has.
@ -346,6 +347,7 @@ en:
dmca_email: Email address for DMCA/copyright notices dmca_email: Email address for DMCA/copyright notices
domain: Domain domain: Domain
jurisdiction: Legal jurisdiction jurisdiction: Legal jurisdiction
min_age: Minimum age
user: user:
role: Role role: Role
time_zone: Time zone time_zone: Time zone

View File

@ -17,7 +17,7 @@ into these Terms. You should also read these policies before using the Instance.
## Age Requirements and Responsibility of Parents and Legal Guardians ## Age Requirements and Responsibility of Parents and Legal Guardians
By accessing the Instance, you signify that you are at least thirteen years old By accessing the Instance, you signify that you are at least %{min_age} years old
and that you meet the minimum age required by the laws in your country. If you and that you meet the minimum age required by the laws in your country. If you
are old enough to access the Instance in your country, but are not old enough to are old enough to access the Instance in your country, but are not old enough to
have the legal authority to consent to our Terms, please ask your parent or have the legal authority to consent to our Terms, please ask your parent or

View File

@ -29,6 +29,8 @@ RSpec.describe 'Admin TermsOfService Generates' do
fill_in 'terms_of_service_generator_domain', with: 'host.example' fill_in 'terms_of_service_generator_domain', with: 'host.example'
fill_in 'terms_of_service_generator_jurisdiction', with: 'Europe' fill_in 'terms_of_service_generator_jurisdiction', with: 'Europe'
fill_in 'terms_of_service_generator_choice_of_law', with: 'New York' fill_in 'terms_of_service_generator_choice_of_law', with: 'New York'
fill_in 'terms_of_service_generator_min_age', with: '16'
expect { submit_form } expect { submit_form }
.to change(TermsOfService, :count).by(1) .to change(TermsOfService, :count).by(1)
expect(page) expect(page)