Automatic anonymization of data
In nps.today you can decide when data should be anonymized (3 years is set as default). This feature is meant to Safeguard your respondents' privacy and is designed to automatically anonymize their data after a specified number of days have passed since they were created in the system.
By setting the desired retention period, you ensure compliance with data privacy regulations while reducing the risk of unauthorized access or misuse of personal information. The anonymized data, while stripped of personally identifiable information, is retained for statistical purposes.
As a standard nps.today will anonymize data after three years.
This documentation will give you information on what this means and how it works.
How to set timeframe for anonymization
You can set the amount of anonymization days by going to Account -> Data Privacy and change the timeframe by selecting Years and Days.
You will see, that the default value is set to 3 years.
Anonymized data is irreversible!
Using this feature to anonymize data is irreversible. This means that data anonymized with this feature CAN NOT be restored.
You have to be an admin to make changes to this feature.

How the anonymization work
The feature runs once a day at 12:00AM UTC to check for respondents which have campaign members that should be anonymized within the anonymization days set on your nps.today account.
Below is a description of how this feature anonymize both the campaign member and respondent in nps.today. To know more about the difference between the two read here.
Campaign member
A campaign member will be anonymized if it is not already anonymous and if its created date is older than the anonymization days set on the organization level. The default amount of days is set to 1095 (3 years).
What data is anonymized?
Anonymization will set these properties on a campaign member to the following values:
Title: null
FirstName: Anonymous
LastName: null
EmailAddress: A random guid + @npstoday.com
- Example: [email protected]
PhoneNumber: null
Address1: null
Address2: null
City: null
ZipCode: null
Country: null
Department: null
CompanyId: null
CompanyAccountNo: null
CompanyAddress1: null
CompanyAddress2: null
CompanyCity: null
CompanyCountry: null
CompanyEmailAddress: null
CompanyIndustry: null
CompanyName: null
CompanyPhoneNumber: null
CompanySegment: null
CompanyZipCode: null
Anonymous: true
Payload example - Campaign member anonymized
This is a payload example of a campaign member that has been automatically anonymized:
{
"id": 230521,
"publicGuid": "dda1dd43-d147-4c1c-9b9f-fb66032b2b84",
"respondentId": 166949,
"campaignId": 4576,
"responsibleEmployeeId": null,
"doNotContact": false,
"sender": 9299,
"firstName": "Anonymous",
"lastName": null,
"title": null,
"department": null,
"address1": null,
"address2": null,
"city": null,
"country": null,
"zipCode": null,
"phoneNumber": null,
"externalId": "Ext60698",
"emailAddress": "[email protected]",
"companyId": null,
"companyName": null,
"companyIndustry": null,
"companyAccountNo": null,
"companySegment": null,
"companyEmailAddress": null,
"companyPhoneNumber": null,
"companyAddress1": null,
"companyAddress2": null,
"companyCity": null,
"companyCountry": null,
"companyZipCode": null,
"created": "2020-06-29T08:39:19.647Z",
"custom": null,
"agentRating": null,
"agentAnswers": null,
"additionStatus": 2520,
"firstSurveyExposure": "2020-06-29T08:39:19.6466667Z",
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"lastChangeBy": "[email protected]",
"anonymous": true,
"origin": "0",
"response": {
"adminComment": null,
"adminCommentBy": null,
"id": 102914,
"rating": 10,
"userComment": "Greate service!",
"commented": "2021-03-10T21:34:17.593Z",
"rated": "2021-03-10T21:26:55.693Z",
"anon": false,
"categoryId": null,
"campaignMemberId": 230521,
"ratingBy": null,
"userCommentBy": null,
"device": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
"ipAddress": null,
"answer1": 8,
"answer2": 4,
"answer3": "Answer faster",
"answer4": null,
"answer5": null,
"isPublic": true,
"isFlagged": false,
"allowedForPublicUse": true,
"closed": false,
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"lastChangeBy": null,
"category": null
},
"responsibleEmployee": {
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"department": "",
"division": "",
"team": "",
"phoneNumber": "",
"active": true,
"title": "Dev",
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"externalId": null,
"lastChangeBy": "[email protected]",
"id": 10403
},
"respondent": {
"email": "[email protected]",
"firstName": "Anonymous",
"lastName": null,
"title": null,
"department": null,
"address1": null,
"address2": null,
"city": null,
"country": null,
"zipCode": null,
"phoneNumber": null,
"active": true,
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"companyId": null,
"responsibleEmployeeId": null,
"externalId": null,
"lastChangeBy": null,
"id": 166949,
"company": null
},
"campaign": {
"name": "Customer service",
"templateId": 7142,
"forwardedCampaignId": null,
"sender": 9299,
"startTime": "2020-06-29T08:33:08.617Z",
"stopTime": "2023-01-09T13:52:54.133Z",
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"created": "2020-06-29T08:33:08.807Z",
"alwaysUseSender": false,
"universalLinkCampaign": false,
"universalLink": null,
"enableThrottling": false,
"forwardDays": null,
"throttlingDays": 1,
"throttleByDefaultGroup": true,
"acceptingResponses": true,
"publicId": "b549d5a5-fb2c-4b7d-a40a-1115023ce233",
"lastChangeBy": "[email protected]",
"throttlingGroupId": null,
"id": 4576,
"template": {
"name": "",
"emailSubject": "How satisfied are you?",
"reminderSubject": "",
"logoUrl": "https://npstoday.blob.core.windows.net/images/npsplaceholder.png",
"logoWidth": 120,
"logoAlign": "center",
"fontFamily": "",
"lineHeight": 1.5,
"colorScheme": "#040606",
"content": "<p style=\"margin-top: 0;\"><p style=\"margin: 0; display: block; font-family: , Arial, Helvetica, sans-serif\">Hvor sandsynligt er det, at du vil anbefale NPS.Today til en ven eller kollega?</p></p>",
"commentHeader": "",
"bottomContent": "You are receiving this email because of your engagement with nps.today.",
"footerContent": null,
"reminderContent": "",
"sendReminder": true,
"reminderDelay": 5,
"sendoutDelay": "PT18H30S",
"languageId": 2,
"orgId": "4ebb9cda-2b27-93de-40ba-e38152ca06ec",
"isDefault": false,
"hideAnonymity": false,
"hideCategories": true,
"isTemplate": false,
"created": "2020-06-29T08:33:08.773Z",
"introText": "<p style=\"margin-top: 0;\"><p style=\"margin: 0; display: block; line-height: 1.5; font-family: , Arial, Helvetica, sans-serif\">StressTest Campaign?</p></p>",
"allowDuplicates": true,
"followUpDetractor": "What can we do to make your rating a 10?",
"followUpPromoter": "What is the reason for your psoitive rating",
"outroText": "<p>Thank you!werwer</p>",
"manualDelivery": true,
"enableUnsubscribe": false,
"unsubscribeText": "",
"highRatingText": "<p style=\"margin-top: .5rem;\"><p style=\"margin: 0; display: block; font-family: , Arial, Helvetica, sans-serif\">Meget sandsynligt</p></p>",
"lowRatingText": "<p style=\"margin-top: .5rem;\"><p style=\"margin: 0; display: block; font-family: , Arial, Helvetica, sans-serif\">Slet ikke sandsynligt</p></p>",
"smsText": "",
"smsCampaign": false,
"lockFirstRating": false,
"categoryQuestion": "How would you categorize your answer?",
"mandatoryCategoryQuestion": false,
"outroDetractorText": "",
"outroPassiveText": "",
"outroPromoterText": "",
"includeCustomOutroText": false,
"smsSender": "",
"emailCampaign": null,
"enableSmiley": false,
"enableFurtherQuestions": false,
"question1": "",
"question2": "",
"question3": "",
"question4": "",
"question5": "",
"enableFurtherQuestionsHeaderText": "",
"questionFirst": false,
"autoReload": false,
"enableRatingForQuestion1": false,
"enableRatingForQuestion2": false,
"enableRatingForQuestion3": false,
"enableRatingForQuestion4": false,
"enableRatingForQuestion5": false,
"consentForPublicUse": false,
"consentForPublicUseText": null,
"consentForPublicUsePlacement": 1,
"campaignClosedText": "This survey does not accept more answers",
"consentIsOptOut": false,
"forceAnonymous": false,
"htmlTemplateId": 0,
"forceSingleSubmit": false,
"surveySchema": null,
"allowRatingChange": false,
"lastChangeBy": "[email protected]",
"id": 7142,
"attachedCategories": []
}
}
}
Respondent
Anonymization will also create a new anonymous respondent and relate the campaign member to that new respondent.
New respondent properties
The new respondent will be created with the following properties:
Email: Same email as the anonymized campaign member
OrgId: Same organization id as the anonymized campaign member
FirstName: Same first name as the anonymized campaign member
LastName: null
Payload example - Respondent anonymized
This is a payload example of a respondent that has been automatically anonymized:
{
"id": 166949,
"address1": null,
"address2": null,
"city": null,
"country": null,
"zipCode": null,
"emailAddress": "[email protected]",
"firstName": "Anonymous",
"lastName": null,
"active": true,
"title": null,
"companyId": null,
"employeeId": null,
"department": null,
"phoneNumber": null,
"externalId": null,
"employee": null,
"company": null
}
If a respondent no longer has any related campaign members the respondent will be deleted.
Employee
To anonymize employee data be sure to check Anonymize employees and click save.
Anonymize employees
For an employee to be anonymized the employee must be inactive for the amount of time set in Anonymize data after in the Data Privacy settings.
Anonymize data after
What data is anonymized?
Anonymization will set these properties on an employee to the following values:
FirstName: Anonymous
LastName: null
EmailAddress: A random guid + @npstoday.com
- Example: [email protected]
PhoneNumber: null
Active: false
Inactive: true
LastChangedBy: null
Anonymous: true
Payload example - Employee anonymized
This is a payload example of an employee that has been automatically anonymized:
{
"Id" : 15737,
"Email" : "[email protected]",
"FirstName" : "Anonymous",
"LastName" : null,
"Department" : "",
"Division" : "",
"Team" : "",
"PhoneNumber" : null,
"Active" : 0,
"Title" : "",
"OrgId" : "aa2b3dfd-5a0b-4d7a-acfb-39b82c5dbe55",
"ExternalId" : null,
"IsDeleted" : 0,
"LastChangeBy" : null,
"Anonymized" : true,
"InactiveAt" : "2018-08-23T06:55:16.427Z"
}
Company
To anonymize company data be sure to check Anonymize companies and click save.
Anonymize companies
For a company to be anonymized the company must be inactive for the amount of time set in Anonymize data after in the Data Privacy settings.
Anonymize data after
What data is anonymized?
Anonymization will set these properties on a company to the following values:
EmailAddress: A random guid + @npstoday.com
- Example: [email protected]
PhoneNumber: null
Address1: null
Address2: null
City: null
ZipCode: null
Active: false
Inactive: true
LastChangedBy: null
Anonymous: true
Payload example - Company anonymized
This is a payload example of a company that has been automatically anonymized:
{
"Id" : 68945,
"Name" : "Juice-In A\/S",
"Industry" : "",
"PhoneNumber" : null,
"Address1" : null,
"Address2" : null,
"City" : null,
"Country" : "",
"ZipCode" : null,
"OrgId" : "aa2b3dfd-5a0b-4d7a-acfb-39b82c5dbe55",
"EmailAddress" : null,
"AccountNo" : "",
"Segment" : "",
"LastChangeBy" : null,
"Active" : 0,
"Anonymized" : true,
"InactiveAt" : "2018-08-23T06:53:40.229Z"
}
User
To anonymize user data be sure to check Anonymize users and click save.
Anonymize users
For a user to be anonymized the user must be inactive for the amount of time set in Anonymize data after in the Data Privacy settings.
Anonymize data after
What data is anonymized?
Anonymization will set these properties on a user to the following values:
UserName: A random guid + @npstoday.com
- Example: [email protected]
Name: null
Email: A random guid + @npstoday.com
- Example: [email protected]
PhoneNumber: null
Address1: null
Address2: null
City: null
ZipCode: null
NormalizedEmail: A random guid + @npstoday.com (with upper case)
- Example: [email protected]
NormalizedUserName: A random guid + @npstoday.com (with upper case)
- Example: [email protected]
Anonymous: true
Payload example - User anonymized
This is a payload example of a user that has been automatically anonymized:
{
"Id" : "0c95e4a4-e0ec-4153-b31b-b2d72c66f850",
"Email" : "[email protected]",
"EmailConfirmed" : 0,
"PasswordHash" : "AQAAAAIAAYagAAAAEIi\/B6n57Rmyps06tEFnat19c9eRkWlNrM5Wk7LQqYA5n+UvLAlpZLbRsY4H5VKdyQ==",
"SecurityStamp" : "JP3LHFTDID2DYZGARVNPRKZUQBOAO26K",
"PhoneNumber" : null,
"PhoneNumberConfirmed" : 0,
"TwoFactorEnabled" : 0,
"LockoutEnabled" : 1,
"AccessFailedCount" : 0,
"UserName" : "[email protected]",
"CompanyName" : null,
"Discriminator" : null,
"Address1" : null,
"Address2" : null,
"Industry" : null,
"City" : null,
"Country" : null,
"ZipCode" : null,
"Created" : "2024-08-23T06:56:21.907Z",
"OrgId" : "aa2b3dfd-5a0b-4d7a-acfb-39b82c5dbe55",
"Name" : null,
"NormalizedUserName" : "[email protected]",
"NormalizedEmail" : "[email protected]",
"LockoutEnd" : null,
"ConcurrencyStamp" : "be4893d8-bd5b-4313-bb83-a09430da4bf5",
"Anonymized" : true
}