Data Subject Request Form
By submitting this request, I am confirming the following:<\/p>
(1) Accuracy<\/strong>: the information I have provided is true and accurate; (2) TrustArc role<\/strong>: that I understand the service is provided by TrustArc on behalf of Align Technology, Inc. and that once TrustArc provides my request to Align Technology, Inc.<\/span>, TrustArc will retain an encrypted record of my request; (3) Privacy<\/strong>: that I understand the information will be collected and handled by TrustArc in accordance with its Privacy Policy<\/a> (which also contains information on how to contact TrustArc) and by Align Technology, Inc.<\/span> in accordance with its Privacy Policy (please return to the webpage you came from to see our Privacy Policy) for the purpose stated above; (4) Contact<\/strong>: that Align Technology, Inc.<\/span> has the right to contact me to verify my identity and for the purpose of processing this request.<\/p>","type":"checkbox"}},"dynamics":{"00000000-0000-0000-0000-000000001004":{"triggers":[{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["EU_AT","OC_AU","EU_BE","SA_BR","EU_BG","AS_CN","EU_HR","EU_CY","EU_CZ","EU_DK","EU_EE","EU_FR","EU_FI","EU_DE","EU_GR","AS_HK","EU_HU","EU_IE","EU_IT","AS_JP","EU_LV","EU_LT","EU_LU","EU_MT","EU_NL","OC_NZ","AS_PH","EU_PL","EU_PT","EU_RO","AS_SG","EU_SK","EU_SI","AS_KR","EU_ES","EU_SE","EU_GB","XX_XX","SA_AR","EU_AM","AF_BJ","NA_CA","SA_CO","AS_IL","AF_KE","AF_NG","AS_OM","EU_RU","AF_ZA","AS_TR"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004002","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004004","00000000-0000-0000-0000-000000004006","20f1697b-646d-4c14-93fc-a7e40e9de332"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["AS_IN","AS_ID","AS_JP","AS_MO","AS_TH","NA_US_AK","NA_US_AL","NA_US_AR","NA_US_AZ","NA_US_DC","NA_US_DE","NA_US_FL","NA_US_GA","NA_US_HI","NA_US_IA","NA_US_ID","NA_US_IL","NA_US_IN","NA_US_KS","NA_US_KY","NA_US_LA","NA_US_MA","NA_US_MD","NA_US_ME","NA_US_MI","NA_US_MN","NA_US_MO","NA_US_MS","NA_US_MT","NA_US_NC","NA_US_ND","NA_US_NE","NA_US_NH","NA_US_NJ","NA_US_NM","NA_US_NV","NA_US_NY","NA_US_OH","NA_US_OK","NA_US_OR","NA_US_PA","NA_US_PR","NA_US_RI","NA_US_SC","NA_US_SD","NA_US_TN","NA_US_TX","NA_US_VT","NA_US_WA","NA_US_WI","NA_US_WV","NA_US_WY","AS_VN","XX_XX"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["20f1697b-646d-4c14-93fc-a7e40e9de332"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["NA_US_CA"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004004","00000000-0000-0000-0000-000000004006","20f1697b-646d-4c14-93fc-a7e40e9de332"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["NA_US_CO"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004002","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004006"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["NA_US_CT"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004002","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004006"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["NA_US_UT"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004006"]}},"order":["00000000-0000-0000-0000-000000001005"]},{"type":"SHOW_OPTIONS","condition":{"type":"OR","dateUnit":null,"values":["NA_US_VA"]},"actions":{"00000000-0000-0000-0000-000000001005":{"values":["00000000-0000-0000-0000-000000004001","00000000-0000-0000-0000-000000004002","00000000-0000-0000-0000-000000004003","00000000-0000-0000-0000-000000004006"]}},"order":["00000000-0000-0000-0000-000000001005"]}]}}}};
const hiddenFields = [
"accountId",
"locale",
"authType",
"authResponse",
"formId",
"requestId",
"suppValidationId",
"sourceWebsite",
"ipAddress",
"gpcEnabled",
"captchaAnswer",
"captchaInput"
];
hiddenFields.forEach(function(hiddenField) {
jsonData.schema.properties[hiddenField] = {
type : "string",
};
jsonData.options.fields[hiddenField] = {
type : "hidden"
};
});
jsonData.schema.properties.accountId.default = "25968dd8-15f0-4b6a-bada-f7c2e99e29c7";
jsonData.schema.properties.locale.default = locale;
jsonData.schema.properties.formId.default = formId;
jsonData.schema.properties.requestId.default = requestId;
jsonData.schema.properties.suppValidationId.default = suppValidationId;
jsonData.schema.properties.authResponse.default = 'no-token';
jsonData.schema.properties.authType.default = authType;
jsonData.schema.properties.sourceWebsite.default = sourceWebsite;
jsonData.schema.properties.ipAddress.default = ipAddress;
jsonData.schema.properties.gpcEnabled.default = gpcEnabled;
jsonData.schema.properties.captchaAnswer.default = '';
jsonData.schema.properties.captchaInput.default = '';
jsonData.options.form.buttons.submit.click = initSubmit;
if( jsonData.view.layout && jsonData.view.layout.bindings ) {
jsonData.view.layout.bindings.accountId = 'column-1';
jsonData.view.layout.bindings.locale = 'column-1';
jsonData.view.layout.bindings.formId = 'column-1';
jsonData.view.layout.bindings.requestId = 'column-1';
jsonData.view.layout.bindings.suppValidationId = 'column-1';
jsonData.view.layout.bindings.authResponse = 'column-1';
jsonData.view.layout.bindings.authType = 'column-1';
jsonData.view.layout.bindings.sourceWebsite = 'column-1';
jsonData.view.layout.bindings.ipAddress = 'column-1';
jsonData.view.layout.bindings.gpcEnabled = 'column-1';
jsonData.view.layout.bindings.captchaAnswer = 'column-1';
jsonData.view.layout.bindings.captchaInput = 'column-1';
}
jsonData.postRender = postRenderer;
if(jsonData.view.layout && jsonData.view.layout.template){
jsonData.view.layout.template = appendBuildVersionQueryParam(jsonData.view.layout.template);
}
if(jsonData.view.fields){
for (var fieldKey in jsonData.view.fields){
var field = jsonData.view.fields[fieldKey];
if(field && field.templates){
for (var templateKey in field.templates){
var template = field.templates[templateKey];
field.templates[templateKey] = appendBuildVersionQueryParam(template);
}
}
}
}
jsonData.view.locale = locale;
jsonData.view.messages[locale] = {
"invalidEmail": jsonData.view.messages.invalidEmail
}
// Buttons doesn't work
if (noSubmit) {
for (var button in jsonData.options.form.buttons) {
jsonData.options.form.buttons[button].click = function() {
window.alert("Test Mode");
return;
}
}
}
// Date Locales
for (var keyId in jsonData.schema.properties) {
var schemaProps = jsonData.schema.properties[keyId];
var optionProps = jsonData.options.fields[keyId];
if (schemaProps.format === 'date') {
if (!("picker" in optionProps)) {
optionProps.picker = {};
}
optionProps.picker.locale = locale;
}
}
if(!jsonData.options.header.showCompanyName){
jsonData.schema.title = null;
}
//Disable autofocus on the first input field
jsonData.options.focus = "";
$("#form1").alpaca(jsonData);
}
function submitMethod(alpaca) {
const formData = alpaca.getValue();
if(GOOGLE_RECAPTCHA_V3_ENABLED){
grecaptcha.ready(function () {
grecaptcha.execute("6LeUJoQaAAAAAAAYuHIlzgY0JwxfTErqtLAzBwBD", {action: 'homepage'}).then(function (token) {
console.log("Google Token: " + token);
formData.authResponse = token;
alpaca.form.find("textarea.g-recaptcha-response").prop('disabled', true);
if(TRUSTARC_CAPTCHA_ENABLED){
submitTrustArcCaptcha(alpaca, formData);
}else{
submit(alpaca, formData);
}
});
});
}else if(TRUSTARC_CAPTCHA_ENABLED){
submitTrustArcCaptcha(alpaca, formData);
}else if (authType === 'TRUSTARC') {
formData.authResponse = trustarc.__token;
Object.keys(trustarc.__data).forEach(function(key) {
let value = trustarc.__data[key];
if (key && value) {
if (!(key in formData) && alpaca.isValid(true)) {
var input = $('')
input.val(value);
alpaca.getFormEl().append(input);
}
formData[key] = value;
}
});
submit(alpaca, formData);
}
}
function submitTrustArcCaptcha(alpaca, formData){
formData.captchaAnswer = captchaAnswer;
formData.captchaInput = captchaInput;
submit(alpaca, formData);
}
function submit(alpaca, formData){
alpaca.setValue(formData);
//postmessage submit
parentPostMessage(alpaca, {
source: "trustarc_irm",
message: "submit",
data: ""
});
disableSubmitButton();
alpaca.submit();
}
function parentPostMessage(alpaca, data) {
var requestType = nullSafeGet(['00000000-0000-0000-0000-000000001005'], alpaca.getValue());
var ccmEnabled = nullSafeGet(['options', 'fields', '00000000-0000-0000-0000-000000001005', 'ccmEnabledOptions', requestType, 'enabled'], alpaca.topControl);
if (ccmEnabled === true || isGPCEnabled()) {
window.parent.postMessage(JSON.stringify(data), '*');
}
}
var isModalConfirmInit = false;
function initModal(alpaca){
if (!isModalConfirmInit) {
$("#modal-btn-confirm").on("click", function(){
submitMethod(alpaca);
$("#mi-modal").modal('hide');
});
$("#modal-btn-cancel").on("click", function(){
// Enable all upload File Hidden Field again after cancel
updateFileUploadState(false);
$("#mi-modal").modal('hide');
});
$(".close").on("click", function(){
// Enable all upload File Hidden Field again after cancel
updateFileUploadState(false);
});
isModalConfirmInit = true;
}
$("#mi-modal").modal('show');
//TODO: Find better way for late binding
var confirmLabel = nullSafeGet(['00000000-0000-0000-0000-000000001005'], alpaca.getValue());
var confirmMessage = nullSafeGet(['options', 'fields', '00000000-0000-0000-0000-000000001005', 'confirmMessages', confirmLabel, 'message'], alpaca.topControl);
var requestTypeLabel = nullSafeGet(['options', 'fields', '00000000-0000-0000-0000-000000001005', 'confirmMessages', confirmLabel, 'requestTypeLabel'], alpaca.topControl);
confirmMessage = confirmMessage.replace('\[\[\$\{requestType\}\]\]', requestTypeLabel);
$("#confirmMessage").html(confirmMessage);
}
function initSubmit(event, alpacaForm) {
var alpaca = !alpacaForm ? this : alpacaForm;
// Disable all upload File Hidden Field, so it wont be sent on submit
updateFileUploadState(true);
if (hasConfirm(alpaca)) {
initModal(alpaca);
} else {
submitMethod(alpaca);
}
}
function updateFileUploadState(disabled) {
document.querySelectorAll(".uploadFileHiddenField").forEach(function(item) {
item.disabled = disabled;
});
document.querySelectorAll(".uploadFileField").forEach(function(item) {
if (item.parentElement.classList.contains("disabled")) {
item.disabled = disabled;
}
});
}
function hasConfirm(alpaca) {
var conLabels = nullSafeGet(['options', 'fields', '00000000-0000-0000-0000-000000001005', 'confirmLabels'], alpaca.topControl);
var reqValue = nullSafeGet(['00000000-0000-0000-0000-000000001005'], alpaca.getValue());
if (conLabels && conLabels.includes(reqValue)) {
var reqIds = nullSafeGet(['schema', 'properties', '00000000-0000-0000-0000-000000001005', 'enum'], alpaca.topControl);
var reqVals = nullSafeGet(['options', 'fields', '00000000-0000-0000-0000-000000001005', 'optionLabels'], alpaca.topControl);
if (reqIds && reqVals && reqIds.length == reqVals.length) {
var reqIndex = reqIds.indexOf(reqValue);
if (reqIndex != -1) {
$('#requestTypeName').html(reqVals[reqIndex]);
return true;
}
}
}
return false;
}
let initForm = true;
let isCaptchaCorrect = false;
const CAPTCHA_ANSWER_LENGTH = 5;
let captchaAnswer;
let captchaInput;
const hideTrustArcCaptcha = function(){
if(!TRUSTARC_CAPTCHA_ENABLED){
return;
}
$('#captcha-container').hide();
}
const showTrustArcCaptcha = function(){
if(!TRUSTARC_CAPTCHA_ENABLED){
return;
}
$('#captcha-container').show();
}
const refreshTrustArcCaptcha = function(manualRefresh){
if(!TRUSTARC_CAPTCHA_ENABLED){
return;
}
const captchaInputField = $("#captcha-input");
const captchaRefresh = $('#captcha-refresh');
const captchaRefreshSection = $('#captcha-refresh-section');
captchaRefresh.prop('disabled', true);
captchaRefresh.css('cursor', 'not-allowed');
captchaRefreshSection.invisible();
captchaInputField.val('');
captchaInputField.prop('disabled', true);
$.getJSON("/services/validation/api/v1/captcha", function(captcha) {
captchaAnswer = captcha.answer;
$("#captcha-image").attr("src", captcha.image);
changeTrustArcCaptchaAudio(captcha.audio);
captchaRefresh.prop('disabled', false);
captchaRefresh.css('cursor', 'pointer');
captchaInputField.prop('disabled', false);
captchaRefreshSection.visible();
if(manualRefresh){
captchaInputField.focus();
}
}).fail(function(error) {
alert('Failed to load captcha!');
console.log( "[get captcha] error", error);
});
}
const changeTrustArcCaptchaAudio = function (sourceUrl) {
if(!TRUSTARC_CAPTCHA_ENABLED){
return;
}
const audio = $("#captcha-audio");
$("#captcha-audio-source").attr("src", sourceUrl);
audio[0].pause();
audio[0].load();
}
function postRenderer(control) {
$('.alpaca-required-indicator').html((''));
//WCAG 2 Compliance
var count=1;
$('#form1 a').each(function(){
var newId = 'tr-a-link-' + count++;
var label = $("