Skip to main content

Политика за поверителност на уебсайта physiocave.com

 

I. Общи положения

Настоящата Политика за поверителност информира потребителите на уебсайта physiocave.com за начина, по който „Физиокейв“ ООД, ЕИК 208018874, със седалище и адрес на управление: гр. Стара Загора, ул. „Екзарх Антим I“ №127, ет. 1 (наричано по-долу „Администратор“) събира, използва, съхранява и защитава личните им данни.

Политиката е изготвена в съответствие с Регламент (ЕС) 2016/679 (GDPR) и Закона за защита на личните данни.

II. Категории обработвани лични данни

  • Идентификационни данни: име, фамилия.
  • Данни за контакт: телефон, имейл адрес.
  • Адрес за фактуриране: необходим за издаване на фактура при плащане на услуги.
  • Платежна информация: данни, свързани с извършено плащане. Плащанията се обработват чрез Уникредит Булбанк и националния картов оператор Борика АД. „Физиокейв“ ООД не съхранява данни от банкови карти.
  • Здравни данни: информация за травми, заболявания, проведени терапии и физическо състояние (ако се предоставят доброволно).

III. Цели и правно основание за обработване

  • Сключване и изпълнение на договор – предоставяне на заявените услуги и издаване на фактура.
  • Изпълнение на законови задължения – счетоводни и фактурни документи.
  • Изрично съгласие – при обработване на здравни данни.
  • Легитимен интерес – подобряване на обслужването и сигурността на сайта.

IV. Съхранение и защита на личните данни

  1. Данните се съхраняват в сигурно облачно пространство, достъпно единствено за екипа на Администратора.
  2. Личните данни не се предоставят на трети лица, освен:
    • при законово изискване;
    • при обработване чрез сертифицирани доставчици на платежни или хостинг услуги.
  3. Прилагат се технически и организационни мерки за защита срещу неправомерен достъп, промяна, разкриване или унищожаване на данните.

V. Срокове за съхранение

  • Данни за фактуриране и плащания: 10 години.
  • Данни за контакт и регистрация: до 5 години след последния контакт.
  • Здравни данни: до 5 години след последната услуга, освен ако законът не изисква по-дълго съхранение.

VI. Права на субектите на данни

  • Получаване на информация за обработваните данни.
  • Корекция или допълване на неточни или непълни данни.
  • Изтриване („право да бъдеш забравен“) в предвидените от закона случаи.
  • Ограничаване на обработването.
  • Оттегляне на съгласие за обработване на здравни данни по всяко време.
  • Жалба до КЗЛД.

VII. Контакти

Адрес: България, гр. Стара Загора, ул. „Екзарх Антим I“ №127, ет. 1
Имейл: physiocave@gmail.com
Телефон: +359 888409827 / +359 879008555

Научно-базирана физиотерапия за здраво и активно тяло – консултации, тренировки, масажи и програми за движение без болка.

© Physiocave | All Rights Reserved 2025

Website made by Social Managers (Bulgaria)

