{"id":5572,"date":"2025-09-23T18:18:58","date_gmt":"2025-09-23T16:18:58","guid":{"rendered":"https:\/\/puedata.com\/ethics-channel\/"},"modified":"2026-02-09T11:02:47","modified_gmt":"2026-02-09T10:02:47","slug":"ethics-channel","status":"publish","type":"page","link":"https:\/\/puedata.com\/en\/ethics-channel\/","title":{"rendered":"Ethics Channel"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:80px;--awb-padding-left:10px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-background-color:var(--awb-color1);--awb-background-image:radial-gradient(circle at right bottom, var(--awb-color1) 0%,rgba(255,255,255,0) 29%);--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 100% + 0px );margin-left: calc(-0px \/ 2 );margin-right: calc(-0px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-small-visibility fusion-no-medium-visibility\" style=\"--awb-padding-bottom:40px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:calc( 0.055 * calc( 100% - 0px ) );--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:calc( 0.055 * calc( 100% - 0px ) );--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n TYPEWRITER ANIMATION - FIXED HEIGHT\n \"Ethical channel_\" (cursor2 magenta active during typing)\n=================================== -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n#typewriter-container {\n  display: flex;\n  justify-content: left;\n  align-items: left;\n  padding: 40px 0; \/* no lateral padding *\/\n  text-align: left;\n}\n\nh1#typewriter-text {\n  font-family: 'Poppins', sans-serif;\n  font-size: 80px;\n  font-weight: 600;\n  line-height: 1.2;\n  display: inline-block;\n  margin-bottom: 0;\n}\n\n.text-blue { color: #004a7c; }\n.text-pink { color: #e40d4d; }\n\n\/* Cursor2 (magenta active) *\/\n.cursor2 {\n  color: #e40d4d;\n  display: inline-block;\n  animation: blink-during 0.4s step-start infinite;\n  margin-left: 2px;\n  vertical-align: baseline;\n}\n\n@keyframes blink-during {\n  50% { opacity: 0; }\n}\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n  h1#typewriter-text { font-size: 40pt; }\n}\n@media (max-width: 480px) {\n  h1#typewriter-text { font-size: 30pt; }\n  #typewriter-container { padding: 20px 0; }\n}\n<\/style>\n\n<div id=\"typewriter-container\">\n  <h1 id=\"typewriter-text\"><\/h1>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n\n  const h1 = document.getElementById('typewriter-text');\n\n  \/\/ Create spans once\n  const typedSpan = document.createElement('span');\n  const cursorSpan = document.createElement('span');\n  cursorSpan.className = 'cursor2';\n  cursorSpan.textContent = '_';\n  h1.appendChild(typedSpan);\n  h1.appendChild(cursorSpan);\n\n  const fullText = 'Ethical channel';\n  const typingSpeed = 50;\n  let currentIndex = 0;\n  let started = false;\n\n  const part1 = 'Ethical '; \/\/ blue\n\n  \/\/ \"Ethical\" \u2192 blue, \"channel\" \u2192 magenta\n  function colorizeText(text) {\n    if (text.length <= part1.length) {\n      return `<span class=\"text-blue\">${text}<\/span>`;\n    } else {\n      const bluePart = part1;\n      const pinkPart = text.slice(part1.length);\n      return `<span class=\"text-blue\">${bluePart}<\/span><span class=\"text-pink\">${pinkPart}<\/span>`;\n    }\n  }\n\n  function typeWriter() {\n    if (currentIndex <= fullText.length) {\n      const current = fullText.slice(0, currentIndex);\n      typedSpan.innerHTML = colorizeText(current);\n      currentIndex++;\n      setTimeout(typeWriter, typingSpeed);\n    } else {\n      finalizeCursor();\n    }\n  }\n\n  function finalizeCursor() {\n    cursorSpan.style.animation = 'none';\n    let blinkCount = 0;\n\n    const blinkInterval = setInterval(() => {\n      cursorSpan.style.opacity = cursorSpan.style.opacity === '0' ? '1' : '0';\n      blinkCount++;\n\n      if (blinkCount >= 6) { \/\/ 3 final blinks\n        clearInterval(blinkInterval);\n        cursorSpan.style.opacity = '1'; \/\/ stays visible\n      }\n    }, 400);\n  }\n\n  const observer = new IntersectionObserver(entries => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting && !started) {\n        started = true;\n        typeWriter();\n      }\n    });\n  }, { threshold: 0.5 });\n\n  observer.observe(h1);\n\n});\n<\/script>\n<\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-large-visibility\" style=\"--awb-padding-top:64px;--awb-padding-bottom:40px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:0px;--awb-margin-bottom-large:20px;--awb-spacing-left-large:calc( 0.055 * calc( 100% - 0px ) );--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:0px;--awb-spacing-left-medium:calc( 0.055 * calc( 100% - 0px ) );--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:0px;--awb-spacing-left-small:0px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n AVADA TYPEWRITER (ID 2637)\n \"Ethical channel_\"\n Cursor magenta active during typing\n Modelo Perfecto Responsive\n=================================== -->\n\n<div id=\"avada-typewriter2637\" class=\"avada-typewriter\">\n  <div class=\"avada-typewriter-text\">\n    <span class=\"avada-typewriter-content\"><\/span>\n    <span class=\"avada-typewriter-cursor\">_<\/span>\n  <\/div>\n<\/div>\n\n<style>\n\/* CONTENEDOR BASE *\/\n#avada-typewriter2637{\n  width:100%;\n  overflow:hidden;\n  box-sizing:border-box;\n  text-align:left;\n  padding:40px 0;\n}\n\n\/* TEXTO *\/\n#avada-typewriter2637 .avada-typewriter-text{\n  font-family:'Poppins',sans-serif;\n  font-weight:600;\n  line-height:1.2;\n  margin:0;\n  max-width:100%;\n  font-size:clamp(48px,6vw,90px);\n  display:inline;\n  white-space:normal;\n  visibility:visible!important;\n  opacity:1!important;\n}\n\n\/* CONTENIDO *\/\n#avada-typewriter2637 .avada-typewriter-content{\n  min-width:0;\n  white-space:normal;\n}\n\n\/* COLORES *\/\n#avada-typewriter2637 .text-blue{ color:#004a7c; }\n#avada-typewriter2637 .text-pink{ color:#e40d4d; }\n\n\/* CURSOR \u2014 MAGENTA *\/\n#avada-typewriter2637 .avada-typewriter-cursor{\n  display:inline-block;\n  color:#e40d4d;\n  line-height:1em;\n  margin-left:0.12em;\n  position:relative;\n  top:0.08em;\n  vertical-align:baseline;\n  animation:avada-typewriter-blink2637 0.4s step-start infinite;\n}\n\n@keyframes avada-typewriter-blink2637{\n  50%{opacity:0;}\n}\n\n\/* LIMPIEZA WPML \/ AVADA *\/\n#avada-typewriter2637 .typed-cursor,\n#avada-typewriter2637 .fusion-typed-cursor,\n#avada-typewriter2637 .cursor2,\n#avada-typewriter2637 .cursor{\n  display:none!important;\n}\n#avada-typewriter2637 .avada-typewriter-text::after,\n#avada-typewriter2637 .avada-typewriter-content::after{\n  content:none!important;\n}\n\n\/* RESPONSIVE *\/\n@media(max-width:768px){ #avada-typewriter2637{ padding:30px 0; } }\n@media(max-width:480px){ #avada-typewriter2637{ padding:20px 0; } }\n<\/style>\n\n<script>\n\/* TYPEWRITER SCRIPT (ID 2637) *\/\n(function(){\n\n  const wrapper = document.getElementById('avada-typewriter2637');\n  if(!wrapper) return;\n\n  \/* Eliminar cursores WPML\/Avada *\/\n  wrapper.querySelectorAll('.typed-cursor, .fusion-typed-cursor, .cursor2, .cursor')\n    .forEach(el => el.remove());\n\n  const typed = wrapper.querySelector('.avada-typewriter-content');\n  const cursor = wrapper.querySelector('.avada-typewriter-cursor');\n\n  const fullText = \"Ethical channel\";\n  const typingSpeed = 50;\n  const part1 = \"Ethical \"; \/\/ azul\n\n  let i = 0, started = false, finished = false;\n\n  \/* COLOR DIN\u00c1MICO *\/\n  function colorize(text){\n    if(text.length <= part1.length){\n      return `<span class=\"text-blue\">${text}<\/span>`;\n    }else{\n      return `<span class=\"text-blue\">${part1}<\/span><span class=\"text-pink\">${text.slice(part1.length)}<\/span>`;\n    }\n  }\n\n  \/* ESCRITURA *\/\n  function typeWriter(){\n    if(i <= fullText.length){\n      typed.innerHTML = colorize(fullText.slice(0,i));\n      i++;\n      setTimeout(typeWriter, typingSpeed);\n    }else{\n      finalizeCursor();\n    }\n  }\n\n  \/* CURSOR FINAL \u2014 3 PARPADEOS *\/\n  function finalizeCursor(){\n    if(finished) return;\n    finished = true;\n\n    cursor.style.animation = \"none\";\n    cursor.style.opacity = \"1\";\n\n    let cycles = 0;\n    const iv = setInterval(()=>{\n      cursor.style.opacity = cursor.style.opacity === \"1\" ? \"0\" : \"1\";\n\n      if(cursor.style.opacity === \"1\"){\n        cycles++;\n        if(cycles >= 3){\n          clearInterval(iv);\n          cursor.style.opacity = \"1\";\n        }\n      }\n    },400);\n  }\n\n  \/* OBSERVER *\/\n  const io = new IntersectionObserver(entries=>{\n    entries.forEach(e=>{\n      if(e.isIntersecting && !started){\n        started = true;\n        typeWriter();\n        io.unobserve(wrapper);\n      }\n    });\n  },{threshold:0.5});\n\n  io.observe(wrapper);\n\n})();\n<\/script>\n<\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-small-visibility fusion-no-medium-visibility\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-right:132.989px;--awb-padding-left:164.989px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:104%;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-small-visibility fusion-no-medium-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n TYPEWRITER ANIMATION (ID 2)\n \"Compliance policy_\" (cursor azul activo durante escritura)\n=================================== -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n#typewriter-container2 {\n  display: flex;\n  justify-content: left;\n  align-items: flex-start;\n  padding: 40px 0; \/* sin padding lateral *\/\n  text-align: left;\n  height: 140px;\n  overflow: hidden;\n}\n\nh2#typewriter-text2 {\n  font-family: 'Poppins', sans-serif;\n  font-size: 56px;\n  font-weight: 600;\n  line-height: 1.2;\n  display: inline-block;\n  margin: 0;\n  color: #004a7c; \/* azul corporativo *\/\n  white-space: pre-line;\n  word-break: break-word;\n  max-width: 100%;\n}\n\n\/* Cursor (azul activo) *\/\n.cursor {\n  color: #004a7c;\n  display: inline-block;\n  animation: blink-during 0.4s step-start infinite;\n  margin-left: 2px;\n  vertical-align: baseline;\n}\n\n@keyframes blink-during { 50% { opacity: 0; } }\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n  #typewriter-container2 { height: 110px; }\n  h2#typewriter-text2 { font-size: 45pt; }\n}\n@media (max-width: 480px) {\n  #typewriter-container2 { height: 90px; padding: 20px 0; }\n  h2#typewriter-text2 { font-size: 30pt; }\n}\n<\/style>\n\n<div id=\"typewriter-container2\">\n  <h2 id=\"typewriter-text2\"><\/h2>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n\n  const h2 = document.getElementById('typewriter-text2');\n\n  \/\/ Create spans once\n  const typedSpan = document.createElement('span');\n  const cursorSpan = document.createElement('span');\n  cursorSpan.className = 'cursor';\n  cursorSpan.textContent = '_';\n  h2.appendChild(typedSpan);\n  h2.appendChild(cursorSpan);\n\n  const fullText = 'Compliance policy';\n  const typingSpeed = 50;\n  let currentIndex = 0;\n  let started = false;\n\n  function typeWriter() {\n    if (currentIndex <= fullText.length) {\n      typedSpan.textContent = fullText.slice(0, currentIndex);\n      currentIndex++;\n      setTimeout(typeWriter, typingSpeed);\n    } else {\n      finalizeCursor();\n    }\n  }\n\n  \/\/ Cursor: 3 final blinks\n  function finalizeCursor() {\n    cursorSpan.style.animation = 'none';\n    let blinkCount = 0;\n    const blinkInterval = setInterval(() => {\n      cursorSpan.style.opacity = cursorSpan.style.opacity === '0' ? '1' : '0';\n      blinkCount++;\n      if (blinkCount >= 6) { \/\/ 3 parpadeos finales\n        clearInterval(blinkInterval);\n        cursorSpan.style.opacity = '1';\n      }\n    }, 400);\n  }\n\n  const observer = new IntersectionObserver(entries => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting && !started) {\n        started = true;\n        typeWriter();\n      }\n    });\n  }, { threshold: 0.5 });\n\n  observer.observe(h2);\n\n});\n<\/script>\n<div class=\"fusion-text fusion-text-1\" style=\"--awb-font-size:1rem;\"><p><span style=\"font-weight: 400;\">At Puedata, we identify strict compliance with all regulatory requirements, ethical and responsible management, and respect for voluntarily agreed commitments to be essential values of our corporate culture.<\/span><\/p>\n<p>Therefore, as a fundamental pillar of these values, the highest governing body of Puedata promulgates the Compliance and Anti-Bribery Policy.<\/p>\n<p><span style=\"font-weight: 400;\">For the complete document of the Compliance and Anti-Bribery Policy, you can access the <a href=\"https:\/\/puedata.com\/assets\/documents\/politica_de_compliance.pdf\" target=\"_blank\" rel=\"noopener\">official PDF.<\/a><\/span><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-small-visibility fusion-no-medium-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n TYPEWRITER ANIMATION (ID 3)\n \"Equality Plan_\" (cursor azul activo durante escritura)\n=================================== -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n#typewriter-container3 {\n  display: flex;\n  justify-content: left;\n  align-items: flex-start;\n  padding: 40px 0; \/* sin padding lateral *\/\n  text-align: left;\n  height: 140px;\n  overflow: hidden;\n}\n\nh2#typewriter-text3 {\n  font-family: 'Poppins', sans-serif;\n  font-size: 56px;\n  font-weight: 600;\n  line-height: 1.2;\n  display: inline-block;\n  margin: 0;\n  color: #004a7c; \/* azul corporativo *\/\n  white-space: pre-line;\n  word-break: break-word;\n  max-width: 100%;\n}\n\n\/* Cursor (azul activo) *\/\n.cursor {\n  color: #004a7c;\n  display: inline-block;\n  animation: blink-during 0.4s step-start infinite;\n  margin-left: 2px;\n  vertical-align: baseline;\n}\n\n@keyframes blink-during { 50% { opacity: 0; } }\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n  #typewriter-container3 { height: 110px; }\n  h2#typewriter-text3 { font-size: 45pt; }\n}\n@media (max-width: 480px) {\n  #typewriter-container3 { height: 90px; padding: 20px 0; }\n  h2#typewriter-text3 { font-size: 30pt; }\n}\n<\/style>\n\n<div id=\"typewriter-container3\">\n  <h2 id=\"typewriter-text3\"><\/h2>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n\n  const h2 = document.getElementById('typewriter-text3');\n\n  \/\/ Crear spans una sola vez\n  const typedSpan = document.createElement('span');\n  const cursorSpan = document.createElement('span');\n  cursorSpan.className = 'cursor';\n  cursorSpan.textContent = '_';\n  h2.appendChild(typedSpan);\n  h2.appendChild(cursorSpan);\n\n  const fullText = 'Equality Plan';\n  const typingSpeed = 50;\n  let currentIndex = 0;\n  let started = false;\n\n  function typeWriter() {\n    if (currentIndex <= fullText.length) {\n      typedSpan.textContent = fullText.slice(0, currentIndex);\n      currentIndex++;\n      setTimeout(typeWriter, typingSpeed);\n    } else {\n      finalizeCursor();\n    }\n  }\n\n  \/\/ Cursor: 3 parpadeos finales y queda fijo visible\n  function finalizeCursor() {\n    cursorSpan.style.animation = 'none';\n    let blinkCount = 0;\n    const blinkInterval = setInterval(() => {\n      cursorSpan.style.opacity = cursorSpan.style.opacity === '0' ? '1' : '0';\n      blinkCount++;\n      if (blinkCount >= 6) { \/\/ 3 parpadeos finales\n        clearInterval(blinkInterval);\n        cursorSpan.style.opacity = '1'; \/\/ queda fijo visible\n      }\n    }, 400);\n  }\n\n  const observer = new IntersectionObserver(entries => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting && !started) {\n        started = true;\n        typeWriter();\n      }\n    });\n  }, { threshold: 0.5 });\n\n  observer.observe(h2);\n\n});\n<\/script>\n<div class=\"fusion-text fusion-text-2\" style=\"--awb-font-size:1rem;\"><p><span style=\"font-weight: 400;\">We are firmly committed to establishing and developing policies that integrate equal opportunities for all employees.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #004a7c; font-size: 1.2rem;\">At Puedata, value resides in people, and in their individual contributions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We are the sum of people with ideas, knowledge, experience, a desire to learn and improve, and the motivation and enthusiasm necessary to challenge ourselves every day.<\/span><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-small-visibility fusion-no-medium-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n TYPEWRITER ANIMATION (ID 4)\n \"Whistleblowing channel_\" (cursor azul activo durante escritura)\n=================================== -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n\n<style>\n#typewriter-container4 {\n  display: flex;\n  justify-content: left;\n  align-items: flex-start;\n  padding: 40px 0; \/* sin padding lateral *\/\n  text-align: left;\n  height: 140px;\n  overflow: hidden;\n}\n\nh2#typewriter-text4 {\n  font-family: 'Poppins', sans-serif;\n  font-size: 56px;\n  font-weight: 600;\n  line-height: 1.2;\n  display: inline-block;\n  margin: 0;\n  color: #004a7c; \/* azul corporativo *\/\n  white-space: pre-line;\n  word-break: break-word;\n  max-width: 100%;\n}\n\n\/* Cursor (azul activo) *\/\n.cursor {\n  color: #004a7c;\n  display: inline-block;\n  animation: blink-during 0.4s step-start infinite;\n  margin-left: 2px;\n  vertical-align: baseline;\n}\n\n@keyframes blink-during { 50% { opacity: 0; } }\n\n\/* Responsive *\/\n@media (max-width: 768px) {\n  #typewriter-container4 { height: 110px; }\n  h2#typewriter-text4 { font-size: 45pt; }\n}\n@media (max-width: 480px) {\n  #typewriter-container4 { height: 90px; padding: 20px 0; }\n  h2#typewriter-text4 { font-size: 30pt; }\n}\n<\/style>\n\n<div id=\"typewriter-container4\">\n  <h2 id=\"typewriter-text4\"><\/h2>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n\n  const h2 = document.getElementById('typewriter-text4');\n\n  \/\/ Crear spans una sola vez\n  const typedSpan = document.createElement('span');\n  const cursorSpan = document.createElement('span');\n  cursorSpan.className = 'cursor';\n  cursorSpan.textContent = '_';\n  h2.appendChild(typedSpan);\n  h2.appendChild(cursorSpan);\n\n  const fullText = 'Whistleblowing channel';\n  const typingSpeed = 50;\n  let currentIndex = 0;\n  let started = false;\n\n  function typeWriter() {\n    if (currentIndex <= fullText.length) {\n      typedSpan.textContent = fullText.slice(0, currentIndex);\n      currentIndex++;\n      setTimeout(typeWriter, typingSpeed);\n    } else {\n      finalizeCursor();\n    }\n  }\n\n  \/\/ Cursor: 3 parpadeos finales\n  function finalizeCursor() {\n    cursorSpan.style.animation = 'none';\n    let blinkCount = 0;\n\n    const blinkInterval = setInterval(() => {\n      cursorSpan.style.opacity = cursorSpan.style.opacity === '0' ? '1' : '0';\n      blinkCount++;\n\n      if (blinkCount >= 6) { \/\/ 3 parpadeos finales\n        clearInterval(blinkInterval);\n        cursorSpan.style.opacity = '1'; \/\/ se queda visible\n      }\n    }, 400);\n  }\n\n  const observer = new IntersectionObserver(entries => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting && !started) {\n        started = true;\n        typeWriter();\n      }\n    });\n  }, { threshold: 0.5 });\n\n  observer.observe(h2);\n\n});\n<\/script>\n<div ><a class=\"fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" style=\"--button_font_size:1rem;\" target=\"_self\" href=\"https:\/\/pue.canaldenuncia.app\/#\/login\" rel=\"noopener\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Access the channel<\/span><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling fusion-no-large-visibility\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-right:19.98400000000001px;--awb-padding-left:20px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:104%;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-large-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n AVADA TYPEWRITER (ID 2638)\n \"Compliance policy_\"\n Cursor azul activo durante escritura\n Modelo Perfecto Responsive\n=================================== -->\n\n<div id=\"avada-typewriter2638\" class=\"avada-typewriter\">\n  <div class=\"avada-typewriter-text\">\n    <span class=\"avada-typewriter-content\"><\/span>\n    <span class=\"avada-typewriter-cursor\">_<\/span>\n  <\/div>\n<\/div>\n\n<style>\n\/* CONTENEDOR BASE *\/\n#avada-typewriter2638{\n  width:100%;\n  overflow:hidden;\n  box-sizing:border-box;\n  text-align:left;\n  padding:40px 0;\n}\n\n\/* TEXTO *\/\n#avada-typewriter2638 .avada-typewriter-text{\n  font-family:'Poppins',sans-serif;\n  font-weight:600;\n  line-height:1.2;\n  margin:0;\n  max-width:100%;\n  font-size:clamp(42px,5vw,70px); \/* equivalente a tu h2 56px *\/\n  display:inline;\n  white-space:normal;\n  visibility:visible!important;\n  opacity:1!important;\n}\n\n\/* COLORES *\/\n#avada-typewriter2638 .text-blue{ color:#004a7c; }\n\n\/* CONTENIDO *\/\n#avada-typewriter2638 .avada-typewriter-content{\n  min-width:0;\n  white-space:normal;\n}\n\n\/* CURSOR \u2014 AZUL *\/\n#avada-typewriter2638 .avada-typewriter-cursor{\n  display:inline-block;\n  color:#004a7c;\n  line-height:1em;\n  margin-left:0.12em;\n  position:relative;\n  top:0.08em;\n  vertical-align:baseline;\n  animation:avada-typewriter-blink2638 0.4s step-start infinite;\n}\n\n@keyframes avada-typewriter-blink2638{\n  50%{opacity:0;}\n}\n\n\/* LIMPIEZA WPML\/AVADA *\/\n#avada-typewriter2638 .typed-cursor,\n#avada-typewriter2638 .fusion-typed-cursor,\n#avada-typewriter2638 .cursor,\n#avada-typewriter2638 .cursor2{\n  display:none!important;\n}\n#avada-typewriter2638 .avada-typewriter-text::after,\n#avada-typewriter2638 .avada-typewriter-content::after{\n  content:none!important;\n}\n\n\/* RESPONSIVE *\/\n@media(max-width:768px){ #avada-typewriter2638{ padding:30px 0; } }\n@media(max-width:480px){ #avada-typewriter2638{ padding:20px 0; } }\n<\/style>\n\n<script>\n\/* TYPEWRITER SCRIPT (ID 2638) *\/\n(function(){\n\n  const wrapper = document.getElementById('avada-typewriter2638');\n  if(!wrapper) return;\n\n  \/* Limpieza de cursores externos *\/\n  wrapper.querySelectorAll('.typed-cursor, .fusion-typed-cursor, .cursor, .cursor2')\n    .forEach(el => el.remove());\n\n  const typed = wrapper.querySelector('.avada-typewriter-content');\n  const cursor = wrapper.querySelector('.avada-typewriter-cursor');\n\n  const fullText = \"Compliance policy\";\n  const typingSpeed = 50;\n  const part1 = \"Compliance policy\"; \/* todo azul *\/\n\n  let i = 0, started = false, finished = false;\n\n  \/* COLOR DIN\u00c1MICO *\/\n  function colorize(text){\n    return `<span class=\"text-blue\">${text}<\/span>`;\n  }\n\n  \/* ESCRITURA *\/\n  function typeWriter(){\n    if(i <= fullText.length){\n      typed.innerHTML = colorize(fullText.slice(0,i));\n      i++;\n      setTimeout(typeWriter, typingSpeed);\n    }else{\n      finalizeCursor();\n    }\n  }\n\n  \/* CURSOR FINAL \u2014 3 PARPADEOS *\/\n  function finalizeCursor(){\n    if(finished) return;\n    finished = true;\n\n    cursor.style.animation = \"none\";\n    cursor.style.opacity = \"1\";\n\n    let cycles = 0;\n    const iv = setInterval(()=>{\n      cursor.style.opacity = cursor.style.opacity === \"1\" ? \"0\" : \"1\";\n\n      if(cursor.style.opacity === \"1\"){\n        cycles++;\n        if(cycles >= 3){\n          clearInterval(iv);\n          cursor.style.opacity = \"1\";\n        }\n      }\n    },400);\n  }\n\n  \/* OBSERVER *\/\n  const io = new IntersectionObserver(entries=>{\n    entries.forEach(e=>{\n      if(e.isIntersecting && !started){\n        started = true;\n        typeWriter();\n        io.unobserve(wrapper);\n      }\n    });\n  },{threshold:0.5});\n\n  io.observe(wrapper);\n\n})();\n<\/script>\n<div class=\"fusion-text fusion-text-3\" style=\"--awb-font-size:22px;\"><p><span style=\"font-weight: 400;\">At Puedata, we identify strict compliance with all regulatory requirements, ethical and responsible management, and respect for voluntarily agreed commitments to be essential values of our corporate culture.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Therefore, as a fundamental pillar of these values, the highest governing body of Puedata promulgates the Compliance and Anti-Bribery Policy.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the complete document of the Compliance and Anti-Bribery Policy, you can access the <a href=\"https:\/\/puedata.com\/assets\/documents\/politica_de_compliance.pdf\" target=\"_blank\" rel=\"noopener\">official PDF.<\/a><\/span><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-large-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n AVADA TYPEWRITER (ID 2639)\n \"Equality Plan_\"\n Cursor azul activo durante escritura\n Modelo Perfecto Responsive\n=================================== -->\n\n<div id=\"avada-typewriter2639\" class=\"avada-typewriter\">\n  <div class=\"avada-typewriter-text\">\n    <span class=\"avada-typewriter-content\"><\/span>\n    <span class=\"avada-typewriter-cursor\">_<\/span>\n  <\/div>\n<\/div>\n\n<style>\n\/* CONTENEDOR BASE *\/\n#avada-typewriter2639{\n  width:100%;\n  overflow:hidden;\n  box-sizing:border-box;\n  text-align:left;\n  padding:40px 0;\n}\n\n\/* TEXTO *\/\n#avada-typewriter2639 .avada-typewriter-text{\n  font-family:'Poppins',sans-serif;\n  font-weight:600;\n  line-height:1.2;\n  margin:0;\n  max-width:100%;\n  font-size:clamp(42px,5vw,70px); \/* equivalente al h2 56px original *\/\n  display:inline;\n  white-space:normal;\n  visibility:visible!important;\n  opacity:1!important;\n}\n\n\/* CONTENIDO *\/\n#avada-typewriter2639 .avada-typewriter-content{\n  min-width:0;\n  white-space:normal;\n}\n\n\/* COLOR *\/\n#avada-typewriter2639 .text-blue{ color:#004a7c; }\n\n\/* CURSOR \u2014 AZUL *\/\n#avada-typewriter2639 .avada-typewriter-cursor{\n  display:inline-block;\n  color:#004a7c;\n  line-height:1em;\n  margin-left:0.12em;\n  position:relative;\n  top:0.08em;\n  vertical-align:baseline;\n  animation:avada-typewriter-blink2639 0.4s step-start infinite;\n}\n\n@keyframes avada-typewriter-blink2639{\n  50%{opacity:0;}\n}\n\n\/* LIMPIEZA WPML\/AVADA *\/\n#avada-typewriter2639 .typed-cursor,\n#avada-typewriter2639 .fusion-typed-cursor,\n#avada-typewriter2639 .cursor,\n#avada-typewriter2639 .cursor2{\n  display:none!important;\n}\n#avada-typewriter2639 .avada-typewriter-text::after,\n#avada-typewriter2639 .avada-typewriter-content::after{\n  content:none!important;\n}\n\n\/* RESPONSIVE *\/\n@media(max-width:768px){\n  #avada-typewriter2639{ padding:30px 0; }\n}\n@media(max-width:480px){\n  #avada-typewriter2639{ padding:20px 0; }\n}\n<\/style>\n\n<script>\n\/* TYPEWRITER SCRIPT (ID 2639) *\/\n(function(){\n\n  const wrapper = document.getElementById('avada-typewriter2639');\n  if(!wrapper) return;\n\n  \/* Limpieza WPML\/Avada *\/\n  wrapper.querySelectorAll('.typed-cursor, .fusion-typed-cursor, .cursor, .cursor2')\n    .forEach(el => el.remove());\n\n  const typed = wrapper.querySelector('.avada-typewriter-content');\n  const cursor = wrapper.querySelector('.avada-typewriter-cursor');\n\n  const fullText = \"Equality Plan\";\n  const typingSpeed = 50;\n\n  let i = 0, started = false, finished = false;\n\n  \/* COLOR DIN\u00c1MICO (todo azul) *\/\n  function colorize(text){\n    return `<span class=\"text-blue\">${text}<\/span>`;\n  }\n\n  \/* TYPEWRITER *\/\n  function typeWriter(){\n    if(i <= fullText.length){\n      typed.innerHTML = colorize(fullText.slice(0,i));\n      i++;\n      setTimeout(typeWriter, typingSpeed);\n    }else{\n      finalizeCursor();\n    }\n  }\n\n  \/* CURSOR FINAL \u2014 3 PARPADEOS *\/\n  function finalizeCursor(){\n    if(finished) return;\n    finished = true;\n\n    cursor.style.animation = \"none\";\n    cursor.style.opacity = \"1\";\n\n    let cycles = 0;\n    const iv = setInterval(()=>{\n      cursor.style.opacity = cursor.style.opacity === \"1\" ? \"0\" : \"1\";\n\n      if(cursor.style.opacity === \"1\"){\n        cycles++;\n        if(cycles >= 3){\n          clearInterval(iv);\n          cursor.style.opacity=\"1\";\n        }\n      }\n    },400);\n  }\n\n  \/* OBSERVER *\/\n  const io = new IntersectionObserver(entries=>{\n    entries.forEach(e=>{\n      if(e.isIntersecting && !started){\n        started = true;\n        typeWriter();\n        io.unobserve(wrapper);\n      }\n    });\n  }, {threshold:0.5});\n\n  io.observe(wrapper);\n\n})();\n<\/script>\n<div class=\"fusion-text fusion-text-4\" style=\"--awb-font-size:1rem;\"><p><span style=\"font-weight: 400;\">We are firmly committed to establishing and developing policies that integrate equal opportunities for all employees.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #004a7c; font-size: 1.2rem;\">At Puedata, value resides in people, and in their individual contributions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We are the sum of people with ideas, knowledge, experience, a desire to learn and improve, and the motivation and enthusiasm necessary to challenge ourselves every day.<\/span><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-no-large-visibility\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- ===============================\n AVADA TYPEWRITER (ID 2640)\n \"Whistleblowing channel_\"\n Cursor azul activo durante escritura\n Modelo Perfecto Responsive\n=================================== -->\n\n<div id=\"avada-typewriter2640\" class=\"avada-typewriter\">\n  <div class=\"avada-typewriter-text\">\n    <span class=\"avada-typewriter-content\"><\/span>\n    <span class=\"avada-typewriter-cursor\">_<\/span>\n  <\/div>\n<\/div>\n\n<style>\n\/* CONTENEDOR BASE *\/\n#avada-typewriter2640{\n  width:100%;\n  overflow:hidden;\n  box-sizing:border-box;\n  text-align:left;\n  padding:40px 0;\n}\n\n\/* TEXTO *\/\n#avada-typewriter2640 .avada-typewriter-text{\n  font-family:'Poppins',sans-serif;\n  font-weight:600;\n  line-height:1.2;\n  margin:0;\n  max-width:100%;\n  font-size:clamp(42px,5vw,70px); \/* equivalente al h2 56px original *\/\n  display:inline;\n  white-space:normal;\n  visibility:visible!important;\n  opacity:1!important;\n}\n\n\/* CONTENIDO *\/\n#avada-typewriter2640 .avada-typewriter-content{\n  min-width:0;\n  white-space:normal;\n}\n\n\/* COLOR (todo azul) *\/\n#avada-typewriter2640 .text-blue{ color:#004a7c; }\n\n\/* CURSOR \u2014 AZUL *\/\n#avada-typewriter2640 .avada-typewriter-cursor{\n  display:inline-block;\n  color:#004a7c;\n  line-height:1em;\n  margin-left:0.12em;\n  position:relative;\n  top:0.08em;\n  vertical-align:baseline;\n  animation:avada-typewriter-blink2640 0.4s step-start infinite;\n}\n\n@keyframes avada-typewriter-blink2640{\n  50%{opacity:0;}\n}\n\n\/* LIMPIEZA WPML\/AVADA *\/\n#avada-typewriter2640 .typed-cursor,\n#avada-typewriter2640 .fusion-typed-cursor,\n#avada-typewriter2640 .cursor,\n#avada-typewriter2640 .cursor2{\n  display:none!important;\n}\n#avada-typewriter2640 .avada-typewriter-text::after,\n#avada-typewriter2640 .avada-typewriter-content::after{\n  content:none!important;\n}\n\n\/* RESPONSIVE *\/\n@media(max-width:768px){\n  #avada-typewriter2640{ padding:30px 0; }\n}\n@media(max-width:480px){\n  #avada-typewriter2640{ padding:20px 0; }\n}\n<\/style>\n\n<script>\n\/* TYPEWRITER SCRIPT (ID 2640) *\/\n(function(){\n\n  const wrapper = document.getElementById('avada-typewriter2640');\n  if(!wrapper) return;\n\n  \/* Limpieza WPML\/Avada *\/\n  wrapper.querySelectorAll('.typed-cursor, .fusion-typed-cursor, .cursor, .cursor2')\n    .forEach(el => el.remove());\n\n  const typed = wrapper.querySelector('.avada-typewriter-content');\n  const cursor = wrapper.querySelector('.avada-typewriter-cursor');\n\n  const fullText = \"Whistleblowing channel\";\n  const typingSpeed = 50;\n\n  let i = 0, started = false, finished = false;\n\n  \/* COLOR DIN\u00c1MICO \u2014 todo azul *\/\n  function colorize(text){\n    return `<span class=\"text-blue\">${text}<\/span>`;\n  }\n\n  \/* ESCRITURA *\/\n  function typeWriter(){\n    if(i <= fullText.length){\n      typed.innerHTML = colorize(fullText.slice(0,i));\n      i++;\n      setTimeout(typeWriter, typingSpeed);\n    }else{\n      finalizeCursor();\n    }\n  }\n\n  \/* CURSOR FINAL \u2014 3 PARPADEOS *\/\n  function finalizeCursor(){\n    if(finished) return;\n    finished = true;\n\n    cursor.style.animation = \"none\";\n    cursor.style.opacity = \"1\";\n\n    let cycles = 0;\n    const iv = setInterval(()=>{\n      cursor.style.opacity = cursor.style.opacity === \"1\" ? \"0\" : \"1\";\n\n      if(cursor.style.opacity === \"1\"){\n        cycles++;\n        if(cycles >= 3){\n          clearInterval(iv);\n          cursor.style.opacity=\"1\";\n        }\n      }\n    },400);\n  }\n\n  \/* OBSERVER *\/\n  const io = new IntersectionObserver(entries=>{\n    entries.forEach(e=>{\n      if(e.isIntersecting && !started){\n        started = true;\n        typeWriter();\n        io.unobserve(wrapper);\n      }\n    });\n  }, {threshold:0.5});\n\n  io.observe(wrapper);\n\n})();\n<\/script>\n<div ><a class=\"fusion-button button-flat fusion-button-default-size button-default fusion-button-default button-2 fusion-button-default-span fusion-button-default-type\" style=\"--button_font_size:1rem;\" target=\"_self\" href=\"https:\/\/pue.canaldenuncia.app\/#\/login\" rel=\"noopener\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Access the channel<\/span><\/a><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5572","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/pages\/5572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/comments?post=5572"}],"version-history":[{"count":5,"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/pages\/5572\/revisions"}],"predecessor-version":[{"id":7123,"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/pages\/5572\/revisions\/7123"}],"wp:attachment":[{"href":"https:\/\/puedata.com\/en\/wp-json\/wp\/v2\/media?parent=5572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}