What does the Anonymize Learner Data setting do?
When you turn on Anonymize Learner Data, Content Controller hashes specific pieces of your learners' personally identifiable information (PII) right in the learner's browser, before it ever reaches Content Controller's servers. What lands on our side is a scrambled stand-in for the learner, not their name or ID.
This article covers what gets hashed (and what doesn't), how to turn the setting on at either the global or account level, and a few important things to know before you flip the switch. That last part matters more than you might think, so please don't skip it.
How the hashing works
Our hashing uses the SHA-256 algorithm, and our use of it is fairly straightforward. When the setting is on, Content Controller hashes three specific pieces of learner PII it receives from the launching LMS:
- Learner's First Name
- Learner's Last Name
- Learner ID
Once the learner's browser receives this information, we apply an unsalted, one-way SHA-256 hash to each piece, right there in the browser, before submitting it in any payload to Content Controller. Since the hashing is one-way and happens in the learner's browser before anything is sent to us, Content Controller only ever receives the hashed values that we do not offer a way to decipher.
Because the same input always produces the same hash, a returning learner still looks like the same learner to Content Controller. That's what keeps their progress and registrations tied together while the setting stays put (more on that below).
What is not hashed
This part is particularly important. Everything else is sent unhashed, including but not limited to:
- Completion and pass/fail status
- Score
- Interaction (question and answer) data
- Timing of the learning standard API calls
- Technical details the learner's browser sends with every request, such as IP address and browser user agent
In our experience, it's very unusual for a course to ask learners to type in PII. But if your courseware does ask personally identifying questions, the learning standards are blind to what the questions are, so those answers would be sent to and stored in Content Controller as-is.
How to turn on hashing
You can turn on hashing in two places: globally for your whole Content Controller instance, or for individual accounts. Pick the one that fits, then test it.
Option 1: Enable it for every account (global)
The global setting hashes learner PII for all accounts in your Content Controller instance. Only users with application admin access can change it.
- Click the gear icon in the upper-right corner and select Administration.
- Click the Settings tab.
- Select Launch in the left-side navigation menu.
- Find the Learner Data section. If you don't see the Anonymize Learner Data checkbox, click Learner Data to expand the section.
- Check the box next to Anonymize Learner Data.
- Click Confirm on the confirmation pop-up. The pop-up warns that the change affects all accounts and can't be undone (see Before you flip the switch below for what that means). The change saves as soon as you click Confirm; there's no separate Save button.
Option 2: Enable it for a single account
The account setting hashes learner PII for one specific account only. Handy if just one customer or department needs it. You'll need Admin or Read/Write access to that account; users with Read Only access can't change it. Keep in mind that if the global setting is enabled, every account's learner data is hashed and you can't turn it off for individual accounts.
If the global setting is on, the account's checkbox shows as checked and greyed out, with a note that the setting has been enabled for all accounts by an administrator.
- Click the ACCOUNTS tab at the top of the page.
- Select the account you want to update.
- Click the Advanced tab within that account.
- Select Learner in the left-side menu.
- Check the box next to Anonymize Learner Data.
- Click Continue on the confirmation pop-up, which shows a similar can't-be-undone warning. The change saves as soon as you click Continue.
Confirm it's working
Whichever option you choose, we suggest testing a dispatch to confirm hashing is working as intended. Launch it from a third-party LMS or, if you don't have access to an LMS, from SCORM Cloud using a free trial account.
Then open a Learner report for that account and course (Reports > Learner). The test learner's ID, first name, and last name should show up as hashed values rather than the originals.
Turning it off
To turn hashing off, go back to the same page, uncheck Anonymize Learner Data, and confirm the pop-up. Turning it off affects learners who've already launched your content the same way turning it on does, so read the next section first.
Before you flip the switch
The best time to turn on hashing is before any learners launch your content. Here's why, along with a few other things worth knowing.
It's off by default. Neither the global nor the account setting is enabled out of the box. If you need learner PII hashed, someone has to turn it on.
Global wins. When the global setting is enabled, it applies to every account, and you can't turn it off for individual accounts. To hash learner data for only some accounts, leave the global setting off and enable it account by account.
It isn't retroactive. Hashing only applies to launches after it's turned on. Learner names and IDs already stored in Content Controller stay as they are. To manage PII that's already there, use the Delete Learner Data option on the account's Advanced > Learner page.
Changing it later creates "new" learners. Remember how the same input always produces the same hash? Flipping the setting changes the input Content Controller receives. A learner who launched as Jane Smith before you turned it on will show up as a long hashed string afterward, and vice versa. Content Controller has no way to know those are the same person. If a learner who already launched your content launches it again after the change:
- They're counted as a new learner, which can affect your usage counts.
- A new registration is created for them.
- Their previous progress isn't found, so they start the course fresh.
This applies whether you're turning the setting on or off, at either level. If you do need to change it on content that's already in use, plan for the bump in usage and give your learners a heads-up that they may need to start over.
Still have questions?
Every setup is a little different. If you're not sure whether to turn on hashing globally or per account, or you're weighing a change to content learners are already using, reach out to us at support@rusticisoftware.com. We're always happy to help!
Related to