add_action('wp_footer', function () { ?> // Do not change this comment line otherwise Speed Optimizer won't be able to detect this script (function () { const calculateParentDistance = (child, parent) => { let count = 0; let currentElement = child; // Traverse up the DOM tree until we reach parent or the top of the DOM while (currentElement && currentElement !== parent) { currentElement = currentElement.parentNode; count++; } // If parent was not found in the hierarchy, return -1 if (!currentElement) { return -1; // Indicates parent is not an ancestor of element } return count; // Number of layers between element and parent } const isMatchingClass = (linkRule, href, classes, ids) => { return classes.includes(linkRule.value) } const isMatchingId = (linkRule, href, classes, ids) => { return ids.includes(linkRule.value) } const isMatchingDomain = (linkRule, href, classes, ids) => { if(!URL.canParse(href)) { return false } const url = new URL(href) return linkRule.value === url.host } const isMatchingExtension = (linkRule, href, classes, ids) => { if(!URL.canParse(href)) { return false } const url = new URL(href) return url.pathname.endsWith('.' + linkRule.value) } const isMatchingSubdirectory = (linkRule, href, classes, ids) => { if(!URL.canParse(href)) { return false } const url = new URL(href) return url.pathname.startsWith('/' + linkRule.value + '/') } const isMatchingProtocol = (linkRule, href, classes, ids) => { if(!URL.canParse(href)) { return false } const url = new URL(href) return url.protocol === linkRule.value + ':' } const isMatchingExternal = (linkRule, href, classes, ids) => { if(!URL.canParse(href) || !URL.canParse(document.location.href)) { return false } const matchingProtocols = ['http:', 'https:'] const siteUrl = new URL(document.location.href) const linkUrl = new URL(href) // Links to subdomains will appear to be external matches according to JavaScript, // but the PHP rules will filter those events out. return matchingProtocols.includes(linkUrl.protocol) && siteUrl.host !== linkUrl.host } const isMatch = (linkRule, href, classes, ids) => { switch (linkRule.type) { case 'class': return isMatchingClass(linkRule, href, classes, ids) case 'id': return isMatchingId(linkRule, href, classes, ids) case 'domain': return isMatchingDomain(linkRule, href, classes, ids) case 'extension': return isMatchingExtension(linkRule, href, classes, ids) case 'subdirectory': return isMatchingSubdirectory(linkRule, href, classes, ids) case 'protocol': return isMatchingProtocol(linkRule, href, classes, ids) case 'external': return isMatchingExternal(linkRule, href, classes, ids) default: return false; } } const track = (element) => { const href = element.href ?? null const classes = Array.from(element.classList) const ids = [element.id] const linkRules = [{"type":"extension","value":"pdf"},{"type":"extension","value":"zip"},{"type":"protocol","value":"mailto"},{"type":"protocol","value":"tel"}] if(linkRules.length === 0) { return } // For link rules that target an id, we need to allow that id to appear // in any ancestor up to the 7th ancestor. This loop looks for those matches // and counts them. linkRules.forEach((linkRule) => { if(linkRule.type !== 'id') { return; } const matchingAncestor = element.closest('#' + linkRule.value) if(!matchingAncestor || matchingAncestor.matches('html, body')) { return; } const depth = calculateParentDistance(element, matchingAncestor) if(depth < 7) { ids.push(linkRule.value) } }); // For link rules that target a class, we need to allow that class to appear // in any ancestor up to the 7th ancestor. This loop looks for those matches // and counts them. linkRules.forEach((linkRule) => { if(linkRule.type !== 'class') { return; } const matchingAncestor = element.closest('.' + linkRule.value) if(!matchingAncestor || matchingAncestor.matches('html, body')) { return; } const depth = calculateParentDistance(element, matchingAncestor) if(depth < 7) { classes.push(linkRule.value) } }); const hasMatch = linkRules.some((linkRule) => { return isMatch(linkRule, href, classes, ids) }) if(!hasMatch) { return } const url = "https://physiocave.com/wp-content/plugins/independent-analytics/iawp-click-endpoint.php"; const body = { href: href, classes: classes.join(' '), ids: ids.join(' '), ...{"payload":{"resource":"singular","singular_id":570,"page":1},"signature":"9be9d4e2a18fc98c56babbbbae39de4b"} }; if (navigator.sendBeacon) { let blob = new Blob([JSON.stringify(body)], { type: "application/json" }); navigator.sendBeacon(url, blob); } else { const xhr = new XMLHttpRequest(); xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.send(JSON.stringify(body)) } } document.addEventListener('mousedown', function (event) { if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) { return; } const element = event.target.closest('a') if(!element) { return } const isPro = false if(!isPro) { return } // Don't track left clicks with this event. The click event is used for that. if(event.button === 0) { return } track(element) }) document.addEventListener('click', function (event) { if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) { return; } const element = event.target.closest('a, button, input[type="submit"], input[type="button"]') if(!element) { return } const isPro = false if(!isPro) { return } track(element) }) document.addEventListener('play', function (event) { if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) { return; } const element = event.target.closest('audio, video') if(!element) { return } const isPro = false if(!isPro) { return } track(element) }, true) document.addEventListener("DOMContentLoaded", function (e) { if (document.hasOwnProperty("visibilityState") && document.visibilityState === "prerender") { return; } if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) { return; } let referrer_url = null; if (typeof document.referrer === 'string' && document.referrer.length > 0) { referrer_url = document.referrer; } const params = location.search.slice(1).split('&').reduce((acc, s) => { const [k, v] = s.split('='); return Object.assign(acc, {[k]: v}); }, {}); const url = "https://physiocave.com/en/wp-json/iawp/search"; const body = { referrer_url, utm_source: params.utm_source, utm_medium: params.utm_medium, utm_campaign: params.utm_campaign, utm_term: params.utm_term, utm_content: params.utm_content, gclid: params.gclid, ...{"payload":{"resource":"singular","singular_id":570,"page":1},"signature":"9be9d4e2a18fc98c56babbbbae39de4b"} }; if (navigator.sendBeacon) { let blob = new Blob([JSON.stringify(body)], { type: "application/json" }); navigator.sendBeacon(url, blob); } else { const xhr = new XMLHttpRequest(); xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xhr.send(JSON.stringify(body)) } }); })();