Canadian Privacy Rights (PIPEDA & Quebec Law 25)
If you are located in Canada, you may have rights regarding your personal information under the Personal Information Protection and Electronic Documents Act (PIPEDA) and, in Quebec, Law 25. Please use the options below to exercise your rights.
Access or download my data
You can request access to the personal information we hold about you, including account details and order history. Where applicable (for example, under Quebec's Law 25), you may also request a copy of your computerized personal information in a portable format.
Response time: We will respond within 30 days (or as otherwise permitted by applicable law).
Correct my information
If you believe the personal information we hold about you is inaccurate or incomplete, you can request a correction.
Delete my data
You can request deletion of personal information associated with your account.
Important: This request is subject to certain exceptions. For example, we may retain information where required for legal, security, or tax reporting purposes.
Your privacy choice
Manage Your Privacy Choices Depending on your location, you may have the right to opt out of the sale of your personal info, withdraw consent for tracking, or customize your cookie preferences.
Privacy contact
If you have questions about your privacy rights, please contact:
Email: modlabwatchesp@gmail.com
Address: Avenida de Ramón y Cajal 10, 41005 Sevilla Sevilla, Spain
Complaints
If you believe your privacy rights have been violated, you may file a complaint with the Office of the Privacy Commissioner of Canada (OPC) or, in Quebec, the Commission d'accès à l'information (CAI).
I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy.
'; var isEmailValid = function(email) { let regex = /^(([^()\[\]\\.,;:\s@"]+(\.[^()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (email == '' || email == undefined) { return false; } else { return regex.test(email); } } var pipedaSendRequest = function (callback) { fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET', headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 4); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'pipeda'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https://app.consentmo.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { showInlineSuccessMessage(); } else { showInlineErrorMessage(resp.message || 'Something went wrong. Please try again.'); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { showInlineErrorMessage(error.message || 'Something went wrong. Please try again.'); }) } else { showInlineErrorMessage(resp.message || 'Something went wrong. Please try again.'); } }) } function showInlineSuccessMessage() { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var errNode = form.querySelector('.gdpr-request-error'); if (errNode) { errNode.remove(); } var successNode = form.querySelector('.gdpr-request-success'); if (!successNode) { successNode = document.createElement('p'); successNode.className = 'gdpr-request-success'; form.appendChild(successNode); } successNode.textContent = successMessage; } function showInlineErrorMessage(message) { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var successNode = form.querySelector('.gdpr-request-success'); if (successNode) { successNode.remove(); } var errorNode = form.querySelector('.gdpr-request-error'); if (!errorNode) { errorNode = document.createElement('p'); errorNode.className = 'gdpr-request-error'; form.appendChild(errorNode); } errorNode.textContent = message; } //Append modal to body, because otherwise it will not stay centered(even if position is fixed) document.querySelector("body").insertAdjacentHTML('beforeend', verificationModalContent); document.addEventListener('click', function(e) { let submitButton = e.target.closest('input[type="submit"]'); if (submitButton && submitButton.id && submitButton.id.indexOf('request-submit') !== -1) { activeSubmitButton = submitButton; } }); document.addEventListener("DOMContentLoaded", function () { // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function (e) { e.preventDefault(); closeVerificationModal(); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function (e) { e.preventDefault(); // Detect a href's click, because it is overwritten. if (e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(() => { toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; pipedaSendRequest(function (resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); }); function openVerificationModal() { if(!isEmailValid(email)) { showInlineErrorMessage('Invalid email'); return; } toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal() { toggleFadeiSense(document.querySelector("#data-verification-background"), false); document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none'; // Focus the button of the request type that was picked let pipedaForms = document.querySelectorAll('.form-pipeda-request'); pipedaForms.forEach(function(pipedaForm) { if (pipedaForm.style.display !== "none") { let pipedaFormLinks = pipedaForm.previousElementSibling; if (pipedaFormLinks && pipedaFormLinks.querySelectorAll('li').length === 1) { pipedaFormLinks.querySelector('button').focus(); } } }); } // Access or download my data document.querySelector('#btn-pipeda-access-data-request').addEventListener('click', function (e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pipedaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pipeda-access-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pipeda-access-data-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pipeda-access-data-request-submit').addEventListener('click', function (e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-pipeda-access-data-request-email').value; type = 'customer/report'; openVerificationModal(); }); // Correct my information document.querySelector('#btn-pipeda-correct-info-request').addEventListener('click', function (e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pipedaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pipeda-correct-info-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pipeda-correct-info-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pipeda-correct-info-request-submit').addEventListener('click', function (e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-pipeda-correct-info-request-email').value; type = 'customer/edit'; openVerificationModal(); }); // Delete my data document.querySelector('#btn-pipeda-delete-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pipedaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pipeda-delete-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pipeda-delete-data-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pipeda-delete-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-pipeda-delete-data-request-email').value; type = 'customer/delete'; openVerificationModal(); }); // Update privacy settings document.querySelector('#btn-pipeda-update-privacy-settings').addEventListener('click', function (e) { e.preventDefault(); if (typeof showPreferences === 'function') { showPreferences(this); return; } let settingsButton = document.querySelector('.cc-window .cc-settings'); if (settingsButton) { settingsButton.click(); return; } alert('Privacy settings are unavailable on this page.'); }); // Keyboard navigation in data verification modal for accessibility document.addEventListener("DOMContentLoaded", function() { document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space"; let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); }); // ]]>

