openedx / openedx/openedx-platform

[DEPR]: Rename ENABLE_COPPA_COMPLIANCE to HIDE_YEAR_OF_BIRTH_ON_REGISTRATION

Open
#39,029 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

depr
Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

RFC Start Date

N/A -- Already Accepted

Target Plan Accepted Date

N/A -- Already Accepted

Target Transition Unblocked Date

Immediately -- Transition Already Unblocked

Earliest Breaking Changes Unblocked Date

2026-09-14

Rationale

The feature toggle ENABLE_COPPA_COMPLIANCE is named in such a way that implies the platform provides a guarantee of compliance with a specific United States law.

The Open edX software makes no claim of satisfying any law or regulation. It is a configurable toolset that site operators can use to help meet the obligations apply to them specifically.

The feature toggle here implies a guarantee of compliance that may or may not be applicable to a given Open edX instance depending on how the particular instance operators feel they need to meet their own obligations under US law. Thus this feature will be renamed in a way that describes what behavior the setting actually changes.

Description

The code in question is here: https://github.com/openedx/openedx-platform/blob/2befac2f70c104686cb7a4d680eca1d5c7e150f0/openedx/core/djangoapps/user_authn/api/helper.py#L70

Specifically, this setting simply hides the year of birth on registration sign up if enabled:

        if settings.ENABLE_COPPA_COMPLIANCE and 'year_of_birth' in ordered_extra_fields:
            ordered_extra_fields.remove('year_of_birth')

The toggle will be immediately renamed for the Willow release. Operators who set this setting will need to change the name of the setting on their instance on upgrade.

Further, there is a dead code path that uses this setting in a different way. This code is not used anywhere and needs to be removed as part of this ticket. https://github.com/openedx/openedx-platform/blob/2befac2f70c104686cb7a4d680eca1d5c7e150f0/lms/static/js/student_account/models/user_account_model.js#L59-L71

Task List
  • Rename the setting ENABLE_COPPA_COMPLIANCE to HIDE_YEAR_OF_BIRTH_ON_REGISTRATION
  • Remove the dead code in lms/static/js/student_account/models/user_account_model.js that references this setting
  • Update the Willow Operator Release Notes to indicate this is a breaking change.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in openedx/core/djangoapps/user_authn/api/helper.py at the registration extra-fields logic, then inspect the dead setting reference in lms/static/js/student_account/models/user_account_model.js. Search for other ENABLE_COPPA_COMPLIANCE references before renaming them to HIDE_YEAR_OF_BIRTH_ON_REGISTRATION and remove the identified dead code. Done means the old setting is no longer used, the new behavior remains, and the Willow Operator Release Notes describe the breaking change.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
backend, documentation, frontend
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.