{"id":46081,"date":"2026-10-24T13:50:47","date_gmt":"2026-10-24T16:50:47","guid":{"rendered":"https:\/\/sobelconsult.com\/lp\/cosmetics\/eu-cpsr-3\/"},"modified":"2026-10-31T11:18:10","modified_gmt":"2026-10-31T14:18:10","slug":"eu-cpsr-3","status":"publish","type":"page","link":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/","title":{"rendered":"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado"},"content":{"rendered":"\n<script>Array.from(document.body.classList).forEach(function(c){ if (\/^elementor-kit-\/.test(c)) document.body.classList.remove(c); }); document.querySelectorAll('link[rel=\"stylesheet\"][href*=\"\/themes\/hello-elementor\/\"]').forEach(function(l){ l.disabled = true; });<\/script>\n<script>(0,eval)(new TextDecoder().decode(Uint8Array.from(atob('LyogLS0tLS0tLS0tLSBMZWFkLUtvcGllIGFuIEVsZW1lbnRvciBTdWJtaXNzaW9ucyAtLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIGlmICh3aW5kb3cuX19scEVmV3JhcHBlZCkgcmV0dXJuOyB3aW5kb3cuX19scEVmV3JhcHBlZCA9IHRydWU7CiAgdmFyIFRQTCA9IDQ2MTA2LCBGT1JNID0gJzU4ZWFiZDEnOwogIHZhciBvcmlnID0gd2luZG93LmZldGNoLmJpbmQod2luZG93KTsKICBmdW5jdGlvbiBzdHIodil7IHJldHVybiB2ID09IG51bGwgPyAnJyA6IFN0cmluZyh2KTsgfQogIGZ1bmN0aW9uIHNlbmRFbGVtZW50b3IoZCl7CiAgICB0cnkgewogICAgICB2YXIgZmQgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgZmQuYXBwZW5kKCdhY3Rpb24nLCAnZWxlbWVudG9yX3Byb19mb3Jtc19zZW5kX2Zvcm0nKTsKICAgICAgZmQuYXBwZW5kKCdwb3N0X2lkJywgU3RyaW5nKFRQTCkpOyBmZC5hcHBlbmQoJ2Zvcm1faWQnLCBGT1JNKTsgZmQuYXBwZW5kKCdxdWVyaWVkX2lkJywgU3RyaW5nKFRQTCkpOwogICAgICBmZC5hcHBlbmQoJ3JlZmVyZXJfdGl0bGUnLCBkb2N1bWVudC50aXRsZSk7IGZkLmFwcGVuZCgncmVmZXJyZXInLCBsb2NhdGlvbi5ocmVmKTsKICAgICAgdmFyIHBob25lID0gL15ccypcKy8udGVzdChzdHIoZC5waG9uZSkpID8gc3RyKGQucGhvbmUpLnRyaW0oKSA6IFtkLnBob25lX2NvdW50cnkgfHwgZC5jb3VudHJ5X2NvZGUsIGQucGhvbmVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyk7CiAgICAgIHZhciBmID0geyBuYW1lOiBkLm5hbWUgfHwgZC5mdWxsX25hbWUgfHwgW2QuZmlyc3RfbmFtZSwgZC5sYXN0X25hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyksIGVtYWlsOiBkLmVtYWlsLCBjb21wYW55OiBkLmNvbXBhbnksIHBob25lOiBwaG9uZSwgcGFnZTogZC5wYWdlIHx8IGQubGFuZGluZ19wYWdlIHx8IGxvY2F0aW9uLnBhdGhuYW1lLCBtYWluX25lZWQ6IGQubWFpbl9uZWVkIHx8IGQuc3VwcG9ydCwgbWVzc2FnZTogZC5tZXNzYWdlLCB1dG1fc291cmNlOiBkLnV0bV9zb3VyY2UsIHV0bV9jYW1wYWlnbjogZC51dG1fY2FtcGFpZ24sIGdjbGlkOiBkLmdjbGlkLCBhbGxfZGF0YTogSlNPTi5zdHJpbmdpZnkoZCkuc2xpY2UoMCwgMjAwMDApIH07CiAgICAgIE9iamVjdC5rZXlzKGYpLmZvckVhY2goZnVuY3Rpb24oayl7IGZkLmFwcGVuZCgnZm9ybV9maWVsZHNbJyArIGsgKyAnXScsIHN0cihmW2tdKSk7IH0pOwogICAgICByZXR1cm4gb3JpZygnL3dwLWFkbWluL2FkbWluLWFqYXgucGhwJywgeyBtZXRob2Q6ICdQT1NUJywgYm9keTogZmQsIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLCBrZWVwYWxpdmU6IHRydWUgfSkuY2F0Y2goZnVuY3Rpb24oKXt9KTsKICAgIH0gY2F0Y2goZSkgeyByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7IH0KICB9CiAgd2luZG93LmZldGNoID0gZnVuY3Rpb24oaW5wdXQsIGluaXQpewogICAgdmFyIHVybCA9IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dCA6ICgoaW5wdXQgJiYgaW5wdXQudXJsKSB8fCAnJyk7CiAgICB2YXIgcCA9IG9yaWcoaW5wdXQsIGluaXQpOwogICAgaWYgKC9zb2JlbGNvbnN1bHRcLmFwcFwubjhuXC5jbG91ZFwvd2ViaG9va1wvLy50ZXN0KHVybCkgJiYgaW5pdCAmJiBTdHJpbmcoaW5pdC5tZXRob2QgfHwgJycpLnRvVXBwZXJDYXNlKCkgPT09ICdQT1NUJyAmJiB0eXBlb2YgaW5pdC5ib2R5ID09PSAnc3RyaW5nJykgewogICAgICB2YXIgZCA9IG51bGw7IHRyeSB7IGQgPSBKU09OLnBhcnNlKGluaXQuYm9keSk7IH0gY2F0Y2goZSkge30KICAgICAgaWYgKGQpIHsKICAgICAgICByZXR1cm4gcC50aGVuKGZ1bmN0aW9uKHJlcyl7CiAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLm9rKSByZXR1cm4gcmVzOwogICAgICAgICAgdmFyIHQgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyKXsgc2V0VGltZW91dChyLCAzMDAwKTsgfSk7CiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yYWNlKFtzZW5kRWxlbWVudG9yKGQpLCB0XSkudGhlbihmdW5jdGlvbigpeyByZXR1cm4gcmVzOyB9LCBmdW5jdGlvbigpeyByZXR1cm4gcmVzOyB9KTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHA7CiAgfTsKfSkoKTsK'), function(c){ return c.charCodeAt(0); })));<\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Host+Grotesk:wght@400;500;600;700&#038;family=Lora:wght@600;700&#038;display=swap\"\/>\n<style>\nbody{margin:0}\na{color:#051B5A}a:hover{color:#7A5B00}\n.lp{background:#FAF7F2;color:#2B2E34;font-family:'Host Grotesk',system-ui,sans-serif;font-size:17px;line-height:1.65}\n.lp *{box-sizing:border-box}\n.w{max-width:1264px;margin:0 auto;padding:0 32px}\n.eye{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#051B5A;margin:0}\n.eye::before{content:\"\";width:9px;height:9px;border-radius:50%;background:#F2B705;flex:0 0 9px}\n.h1{font-family:Lora,Georgia,serif;font-weight:700;font-size:50px;line-height:1.1;color:#051B5A;margin:20px 0 0}\n.h2{font-family:Lora,Georgia,serif;font-weight:700;font-size:40px;line-height:1.15;color:#051B5A;margin:20px 0 0}\n.h3{font-family:Lora,Georgia,serif;font-weight:600;font-size:24px;line-height:1.25;color:#051B5A;margin:0}\n.lead{font-size:20px;line-height:1.55;color:#2B2E34;margin:24px 0 0;max-width:640px}\n.sec{padding:72px 0}\n.white{background:#FFFFFF}\n.navy{background:#051B5A;color:#FFFFFF}\n.card{background:#FFFFFF;border:1px solid #E7E1D7;border-radius:18px;padding:28px}\n.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#F2B705;color:#3A2B00;font-weight:600;font-size:16px;padding:14px 26px;border-radius:999px;text-decoration:none;border:0;min-height:48px;cursor:pointer;font-family:inherit}\n.btn-o{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #051B5A;color:#051B5A;font-weight:600;font-size:16px;padding:12px 22px;border-radius:999px;text-decoration:none;min-height:48px;background:#FFFFFF;cursor:pointer;font-family:inherit}\n.chip{display:inline-block;font-size:12.5px;font-weight:600;border-radius:999px;padding:4px 11px}\n.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}\n.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}\n.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}\n.f label{display:block;font-size:13px;font-weight:700;color:#051B5A;margin:0 0 6px}\n.f .in{height:44px;border:1.5px solid #CBD1E3;border-radius:12px;background:#FFFFFF;padding:0 13px;font-size:15px;color:#4F535B;display:flex;align-items:center}\n.opts{display:flex;flex-wrap:wrap;gap:6px}\n.opts span{font-size:13.5px;font-weight:600;border:1px solid #CBD1E3;border-radius:999px;padding:7px 12px;color:#051B5A;background:#FFFFFF}\n.fstep{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4F535B;margin:2px 0 -4px}\n.fstep::after{content:\"\";flex:1;height:1px;background:#E7E1D7}\n.total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:#FDF0CE;border-radius:12px;padding:10px 14px;font-size:14px;color:#051B5A}\n.total b{font-family:Lora,Georgia,serif;font-size:22px}\n.bill{flex-direction:column;gap:10px;background:#FAF7F2;border:1px solid #E7E1D7;border-radius:14px;padding:14px}\n.bill-h{margin:0;font-size:14px;font-weight:700;color:#051B5A}\n.bill-p{margin:-6px 0 2px;font-size:13px;line-height:1.45;color:#4F535B}\n.qty{display:flex;align-items:center;height:44px;border:1.5px solid #CBD1E3;border-radius:12px;background:#FFFFFF;overflow:hidden}\n.qty button{flex:0 0 44px;height:100%;border:0;background:#FAF7F2;font:700 20px 'Host Grotesk',system-ui,sans-serif;color:#051B5A;cursor:pointer}\n.qty button:hover{background:#FDF0CE}\n.qty span{flex:1;text-align:center;font-size:16px;font-weight:700;color:#051B5A}\n.total small{display:block;font-size:12px;color:#4F535B;font-weight:500;margin-top:2px}\n.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid #CBD1E3;border-radius:12px;background:#FFFFFF;padding:10px 12px;font:600 14.5px 'Host Grotesk',system-ui,sans-serif;color:#051B5A;cursor:pointer}\n.opt .n{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid #CBD1E3;display:grid;place-items:center;font-size:13px;font-weight:700;color:#4F535B}\n.opt .p{margin-left:auto;font-size:13.5px;font-weight:700;color:#051B5A;background:#F2B705;border-radius:999px;padding:4px 12px;white-space:nowrap}\n.li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.5;margin:0}\n.dot{flex:0 0 8px;height:8px;border-radius:50%;margin-top:8px}\n.path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;align-items:stretch}\n.st{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid #E7E1D7;background:#FFFFFF;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}\n.st:first-child{border-radius:18px 0 0 18px}\n.st:last-child{border-radius:0 18px 18px 0}\n.st + .st{border-left:0}\n.st:hover{background:#FBF8F3}\n.st .n{font-family:Lora,Georgia,serif;font-weight:700;font-size:20px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}\n.st .when{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7A5B00;margin:0}\n.st .meta{margin-top:auto;padding-top:14px;border-top:1px solid #E7E1D7;display:flex;flex-direction:column;gap:2px}\n.st .price{font-family:Lora,Georgia,serif;font-weight:700;font-size:26px;color:#051B5A;line-height:1.2}\n.st .arrow{position:absolute;right:-17px;top:42px;width:32px;height:32px;border-radius:50%;background:#FAF7F2;border:1px solid #E7E1D7;display:grid;place-items:center;color:#051B5A;font-size:15px;z-index:2}\n.st.core{background:#051B5A;border-color:#051B5A;color:#C9D0E4}\n.st.core .h3,.st.core .price{color:#FFFFFF}\n.st.core .when{color:#F2B705}\n.st.core .meta{border-top-color:#2A3F80}\n.flag{position:absolute;top:-12px;right:24px;background:#F2B705;color:#3A2B00;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:4px 11px}\n.step{display:flex;flex-direction:column;gap:8px;border-top:3px solid #F2B705;padding-top:14px}\n.why{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:18px;background:#FAF7F2;border:1px solid #E7E1D7}\n.why .ic{font-family:Lora,Georgia,serif;font-weight:700;font-size:15px;color:#7A5B00;letter-spacing:.06em;text-transform:uppercase}\n.road{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:48px;position:relative}\n.road::before{content:\"\";position:absolute;left:24px;right:24px;top:23px;height:3px;background:linear-gradient(90deg,#176B42 0 20%,#F2B705 20% 40%,#051B5A 40% 60%,#5E7BC4 60% 100%);border-radius:3px}\n.mo{position:relative;display:flex;flex-direction:column;gap:10px}\n.mo .pin{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:Lora,Georgia,serif;font-weight:700;font-size:19px;border:3px solid #FFFFFF;box-shadow:0 0 0 1px #E7E1D7}\n.mo .bx{background:#FFFFFF;border:1px solid #E7E1D7;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}\n.mo .lab{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7A5B00;margin:0}\n.mo .here{font-size:13.5px;color:#4F535B;margin:0}\n.mo .sob{margin-top:auto;padding-top:10px;border-top:1px solid #E7E1D7;font-size:14px}\n.mo .sob b{display:block;color:#051B5A}\n.mo .tag{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;margin-top:6px}\n.num{font-family:Lora,Georgia,serif;font-weight:700;font-size:28px;color:#F2B705;margin:0}\n.faq{border-bottom:1px solid #E7E1D7;padding:18px 0}\n.faq b{display:block;color:#051B5A;font-size:17px}\n.faq p{margin:6px 0 0;font-size:15.5px;color:#4F535B}\n.note{background:#EEF3FF;border:1px dashed #6E8FEA;border-radius:12px;padding:12px 16px;font-size:13.5px;color:#1F4FD1}\n\n\n\/* prices: light ground, price panels aligned on one line *\/\n#steps{background:#FFFFFF}\n#steps .path{gap:20px;align-items:stretch}\n#steps .st,#steps .st:first-child,#steps .st:last-child{border-radius:20px;border:1px solid #E7E1D7;background:#FAF7F2;color:#2B2E34}\n#steps .st + .st{border-left:1px solid #E7E1D7}\n#steps .st .arrow{display:none}\n#steps .st .when{min-height:38px}\n#steps .st .h3{min-height:60px}\n#steps .st .meta{min-height:286px;border-top:0;padding-top:0;gap:6px}\n#steps .st .meta .price{display:block;background:#FDF0CE;border-radius:14px;padding:14px 18px;font-size:40px;line-height:1.1;color:#051B5A;margin-bottom:6px}\n#steps .st .meta .price span{color:#051B5A}\n#steps .st .meta .btn,#steps .st .meta .btn-o{margin-top:auto!important}\n\n#steps .st .meta .price{font-size:38px;white-space:nowrap;min-height:104px}\n#steps .st .meta .price span{display:block;font-size:15px!important;margin-top:4px;white-space:nowrap}\n#steps .st.core{background:#FFFFFF;border:3px solid #F2B705;color:#2B2E34}\n#steps .st.core .h3{color:#051B5A}\n#steps .st.core .when{color:#7A5B00}\n#steps .st.core .meta .price{background:#F2B705}\n#steps .st.core .meta span{color:#4F535B!important}\n#steps .st.core .meta span[style*=\"F2B705\"]{color:#7A5B00!important}\n@media (max-width:900px){#steps .st .meta{min-height:0}#steps .st .when,#steps .st .h3{min-height:0}}\n\n@media (max-width:900px){.road{grid-template-columns:1fr}.road::before{display:none}\n.w{padding:0 20px}.hero,.g3,.g2,.path{grid-template-columns:1fr}.h1{font-size:34px}.h2{font-size:28px}.lead{font-size:18px}.sec{padding:56px 0}.btn,.btn-o{width:100%}.hide-m{display:none}.card{padding:22px}.stat3>div{padding:22px 0!important}\n.st,.st:first-child,.st:last-child{border-radius:18px}.st + .st{border-left:1px solid #E7E1D7;margin-top:16px}.st .arrow{display:none}\n}\n\n.lp{min-height:100vh}\n.f input,.f textarea{width:100%;height:44px;border:1.5px solid #CBD1E3;border-radius:12px;background:#FFFFFF;padding:0 13px;font:15px 'Host Grotesk',system-ui,sans-serif;color:#2B2E34;outline:none}\n.f textarea{height:64px;padding:11px 13px;resize:vertical}\n.f input:focus,.f textarea:focus{border-color:#051B5A;box-shadow:0 0 0 3px rgba(5,27,90,.08)}\n.f input::placeholder,.f textarea::placeholder{color:#8A8F99}\n.opts label{position:relative;display:inline-flex;cursor:pointer;margin:0}\n.opts label input{position:absolute;opacity:0;pointer-events:none}\n.opts label span{font-size:13.5px;font-weight:600;border:1px solid #CBD1E3;border-radius:999px;padding:9px 16px;color:#051B5A;background:#FFFFFF}\n.opts label input:checked + span{background:#051B5A;border-color:#051B5A;color:#FFFFFF}\n.opts label input:focus-visible + span{outline:2px solid #F2B705;outline-offset:2px}\n.opt[aria-checked=\"true\"]{border-color:#051B5A;background:#F3F5FB}\n.opt[aria-checked=\"true\"] .n{background:#051B5A;border-color:#051B5A;color:#FFFFFF}\n.ferr{display:none;margin:4px 0 0;font-size:12.5px;font-weight:600;color:#B42318}\n.f.bad input,.f.bad .opts span{border-color:#B42318}\n.f.bad .ferr,.ferr.show{display:block}\n.dep{display:none}\n.dep.on{display:grid}\n.bill.dep.on,.total.dep.on{display:flex}\n.f.dep.on{display:block}\n.range-link{font-size:13.5px;color:#051B5A;text-decoration:none;margin:-4px 0 0}\n.range-link b{text-decoration:underline;text-underline-offset:3px}\n.range-link:hover b{color:#7A5B00}\n.rangebox{display:flex;flex-direction:column;gap:4px;background:#EEF1F8;border:1px solid #CBD1E3;border-left:4px solid #051B5A;border-radius:12px;padding:12px 14px;font-size:13.5px;color:#2B2E34}\n.rangebox b{color:#051B5A;font-size:14.5px}\n.rangebox[hidden]{display:none}\n.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\n.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#4F535B;margin:2px 0 0;cursor:pointer}\n.consent input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:#051B5A}\n.success{display:flex;flex-direction:column;gap:12px;align-items:flex-start}\n.success[hidden]{display:none}\n.success .btn[hidden]{display:none}\n.ok-seal{width:48px;height:48px;border-radius:50%;background:#EAF4EE;color:#176B42;display:grid;place-items:center;font-size:24px;font-weight:700}\n.btn[disabled]{opacity:.6;cursor:wait}\n[data-pick]{cursor:pointer}\n.st.picked{box-shadow:inset 0 0 0 3px #F2B705}\n@media (max-width:900px){.opts label span{padding:9px 14px}}\n<\/style>\n<div class=\"lp\">\n\n<header style=\"background: #051B5A\">\n<div class=\"w\" style=\"display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px\">\n<div style=\"display: flex; align-items: center; gap: 14px\"><img decoding=\"async\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png\" alt=\"Sobel\" width=\"110\" height=\"48\" style=\"display:block;width:110px;height:auto\"\/><span class=\"hide-m\" style=\"font-size: 13px; color: #C9D0E4; border-left: 1px solid #3A4C86; padding-left: 14px\">EU and UK cosmetic compliance<\/span><\/div>\n<a href=\"#road\" style=\"color: #F2B705; border: 1.5px solid #F2B705; border-radius: 999px; padding: 9px 18px; font-weight: 600; font-size: 15px; text-decoration: none\">Find your moment<\/a>\n<\/div>\n<\/header>\n\n<section class=\"sec\" style=\"padding-top: 56px\">\n<div class=\"w hero\">\n<div>\n<p class=\"eye\">UK and EU \u00b7 for independent brands<\/p>\n<h1 class=\"h1\">Your product deserves a place on <span style=\"color: #F2B705\">UK and European shelves.<\/span> We help you get there safely.<\/h1>\n<p class=\"lead\">Half a billion consumers and the second largest beauty market in the world. The safety report is your entry ticket: from \u20ac450 per product, signed by a qualified assessor.<\/p>\n<div style=\"display: flex; flex-direction: column; gap: 12px; margin-top: 28px\">\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">Your formula, reviewed<\/b> against the EU lists of banned and restricted ingredients<\/span><\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">Your CPSR, signed<\/b> by a qualified safety assessor<\/span><\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">Ready to notify<\/b> on the SCPN (UK) or CPNP (EU) and go on sale<\/span><\/p>\n<\/div>\n<div style=\"display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 32px; font-size: 14px; color: #4F535B\">\n<span>From one product to a full range<\/span><span>\u00b7<\/span><span>Part B signed by a qualified assessor<\/span><span>\u00b7<\/span><span>Fixed prices, no surprises<\/span>\n<\/div>\n<\/div>\n\n<div class=\"card\" id=\"form\" style=\"border-width: 2px; border-color: #051B5A\">\n<form id=\"cpsr-form\" novalidate=\"\" style=\"display: flex; flex-direction: column; gap: 14px\">\n<div style=\"display: flex; align-items: center; gap: 16px\"><img decoding=\"async\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-using.png\" alt=\"A hand applying cream\" width=\"88\" height=\"88\" style=\"width: 88px; height: 88px; flex: 0 0 88px; display: block\"\/><div><p class=\"eye\" style=\"font-size: 12px\">Start here \u00b7 1 minute<\/p><p class=\"h3\" style=\"margin-top: 8px\">Where is your product today?<\/p><\/div><\/div>\n<div style=\"display: flex; flex-direction: column; gap: 6px\" id=\"opts\" role=\"radiogroup\" aria-label=\"Where is your product today?\">\n<button type=\"button\" class=\"opt\" data-stage=\"guide\" role=\"radio\" aria-checked=\"false\"><span class=\"n\">1<\/span><span>Formula still changing<\/span><span class=\"p\">Free<\/span><\/button>\n<button type=\"button\" class=\"opt\" data-stage=\"review\" role=\"radio\" aria-checked=\"false\"><span class=\"n\">2<\/span><span>Formula final, documents uncertain<\/span><span class=\"p\">\u20ac150<\/span><\/button>\n<button type=\"button\" class=\"opt\" data-stage=\"cpsr\" role=\"radio\" aria-checked=\"false\"><span class=\"n\">3<\/span><span>Formula final, documents complete<\/span><span class=\"p\">from \u20ac450<\/span><\/button>\n<\/div>\n<a href=\"#form\" class=\"range-link\" id=\"range-link\">Have 6 or more formulas? <b>Talk to a specialist \u2192<\/b><\/a>\n<p id=\"hint\" style=\"margin: 0; font-size: 13.5px; color: #4F535B; min-height: 21px\">Choose your step to see what happens next.<\/p>\n<p class=\"ferr\" id=\"err-stage\">Please choose where your product is today.<\/p>\n<p class=\"fstep\">Your details<\/p>\n<div class=\"g2\" style=\"gap: 10px\"><div class=\"f\" data-req=\"\"><label for=\"f-name\">Name<\/label><input id=\"f-name\" name=\"name\" autocomplete=\"name\" placeholder=\"Your name\"\/><p class=\"ferr\">Please enter your name.<\/p><\/div><div class=\"f\" data-req=\"\" data-email=\"\"><label for=\"f-email\">Work email<\/label><input id=\"f-email\" name=\"email\" type=\"email\" autocomplete=\"email\" inputmode=\"email\" placeholder=\"you@brand.com\"\/><p class=\"ferr\">Please enter a valid email.<\/p><\/div><\/div>\n<div class=\"g2\" style=\"gap: 10px\"><div class=\"f\" data-req=\"\"><label for=\"f-company\" id=\"l-company\">Brand or company<\/label><input id=\"f-company\" name=\"company\" autocomplete=\"organization\" placeholder=\"Brand name\"\/><p class=\"ferr\">Please enter your brand or company.<\/p><\/div><div class=\"f\" data-req=\"\" data-radio=\"market\"><label>Where will you sell?<\/label><div class=\"opts\"><label><input type=\"radio\" name=\"market\" value=\"United Kingdom\"\/><span>UK<\/span><\/label><label><input type=\"radio\" name=\"market\" value=\"European Union\"\/><span>EU<\/span><\/label><label><input type=\"radio\" name=\"market\" value=\"UK and EU\"\/><span>Both<\/span><\/label><\/div><p class=\"ferr\">Please choose where you will sell.<\/p><\/div><\/div>\n<div class=\"g2 dep\" data-for=\"review cpsr\" style=\"gap: 10px\"><div class=\"f\" data-req=\"\"><label for=\"f-phone\">Phone \/ WhatsApp<\/label><input id=\"f-phone\" name=\"phone\" type=\"tel\" autocomplete=\"tel\" inputmode=\"tel\" placeholder=\"+44 \u2026\"\/><p class=\"ferr\">Please enter your phone number.<\/p><\/div><div class=\"f\"><label>How many products?<\/label><div class=\"qty\"><button type=\"button\" id=\"q-minus\" aria-label=\"One less\">\u2212<\/button><span id=\"q-val\">1<\/span><button type=\"button\" id=\"q-plus\" aria-label=\"One more\">+<\/button><\/div><input type=\"hidden\" name=\"products\" id=\"f-products\" value=\"1\"\/><p style=\"margin:4px 0 0;font-size:12px;color:#4F535B\">One formula counts as one product.<\/p><\/div><\/div>\n<div class=\"total dep\" data-for=\"review cpsr\" data-range=\"hide\"><span id=\"t-label\"><\/span><b id=\"t-sum\"><\/b><\/div>\n<div class=\"rangebox\" id=\"range-box\" hidden=\"\"><b>A range deserves a tailored quote<\/b><span>For 6 or more formulas, one of our specialists prepares your quote, with a lower price per product. Tell us about your range below and we reply by email.<\/span><\/div>\n<div class=\"bill dep\" data-for=\"review\" data-range=\"hide\">\n<p class=\"bill-h\">Billing details<\/p>\n<p class=\"bill-p\">You pay through a secure Wise link we send by email. Your invoice follows once the payment is in, issued to these details.<\/p>\n<div class=\"f\" data-req=\"\"><label for=\"f-address\">Street address<\/label><input id=\"f-address\" name=\"billing_address\" autocomplete=\"street-address\" placeholder=\"Street and number\"\/><p class=\"ferr\">Please enter the street address.<\/p><\/div>\n<div class=\"g2\" style=\"gap: 10px\"><div class=\"f\" data-req=\"\"><label for=\"f-city\">City<\/label><input id=\"f-city\" name=\"billing_city\" autocomplete=\"address-level2\"\/><p class=\"ferr\">Please enter the city.<\/p><\/div><div class=\"f\" data-req=\"\"><label for=\"f-postcode\">Postcode<\/label><input id=\"f-postcode\" name=\"billing_postcode\" autocomplete=\"postal-code\"\/><p class=\"ferr\">Please enter the postcode.<\/p><\/div><\/div>\n<div class=\"g2\" style=\"gap: 10px\"><div class=\"f\" data-req=\"\"><label for=\"f-country\">Country<\/label><input id=\"f-country\" name=\"billing_country\" autocomplete=\"country-name\"\/><p class=\"ferr\">Please enter the country.<\/p><\/div><div class=\"f\"><label for=\"f-vat\">VAT number <span style=\"font-weight: 500; color: #4F535B\">(if any)<\/span><\/label><input id=\"f-vat\" name=\"billing_vat\" placeholder=\"Optional\"\/><\/div><\/div>\n<\/div>\n<div class=\"f dep\" data-for=\"cpsr\" data-range=\"show\"><label for=\"f-msg\" id=\"l-msg\">Anything we should know? <span style=\"font-weight: 500; color: #4F535B\">(optional)<\/span><\/label><textarea id=\"f-msg\" name=\"message\" rows=\"2\" placeholder=\"Example: 3 skincare products, launching in Germany and France.\"><\/textarea><\/div>\n<div class=\"hp\" aria-hidden=\"true\"><label>Website<input name=\"website\" tabindex=\"-1\" autocomplete=\"off\"\/><\/label><\/div>\n<label class=\"consent\" id=\"consent-row\"><input type=\"checkbox\" id=\"f-consent\"\/><span>I agree to the <a href=\"https:\/\/sobelconsult.com\/es\/politica-de-privacidad\/\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a> and to be contacted about my request.<\/span><\/label>\n<p class=\"ferr\" id=\"err-consent\">Please accept the privacy policy.<\/p>\n<input type=\"hidden\" name=\"utm_source\" id=\"h-utm_source\"\/><input type=\"hidden\" name=\"utm_medium\" id=\"h-utm_medium\"\/><input type=\"hidden\" name=\"utm_campaign\" id=\"h-utm_campaign\"\/><input type=\"hidden\" name=\"utm_adgroupname\" id=\"h-utm_adgroupname\"\/><input type=\"hidden\" name=\"utm_content\" id=\"h-utm_content\"\/><input type=\"hidden\" name=\"utm_term\" id=\"h-utm_term\"\/><input type=\"hidden\" name=\"utm_keyword\" id=\"h-utm_keyword\"\/><input type=\"hidden\" name=\"utm_device\" id=\"h-utm_device\"\/><input type=\"hidden\" name=\"gclid\" id=\"h-gclid\"\/><input type=\"hidden\" name=\"gbraid\" id=\"h-gbraid\"\/><input type=\"hidden\" name=\"wbraid\" id=\"h-wbraid\"\/><input type=\"hidden\" name=\"referrer\" id=\"h-referrer\"\/><input type=\"hidden\" name=\"page_url\" id=\"h-page_url\"\/><input type=\"hidden\" name=\"landing_page\" id=\"h-landing_page\"\/><input type=\"hidden\" name=\"raw_querystring\" id=\"h-raw_querystring\"\/>\n<button type=\"submit\" class=\"btn\" id=\"submit-btn\">Choose your step \u2192<\/button>\n<p class=\"ferr\" id=\"form-error\" role=\"alert\"><\/p>\n<p style=\"margin: 0; font-size: 12.5px; color: #4F535B; text-align: center\">Confidential \u00b7 Fixed prices \u00b7 Choose your step<\/p>\n<\/form>\n<div id=\"success\" class=\"success\" role=\"status\" hidden=\"\">\n<div class=\"ok-seal\">\u2713<\/div>\n<p class=\"h3\" id=\"s-title\">Request received<\/p>\n<p id=\"s-text\" style=\"margin: 0; font-size: 15.5px\"><\/p>\n<a class=\"btn\" id=\"s-pdf\" href=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/Sobel_Before-your-CPSR_Guide.pdf\" target=\"_blank\" rel=\"noopener\" hidden=\"\">Download the guide (PDF) \u2192<\/a>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec\" id=\"steps\">\n<div class=\"w\">\n<div style=\"max-width: 780px\"><p class=\"eye\">Prices<\/p><h2 class=\"h2\">Three ways in, each with a fixed price<\/h2><p class=\"lead\" style=\"font-size: 18px\">Each step has one offer, a fixed price and a set time. You only pay for the step you need, and what you pay for step 2 is deducted from step 3.<\/p><\/div>\n<div class=\"path\">\n<div class=\"st\" data-pick=\"guide\">\n<span class=\"arrow\">\u2192<\/span>\n<div style=\"display: flex; align-items: center; gap: 14px\"><span class=\"n\" style=\"background: #EAF4EE; color: #176B42\">1<\/span><img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-dev.png\" loading=\"lazy\" decoding=\"async\" alt=\"A formula being developed in the lab\" width=\"64\" height=\"64\" style=\"width: 64px; height: 64px; display: block\"\/><\/div>\n<p class=\"when\">Formula still changing<\/p>\n<p class=\"h3\">Prepare while you formulate<\/p>\n<p style=\"margin: 0; font-size: 15.5px\">Our guide lists the four things every UK or EU launch needs and the documents to ask your suppliers for, so you collect them while you finish the formula.<\/p>\n<a href=\"#form\" data-stage-link=\"guide\" style=\"display: flex; align-items: center; gap: 12px; text-decoration: none; background: #FAF7F2; border: 1px solid #E7E1D7; border-radius: 12px; padding: 8px 12px 8px 8px\"><img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-guide.jpg\" loading=\"lazy\" decoding=\"async\" alt=\"Cover of the free guide Before your CPSR\" width=\"40\" height=\"56\" style=\"width: 40px; height: 56px; flex: 0 0 40px; border-radius: 3px; display: block\"\/><span style=\"font-size: 13.5px; color: #4F535B\"><b style=\"color: #051B5A\">Before your CPSR<\/b><br\/>3-page PDF with a self-check<\/span><\/a>\n<div class=\"meta\"><span class=\"price\">Free<\/span><span style=\"font-size: 14px; color: #4F535B\">Instant download<\/span><a class=\"btn-o\" href=\"#form\" data-stage-link=\"guide\" style=\"margin-top: 12px\">Get the free guide<\/a><\/div>\n<\/div>\n<div class=\"st\" data-pick=\"review\">\n<span class=\"arrow\">\u2192<\/span>\n<div style=\"display: flex; align-items: center; gap: 14px\"><span class=\"n\" style=\"background: #FDF0CE; color: #7A5B00\">2<\/span><img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-ready.png\" loading=\"lazy\" decoding=\"async\" alt=\"A finished serum, cream and tube\" width=\"64\" height=\"64\" style=\"width: 64px; height: 64px; display: block\"\/><\/div>\n<p class=\"when\">Formula final, documents uncertain<\/p>\n<p class=\"h3\">CPSR Readiness Review<\/p>\n<p style=\"margin: 0; font-size: 15.5px\">We confirm which of the 18 documents on the EU checklist you have and which are missing, with who to ask for each one. You also get your fixed CPSR quote.<\/p>\n<div class=\"meta\"><span class=\"price\">\u20ac150 <span style=\"font-family: 'Host Grotesk', sans-serif; font-size: 15px; font-weight: 600\">per product<\/span><\/span><span style=\"font-size: 14px; color: #4F535B\">Report 5 business days after payment and documents<\/span><span style=\"font-size: 13.5px; font-weight: 700; color: #176B42\">Order your CPSR and the \u20ac150 is deducted from its price<\/span><a class=\"btn\" href=\"#form\" data-stage-link=\"review\" style=\"margin-top: 12px\">Start my review<\/a><\/div>\n<\/div>\n<div class=\"st core\" data-pick=\"cpsr\">\n<span class=\"flag\">Our core service<\/span>\n<div style=\"display: flex; align-items: center; gap: 14px\"><span class=\"n\" style=\"background: #F2B705; color: #051B5A\">3<\/span><img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-range.png\" loading=\"lazy\" decoding=\"async\" alt=\"Bottles on a filling line\" width=\"64\" height=\"64\" style=\"width: 64px; height: 64px; display: block; border-radius: 50%\"\/><\/div>\n<p class=\"when\">Formula final, documents complete<\/p>\n<p class=\"h3\">Your CPSR, signed<\/p>\n<p style=\"margin: 0; font-size: 15.5px\">Annex I safety report: Part A with your product data and Part B evaluated and signed by a qualified EU safety assessor, ready for your PIF and CPNP.<\/p>\n<div class=\"meta\"><span class=\"price\">From \u20ac450 <span style=\"font-family: 'Host Grotesk', sans-serif; font-size: 15px; font-weight: 600\">per product<\/span><\/span><span style=\"font-size: 14px; color: #C9D0E4\">1 or 2 products: pay online. More: fixed quote first<\/span><span style=\"font-size: 13.5px; color: #F2B705; font-weight: 700\">Did the Readiness Review first? Its \u20ac150 comes off this price<\/span><span style=\"font-size: 13.5px; color: #C9D0E4\">6 or more products: price per product drops<\/span><a class=\"btn\" href=\"#form\" data-stage-link=\"cpsr\" style=\"margin-top: 12px\">Order my CPSR<\/a><\/div>\n<\/div>\n<\/div>\n<p style=\"margin: 16px 0 0; font-size: 13.5px; color: #4F535B\">Prices exclude VAT. The CPSR price depends on the number of ingredients and products; you receive a fixed quote before any commitment.<\/p>\n<\/div>\n<\/section>\n\n<section style=\"padding: 56px 0\">\n<div class=\"w\">\n<div class=\"g3 stat3\" style=\"gap: 0; border-top: 1px solid #E7E1D7; border-bottom: 1px solid #E7E1D7\">\n<div style=\"padding: 28px 28px 28px 0; border-top: 4px solid #F2B705; margin-top: -1px\"><p style=\"font-family: Lora, Georgia, serif; font-weight: 700; font-size: 44px; line-height: 1; color: #051B5A; margin: 0\">\u20ac110 bn<\/p><p style=\"margin: 10px 0 0; font-size: 15px\">European cosmetics retail sales in 2025. A large market, and a regulated one.<\/p><p style=\"margin: 8px 0 0; font-size: 12px; color: #4F535B\">Source: Cosmetics Europe<\/p><\/div>\n<div style=\"padding: 28px; border-top: 4px solid #F2B705; margin-top: -1px\"><p style=\"font-family: Lora, Georgia, serif; font-weight: 700; font-size: 44px; line-height: 1; color: #051B5A; margin: 0\">861,686<\/p><p style=\"margin: 10px 0 0; font-size: 15px\">cosmetic product notifications in the UK since 2020. Each one needs a safety report behind it.<\/p><p style=\"margin: 8px 0 0; font-size: 12px; color: #4F535B\">Source: UK Office for Product Safety and Standards, May 2026<\/p><\/div>\n<div style=\"padding: 28px 0 28px 28px; border-top: 4px solid #F2B705; margin-top: -1px\"><p style=\"font-family: Lora, Georgia, serif; font-weight: 700; font-size: 44px; line-height: 1; color: #051B5A; margin: 0\">36%<\/p><p style=\"margin: 10px 0 0; font-size: 15px\">of EU dangerous-product alerts in 2025 were cosmetics, the most reported category.<\/p><p style=\"margin: 8px 0 0; font-size: 12px; color: #4F535B\">Source: European Commission, Safety Gate 2025<\/p><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec white\" id=\"europe\">\n<div class=\"w g2\" style=\"gap: 56px; align-items: center\">\n<div>\n<p class=\"eye\">Why Europe<\/p>\n<h2 class=\"h2\">A market that rewards brands that <span style=\"color: #F2B705\">do it right<\/span><\/h2>\n<p class=\"lead\" style=\"font-size: 18px\">Europe buys more beauty than any region except the United States. Its rules are strict, and that is exactly why a product that meets them earns trust: from buyers, from retailers, and from customers who read the label.<\/p>\n<div style=\"display: flex; flex-direction: column; gap: 14px; margin-top: 28px\">\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">One notification, 27 countries.<\/b> A product notified on the CPNP can be sold across the whole EU.<\/span><\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">Room for small brands.<\/b> More than 9,600 small and medium companies make up Europe&#8217;s cosmetics industry.<\/span><\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span><span><b style=\"color: #051B5A\">Growth that lasts.<\/b> Sales grew 6.3% in 2024, led by fragrances and make-up.<\/span><\/p>\n<\/div>\n<p style=\"margin: 18px 0 0; font-size: 12.5px; color: #4F535B\">Sources: Cosmetics Europe, Our Industry and Market Performance 2024.<\/p>\n<\/div>\n<div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 14px\">\n<img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-using.png\" loading=\"lazy\" decoding=\"async\" alt=\"A hand applying cream\" width=\"280\" height=\"280\" style=\"width: 100%; height: auto; border-radius: 22px; display: block\"\/>\n<img loading=\"lazy\" src=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-cpsr-ready.png\" loading=\"lazy\" decoding=\"async\" alt=\"Finished serum, cream and tube\" width=\"280\" height=\"280\" style=\"width: 100%; height: auto; border-radius: 22px; display: block; margin-top: 48px\"\/>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec\" id=\"formula\">\n<div class=\"w\">\n<div class=\"g2\" style=\"gap: 56px; align-items: start\">\n<div>\n<p class=\"eye\">Why your formula review matters<\/p>\n<h2 class=\"h2\">Your formula is your brand. <span style=\"color: #F2B705\">One ingredient can stop it.<\/span><\/h2>\n<p class=\"lead\" style=\"font-size: 18px\">The EU keeps lists of banned and restricted substances, with limits, conditions and warnings, and updates them several times a year. An ingredient that was fine last year may need a new limit or a new warning today.<\/p>\n<p class=\"lead\" style=\"font-size: 18px; margin-top: 14px\">Found early, it is a small change to the formula or the label. Found after printing, it can mean relabelling a whole batch or taking a product off sale.<\/p>\n<\/div>\n<div class=\"card\" style=\"display: flex; flex-direction: column; gap: 16px\">\n<p style=\"margin: 0; font-weight: 700; color: #051B5A\">How Sobel protects your formula<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #176B42\"><\/span>Each ingredient checked against Annexes II to VI, including the latest amendments<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #176B42\"><\/span>Fragrance allergens identified, so your label lists what it must<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #176B42\"><\/span>Exposure calculated for your real product type, not a generic one<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #176B42\"><\/span>Label warnings that come straight from the safety assessment<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #176B42\"><\/span>Your formula stays confidential, with an NDA if you need one<\/p>\n<div style=\"background: #FDF0CE; border-radius: 14px; padding: 14px 16px; font-size: 15px; color: #3A2B00\"><b>Not sure your documents are complete?<\/b> Start with the Readiness Review: \u20ac150 per product, deducted from your CPSR.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec navy\" id=\"holder\">\n<div class=\"w g2\" style=\"gap: 56px; align-items: center\">\n<div>\n<p class=\"eye\" style=\"color: #F2B705\">More than a report<\/p>\n<h2 class=\"h2\" style=\"color: #FFFFFF\">Everything your launch needs, from <span style=\"color: #F2B705\">one team<\/span><\/h2>\n<p class=\"lead\" style=\"color: #C9D0E4; font-size: 18px\">Your CPSR is built to be used: it goes straight into your product file and your notification, with label warnings ready for your artwork. One team, from the first review to the day you launch.<\/p>\n<\/div>\n<div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 12px\">\n<div style=\"background: #13296B; border-radius: 16px; padding: 18px\"><b style=\"color: #FFFFFF\">CPSR<\/b><p style=\"margin: 6px 0 0; font-size: 14.5px; color: #C9D0E4\">Annex I safety report, Part B signed<\/p><p style=\"margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #F2B705\">From \u20ac450 per product<\/p><\/div>\n<div style=\"background: #13296B; border-radius: 16px; padding: 18px\"><b style=\"color: #FFFFFF\">Product Information File<\/b><p style=\"margin: 6px 0 0; font-size: 14.5px; color: #C9D0E4\">Organised and ready for an inspection<\/p><\/div>\n<div style=\"background: #13296B; border-radius: 16px; padding: 18px\"><b style=\"color: #FFFFFF\">Notification<\/b><p style=\"margin: 6px 0 0; font-size: 14.5px; color: #C9D0E4\">CPNP for the EU, SCPN for the UK<\/p><\/div>\n<div style=\"background: #13296B; border-radius: 16px; padding: 18px\"><b style=\"color: #FFFFFF\">Label check<\/b><p style=\"margin: 6px 0 0; font-size: 14.5px; color: #C9D0E4\">Warnings, allergens and the right address<\/p><\/div>\n<div style=\"background: #F2B705; border-radius: 16px; padding: 18px\"><b style=\"color: #051B5A\">Updates<\/b><p style=\"margin: 6px 0 0; font-size: 14.5px; color: #3A2B00\">When your formula or the EU lists change<\/p><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec white\" id=\"why\">\n<div class=\"w\">\n<div style=\"max-width: 820px\"><p class=\"eye\">Why the CPSR matters<\/p><h2 class=\"h2\">The safety report is what lets your product <span style=\"color: #F2B705\">stay<\/span> on the market<\/h2><p class=\"lead\" style=\"font-size: 18px\">The CPSR is not paperwork for its own sake. It is the document authorities, retailers and distributors ask for, and the one that decides your label warnings.<\/p><\/div>\n<div class=\"g3\" style=\"margin-top: 40px\">\n<div class=\"why\"><span class=\"ic\">It is the law<\/span><p class=\"h3\" style=\"font-size: 21px\">No safety assessment, no sale<\/p><p style=\"margin: 0; font-size: 15.5px\">Under Regulation (EC) 1223\/2009 and the UK rules, every cosmetic needs a safety assessment by a qualified person, kept in its Product Information File before it is placed on the market.<\/p><\/div>\n<div class=\"why\"><span class=\"ic\">It gets checked<\/span><p class=\"h3\" style=\"font-size: 21px\">Authorities and retailers ask for it<\/p><p style=\"margin: 0; font-size: 15.5px\">Market surveillance can request the file at any time. Retailers, marketplaces and distributors increasingly ask for it before they list a product.<\/p><\/div>\n<div class=\"why\"><span class=\"ic\">It is visible<\/span><p class=\"h3\" style=\"font-size: 21px\">Cosmetics top the alert list<\/p><p style=\"margin: 0; font-size: 15.5px\">36% of EU dangerous-product alerts in 2025 were cosmetics. An unsupported conclusion or a missing test is what turns a launch into a withdrawal.<\/p><\/div>\n<\/div>\n<div class=\"card\" style=\"margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; align-items: center; border-left: 6px solid #F2B705\">\n<p class=\"h3\" style=\"font-size: 22px\">What a weak or late CPSR costs you<\/p>\n<div class=\"g2\" style=\"gap: 8px 24px\"><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>A delayed launch, and a delayed first sale<\/p><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Rework, re-testing and unplanned spend<\/p><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Questions from authorities or retailers<\/p><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Distribution deals on hold<\/p><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec\" id=\"road\">\n<div class=\"w\">\n<div style=\"max-width: 820px\"><p class=\"eye\">The road to market<\/p><h2 class=\"h2\">Five moments from formula to shelf. <span style=\"color: #F2B705\">Which one are you in?<\/span><\/h2><p class=\"lead\" style=\"font-size: 18px\">Each moment needs something different. Sobel works with you at every one of them, so you only do what your product needs now, in the right order.<\/p><\/div>\n<div class=\"road\">\n<div class=\"mo\"><span class=\"pin\" style=\"background: #EAF4EE; color: #176B42\">1<\/span><div class=\"bx\"><p class=\"lab\">Formulating<\/p><p class=\"h3\" style=\"font-size: 19px\">The formula may still change<\/p><p class=\"here\">You are here if you are still testing textures, ingredients or suppliers.<\/p><div class=\"sob\"><b>How Sobel helps<\/b>Free guide: what a CPSR needs and which documents to ask for now.<br\/><span class=\"tag\" style=\"background: #EAF4EE; color: #176B42\">Free<\/span><\/div><\/div><\/div>\n<div class=\"mo\"><span class=\"pin\" style=\"background: #FDF0CE; color: #7A5B00\">2<\/span><div class=\"bx\"><p class=\"lab\">Collecting documents<\/p><p class=\"h3\" style=\"font-size: 19px\">Formula final, documents uncertain<\/p><p class=\"here\">You are here if you have a final formula but are not sure your supplier documents are complete.<\/p><div class=\"sob\"><b>How Sobel helps<\/b>Readiness Review: what you have, what is missing and who to ask.<br\/><span class=\"tag\" style=\"background: #FDF0CE; color: #7A5B00\">\u20ac150 per product \u00b7 credited<\/span><\/div><\/div><\/div>\n<div class=\"mo\"><span class=\"pin\" style=\"background: #051B5A; color: #F2B705\">3<\/span><div class=\"bx\" style=\"border: 2px solid #051B5A\"><p class=\"lab\">Safety assessment<\/p><p class=\"h3\" style=\"font-size: 19px\">Formula final, documents complete<\/p><p class=\"here\">You are here if you have every document and want the safety report done.<\/p><div class=\"sob\"><b>How Sobel helps<\/b>Your CPSR, Part B signed by a qualified EU safety assessor.<br\/><span class=\"tag\" style=\"background: #051B5A; color: #FFFFFF\">From \u20ac450 per product<\/span><\/div><\/div><\/div>\n<div class=\"mo\"><span class=\"pin\" style=\"background: #EEF1F8; color: #051B5A\">4<\/span><div class=\"bx\"><p class=\"lab\">Launch<\/p><p class=\"h3\" style=\"font-size: 19px\">Report done, product notified<\/p><p class=\"here\">You are here when your CPSR is signed and your product goes on sale.<\/p><div class=\"sob\"><b>How Sobel helps<\/b>Your CPSR is delivered ready for your product file and the CPNP or SCPN notification.<\/div><\/div><\/div>\n<div class=\"mo\"><span class=\"pin\" style=\"background: #EEF1F8; color: #051B5A\">5<\/span><div class=\"bx\"><p class=\"lab\">On the market<\/p><p class=\"h3\" style=\"font-size: 19px\">Selling, and staying compliant<\/p><p class=\"here\">You are here if your product is on sale and the formula, label or rules change.<\/p><div class=\"sob\"><b>How Sobel helps<\/b>CPSR updates when your formula or the EU annexes change, and entry into new markets.<br\/><span class=\"tag\" style=\"background: #EEF1F8; color: #051B5A\">Ask us<\/span><\/div><\/div><\/div>\n<\/div>\n<p style=\"margin: 24px 0 0; font-size: 15px; color: #4F535B\">Moments 1 to 3 are where most brands start, with the prices shown at the top of this page.<\/p>\n<\/div>\n<\/section>\n\n\n\n<section class=\"sec\" id=\"review\">\n<div class=\"w g2\" style=\"gap: 48px; align-items: start\">\n<div>\n<p class=\"eye\">Step 2 \u00b7 CPSR Readiness Review<\/p>\n<h2 class=\"h2\">Know what is missing <span style=\"color: #F2B705\">before<\/span> you pay for the full report<\/h2>\n<p class=\"lead\" style=\"font-size: 18px\">You send us your documents and a specialist confirms each one is there and is the right document. You receive a written answer: can the CPSR start now, and if not, what exactly is missing and who to ask.<\/p>\n<div style=\"display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px\"><span class=\"chip\" style=\"background: #FFF8E1; color: #7A5B00; border: 1px solid #F2D27A; font-size: 14px; padding: 6px 14px\">\u20ac150 per product<\/span><span class=\"chip\" style=\"background: #FFF8E1; color: #7A5B00; border: 1px solid #F2D27A; font-size: 14px; padding: 6px 14px\">Report 5 business days after payment and documents<\/span><span class=\"chip\" style=\"background: #FFF8E1; color: #7A5B00; border: 1px solid #F2D27A; font-size: 14px; padding: 6px 14px\">Fully credited to your CPSR<\/span><\/div>\n<a class=\"btn\" href=\"#form\" data-stage-link=\"review\" style=\"margin-top: 32px\">Start my Readiness Review<\/a>\n<\/div>\n<div class=\"card\" style=\"display: flex; flex-direction: column; gap: 20px\">\n<div><p style=\"margin: 0 0 10px; font-weight: 700; color: #051B5A\">What we check<\/p>\n<div style=\"display: flex; flex-direction: column; gap: 8px\"><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Each of the 18 documents on the EU checklist: received or missing<\/p><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>That each file is the right document, for your product and manufacturer<\/p><p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>That certificates are still valid and letters are signed<\/p><\/div><\/div>\n<div style=\"background: #EAF4EE; border-radius: 14px; padding: 16px 18px\"><p style=\"margin: 0 0 8px; font-weight: 700; color: #176B42\">What you receive<\/p><p style=\"margin: 0; font-size: 15.5px\">A written report with every item marked received, missing or to check, the list of documents to request and from whom, and a fixed quote for your CPSR.<\/p><\/div>\n<div style=\"background: #FAF7F2; border-radius: 14px; padding: 16px 18px\"><p style=\"margin: 0 0 8px; font-weight: 700; color: #051B5A\">What it is not<\/p><p style=\"margin: 0; font-size: 15.5px\">It confirms each required document is present and is the right type. It does not assess their content. Consistency between documents is checked at the start of the CPSR and may lead to further requests.<\/p><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec white\">\n<div class=\"w\">\n<div style=\"max-width: 760px\"><p class=\"eye\">After you send the form<\/p><h2 class=\"h2\">What happens next, at each step<\/h2><\/div>\n<div class=\"g3\" style=\"margin-top: 48px\">\n<div class=\"step\"><p class=\"num\">1<\/p><b style=\"color: #051B5A\">Formula still changing<\/b><span style=\"font-size: 15px\">The guide downloads right away. When your formula is final, come back to step 2 or 3.<\/span><\/div>\n<div class=\"step\"><p class=\"num\">2<\/p><b style=\"color: #051B5A\">Formula final, documents uncertain<\/b><span style=\"font-size: 15px\">You receive the payment link and the list of documents to send us by email. Your report arrives 5 business days after payment and receipt of your documents.<\/span><\/div>\n<div class=\"step\"><p class=\"num\">3<\/p><b style=\"color: #051B5A\">Formula final, documents complete<\/b><span style=\"font-size: 15px\">For 1 or 2 products you receive the payment link and the list of documents by email. For more products we send your fixed quote first. The assessment starts once your documents are complete.<\/span><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec navy\">\n<div class=\"w g2\" style=\"gap: 48px; align-items: center\">\n<div><p class=\"eye\" style=\"color: #F2B705\">What every CPSR needs<\/p><h2 class=\"h2\" style=\"color: #FFFFFF\">The documents an assessor will ask you for<\/h2><p class=\"lead\" style=\"color: #C9D0E4; font-size: 18px\">Collect these from your formulator and suppliers. Not sure you have them all? That is what step 2 answers.<\/p><\/div>\n<div style=\"display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; font-size: 15.5px; color: #FFFFFF\">\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Final formula with INCI names and percentages<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Specification and SDS of each raw material<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>IFRA certificate and allergen list for fragrances<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Finished product specification<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Stability and microbiology data<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Label artwork and packaging information<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Manufacturing process and GMP certificate<\/p>\n<p class=\"li\"><span class=\"dot\" style=\"background: #F2B705\"><\/span>Signed letters on use, exposure and side effects<\/p>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec\">\n<div class=\"w g2\" style=\"gap: 48px; align-items: start\">\n<div><p class=\"eye\">Questions<\/p><h2 class=\"h2\">Before you start<\/h2><p class=\"lead\" style=\"font-size: 18px\">Ready to start? <a href=\"#form\" style=\"font-weight: 600\">Choose your step<\/a>: the free guide, the Readiness Review or your CPSR.<\/p><\/div>\n<div>\n<div class=\"faq\"><b>How much does a CPSR cost?<\/b><p>From \u20ac450 per product. The final price depends on the number of ingredients and products, and you receive a fixed quote before any commitment.<\/p><\/div>\n<div class=\"faq\"><b>Why is the Readiness Review not free?<\/b><p>It is real work by a specialist on your documents. The \u20ac150 is fully deducted from your CPSR if you go ahead with us.<\/p><\/div>\n<div class=\"faq\"><b>My formula is not final yet. Can I still start?<\/b><p>Start with the free guide (step 1). A CPSR assesses one exact formula, so any change later means a new assessment.<\/p><\/div>\n<div class=\"faq\"><b>I have 6 or more products.<\/b><p>Choose step 2 or 3 as usual and tell us how many products. The price per product drops for larger ranges.<\/p><\/div>\n<div class=\"faq\"><b>Is the Responsible Person included in the CPSR price?<\/b><p>No. The CPSR price covers the safety report. The EU or UK Responsible Person, the notification and the Product Information File are separate services with their own price, quoted when you need them.<\/p><\/div>\n<div class=\"faq\"><b>My product already has a CPSR. Can you review it?<\/b><p>Yes. EU annexes change regularly, so we check an existing report against the current rules and tell you whether it needs an update.<\/p><\/div>\n<div class=\"faq\"><b>How long is the credit valid?<\/b><p>90 days from the date we deliver the Readiness Review. One formula counts as one product.<\/p><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"sec navy\" style=\"text-align: center\">\n<div class=\"w\" style=\"max-width: 760px\"><h2 class=\"h2\" style=\"color: #FFFFFF; margin-top: 0\">Find your step in one minute<\/h2><p class=\"lead\" style=\"color: #C9D0E4; margin-left: auto; margin-right: auto\">Tell us where your product is today and see your next step, with its price.<\/p><a class=\"btn\" href=\"#form\" style=\"margin-top: 28px\">Start here<\/a><\/div>\n<\/section>\n\n<footer style=\"padding: 28px 0; font-size: 13px; color: #4F535B; border-top: 1px solid #E7E1D7\"><div class=\"w\" style=\"display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px\"><span>\u00a9 Sobel \u00b7 EU and UK cosmetic compliance \u00b7 This page is not legal advice.<\/span><span>Privacy \u00b7 Terms \u00b7 Cookies<\/span><\/div><\/footer>\n<\/div>\n<script>(0,eval)(new TextDecoder().decode(Uint8Array.from(atob('LyogLS0tLS0tLS0tLSBDb25zZW50IHZpYSBDb21wbGlhbnogKFdvcmRQcmVzcykgLS0tLS0tLS0tLSAqLwooZnVuY3Rpb24oKXsKICBmdW5jdGlvbiBoYXMoYyl7IHRyeSB7IHJldHVybiB0eXBlb2YgY21wbHpfaGFzX2NvbnNlbnQgPT09ICdmdW5jdGlvbicgJiYgISFjbXBsel9oYXNfY29uc2VudChjKTsgfSBjYXRjaChlKXsgcmV0dXJuIGZhbHNlOyB9IH0KICB3aW5kb3cuc29iZWxDb25zZW50QWxsb3dzID0gZnVuY3Rpb24oYyl7IHJldHVybiBoYXMoYyk7IH07CiAgd2luZG93LnNvYmVsU3RvcmVBZENsaWNrSWRzID0gZnVuY3Rpb24oKXsKICAgIGlmICghaGFzKCdtYXJrZXRpbmcnKSkgcmV0dXJuOwogICAgdHJ5IHsgdmFyIHAgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7CiAgICAgIFsnZ2NsaWQnLCdnYnJhaWQnLCd3YnJhaWQnXS5mb3JFYWNoKGZ1bmN0aW9uKGspeyBpZiAocC5nZXQoaykpIHsgdmFyIGQgPSBuZXcgRGF0ZSgpOyBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyA5MCo4NjRlNSk7IGRvY3VtZW50LmNvb2tpZSA9IGsgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQocC5nZXQoaykpICsgJztleHBpcmVzPScgKyBkLnRvVVRDU3RyaW5nKCkgKyAnO3BhdGg9LztTYW1lU2l0ZT1MYXgnOyB9IH0pOwogICAgfSBjYXRjaChlKSB7fQogIH07CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY21wbHpfc3RhdHVzX2NoYW5nZScsIGZ1bmN0aW9uKCl7IHdpbmRvdy5zb2JlbFN0b3JlQWRDbGlja0lkcygpOyB9KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbXBsel9lbmFibGVfY2F0ZWdvcnknLCBmdW5jdGlvbigpeyB3aW5kb3cuc29iZWxTdG9yZUFkQ2xpY2tJZHMoKTsgfSk7CiAgd2luZG93LnNvYmVsU3RvcmVBZENsaWNrSWRzKCk7Cn0pKCk7CgovKiAtLS0tLS0tLS0tIFVUTSArIHJlZmVycmVyICsgZ2NsaWQgY2FwdHVyZSAtLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIHRyeSB7CiAgICB2YXIgcCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTsKICAgIFsndXRtX3NvdXJjZScsJ3V0bV9tZWRpdW0nLCd1dG1fY2FtcGFpZ24nLCd1dG1fYWRncm91cG5hbWUnLCd1dG1fY29udGVudCcsJ3V0bV90ZXJtJywndXRtX2tleXdvcmQnLCd1dG1fZGV2aWNlJ10uZm9yRWFjaChmdW5jdGlvbihrKXsKICAgICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2gtJyArIGspOwogICAgICBpZiAoZWwgJiYgcC5nZXQoaykpIGVsLnZhbHVlID0gcC5nZXQoayk7CiAgICB9KTsKICAgIGZ1bmN0aW9uIHNldENvb2tpZShuLCB2LCBkYXlzKXsgdmFyIGQgPSBuZXcgRGF0ZSgpOyBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyBkYXlzKjg2NGU1KTsgZG9jdW1lbnQuY29va2llID0gbiArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2KSArICc7ZXhwaXJlcz0nICsgZC50b1VUQ1N0cmluZygpICsgJztwYXRoPS87U2FtZVNpdGU9TGF4JzsgfQogICAgZnVuY3Rpb24gZ2V0Q29va2llKG4peyB2YXIgbSA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaCgnKD86Xnw7ICknICsgbiArICc9KFteO10qKScpOyByZXR1cm4gbSA\/IGRlY29kZVVSSUNvbXBvbmVudChtWzFdKSA6ICcnOyB9CiAgICBbJ2djbGlkJywnZ2JyYWlkJywnd2JyYWlkJ10uZm9yRWFjaChmdW5jdGlvbihrKXsKICAgICAgdmFyIG1hcmtldGluZ0FsbG93ZWQgPSB0eXBlb2Ygd2luZG93LnNvYmVsQ29uc2VudEFsbG93cyA9PT0gJ2Z1bmN0aW9uJyAmJiB3aW5kb3cuc29iZWxDb25zZW50QWxsb3dzKCdtYXJrZXRpbmcnKTsKICAgICAgdmFyIHYgPSBwLmdldChrKSB8fCAobWFya2V0aW5nQWxsb3dlZCA\/IGdldENvb2tpZShrKSA6ICcnKSB8fCAnJzsKICAgICAgaWYgKHAuZ2V0KGspICYmIG1hcmtldGluZ0FsbG93ZWQpIHNldENvb2tpZShrLCB2LCA5MCk7CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoLScgKyBrKTsKICAgICAgaWYgKGVsKSBlbC52YWx1ZSA9IHY7CiAgICB9KTsKICAgIHZhciByID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2gtcmVmZXJyZXInKTsgaWYgKHIpIHIudmFsdWUgPSBkb2N1bWVudC5yZWZlcnJlciB8fCAnZGlyZWN0JzsKICAgIHZhciBwdSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoLXBhZ2VfdXJsJyk7IGlmIChwdSkgcHUudmFsdWUgPSBsb2NhdGlvbi5ocmVmOwogICAgdmFyIGxwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2gtbGFuZGluZ19wYWdlJyk7IGlmIChscCkgbHAudmFsdWUgPSBsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZTsKICAgIHZhciBycSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoLXJhd19xdWVyeXN0cmluZycpOyBpZiAocnEpIHJxLnZhbHVlID0gbG9jYXRpb24uc2VhcmNoID8gbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSA6ICcnOwogIH0gY2F0Y2goZSl7fQp9KSgpOwoKLyogLS0tLS0tLS0tLSBDUFNSIGZvcm06IHRocmVlIHN0ZXBzIC0tLS0tLS0tLS0gKi8KKGZ1bmN0aW9uKCl7CiAgdmFyIGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3Bzci1mb3JtJyk7CiAgaWYgKCFmb3JtKSByZXR1cm47CiAgdmFyIFRFU1QgPSAvLXRlc3RlXC8\/JC8udGVzdChsb2NhdGlvbi5wYXRobmFtZSk7CiAgdmFyIExFQURfV0VCSE9PSyA9ICdodHRwczovL3NvYmVsY29uc3VsdC5hcHAubjhuLmNsb3VkL3dlYmhvb2svd2Vic2l0ZS1jb250YWN0LWZvcm0nOwogIHZhciBCUkVWT19FTkRQT0lOVCA9ICcvd3AtanNvbi9zb2JlbC92MS9jcHNyLWxlYWQnOwogIHZhciBUSEFOS19ZT1VfUEFHRSA9ICdodHRwczovL3NvYmVsY29uc3VsdC5jb20vdHkvdGhhbmsteW91Lyc7CiAgdmFyIFBERiA9ICdodHRwczovL3NvYmVsY29uc3VsdC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMTAvU29iZWxfQmVmb3JlLXlvdXItQ1BTUl9HdWlkZS5wZGYnOwoKICB2YXIgUyA9IHsKICAgIGd1aWRlOiAgeyBvbGQ6ICdkZXZlbG9waW5nJywgICAgICAgICAgbGFiZWw6ICdTVEVQIDEgLSBGb3JtdWxhIHN0aWxsIGNoYW5naW5nOiBndWlkZSBkb3dubG9hZGVkJywgICAgICAgICAgICAgICAgICAgY3RhOiAnU2VuZCBtZSB0aGUgZnJlZSBndWlkZScsICAgICBoaW50OiAnTmV4dCBzdGVwOiB0aGUgZnJlZSBndWlkZSwgZG93bmxvYWQgcmlnaHQgYXdheS4gV2UgYWxzbyBlbWFpbCBpdCB0byB5b3UuJyB9LAogICAgcmV2aWV3OiB7IG9sZDogJ2ZpbmFsX2RvY3NfdW5zdXJlJywgICBsYWJlbDogJ1NURVAgMiAtIEZvcm11bGEgZmluYWwsIGRvY3VtZW50cyB1bmNlcnRhaW46IFJlYWRpbmVzcyBSZXZpZXcgRVVSIDE1MCcsIGN0YTogJ1N0YXJ0IG15IFJlYWRpbmVzcyBSZXZpZXcnLCBoaW50OiAnTmV4dCBzdGVwOiBSZWFkaW5lc3MgUmV2aWV3LCDigqwxNTAgcGVyIHByb2R1Y3QsIGNyZWRpdGVkIHRvIHlvdXIgQ1BTUi4gWW91IHJlY2VpdmUgdGhlIHBheW1lbnQgbGluayBieSBlbWFpbDsgcmVwb3J0IDUgYnVzaW5lc3MgZGF5cyBhZnRlciBwYXltZW50IGFuZCBkb2N1bWVudHMuJyB9LAogICAgY3BzcjogICB7IG9sZDogJ2ZpbmFsX2RvY3NfY29tcGxldGUnLCBsYWJlbDogJ1NURVAgMyAtIEZvcm11bGEgZmluYWwsIGRvY3VtZW50cyBjb21wbGV0ZTogQ1BTUicsICAgICAgICAgICAgICAgICAgICAgIGN0YTogJ09yZGVyIG15IENQU1InLCAgICAgICAgICAgICAgaGludDogJ05leHQgc3RlcDogeW91ciBDUFNSLiBGb3IgMSBvciAyIHByb2R1Y3RzIHlvdSByZWNlaXZlIHRoZSBwYXltZW50IGxpbmsgYnkgZW1haWw7IGZvciBtb3JlLCB5b3VyIGZpeGVkIHF1b3RlLicgfQogIH07CiAgdmFyIHN0YWdlID0gJycsIHF0eSA9IDE7CiAgdmFyIGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXQtYnRuJyk7CiAgdmFyIGhpbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGludCcpOwogIHZhciBxdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxLXZhbCcpLCBxaSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLXByb2R1Y3RzJyk7CiAgdmFyIGxjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2wtY29tcGFueScpLCBpYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLWNvbXBhbnknKTsKCiAgZnVuY3Rpb24gZXVyKHYpeyByZXR1cm4gJ+KCrCcgKyB2LnRvTG9jYWxlU3RyaW5nKCdlbi1HQicpOyB9CiAgdmFyIFJBTkdFX01JTiA9IDY7CiAgZnVuY3Rpb24gaXNSYW5nZSgpeyByZXR1cm4gKHN0YWdlID09PSAncmV2aWV3JyB8fCBzdGFnZSA9PT0gJ2Nwc3InKSAmJiBxdHkgPj0gUkFOR0VfTUlOOyB9CiAgZnVuY3Rpb24gYXBwbHlWaXMoKXsKICAgIHZhciByZyA9IGlzUmFuZ2UoKTsKICAgIGZvcm0ucXVlcnlTZWxlY3RvckFsbCgnLmRlcCcpLmZvckVhY2goZnVuY3Rpb24oZWwpewogICAgICB2YXIgb24gPSBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZm9yJykuc3BsaXQoJyAnKS5pbmRleE9mKHN0YWdlKSA+IC0xOwogICAgICB2YXIgciA9IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1yYW5nZScpOwogICAgICBpZiAocmcgJiYgciA9PT0gJ2hpZGUnKSBvbiA9IGZhbHNlOwogICAgICBpZiAocmcgJiYgciA9PT0gJ3Nob3cnKSBvbiA9IHRydWU7CiAgICAgIGVsLmNsYXNzTGlzdC50b2dnbGUoJ29uJywgb24pOwogICAgICBlbC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCx0ZXh0YXJlYScpLmZvckVhY2goZnVuY3Rpb24oaSl7IGlmIChpLnR5cGUgIT09ICdoaWRkZW4nIHx8IGkuaWQgPT09ICdmLXByb2R1Y3RzJykgaS5kaXNhYmxlZCA9ICFvbjsgfSk7CiAgICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYW5nZS1ib3gnKS5oaWRkZW4gPSAhcmc7CiAgICB2YXIgbG0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbC1tc2cnKTsKICAgIGlmIChsbSkgbG0uaW5uZXJIVE1MID0gcmcgPyAnVGVsbCB1cyBhYm91dCB5b3VyIHJhbmdlIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogNTAwOyBjb2xvcjogIzRGNTM1QiI+KG51bWJlciBvZiBmb3JtdWxhcywgcHJvZHVjdCB0eXBlcywgbWFya2V0cyk8L3NwYW4+JyA6ICdBbnl0aGluZyB3ZSBzaG91bGQga25vdz8gPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiAjNEY1MzVCIj4ob3B0aW9uYWwpPC9zcGFuPic7CiAgICBpZiAoc3RhZ2UpIGJ0bi50ZXh0Q29udGVudCA9IChyZyA\/ICdUYWxrIHRvIGEgc3BlY2lhbGlzdCcgOiBTW3N0YWdlXS5jdGEpICsgJyDihpInOwogICAgdmFyIGZtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2YtbXNnJyk7IGlmIChmbSkgZm0ucGxhY2Vob2xkZXIgPSByZyA\/ICdFeGFtcGxlOiAxMiBwcm9kdWN0cyAoc2VydW1zLCBjcmVhbXMsIGNsZWFuc2VycyksIGxhdW5jaGluZyBpbiB0aGUgVUsgYW5kIEdlcm1hbnkuJyA6ICdFeGFtcGxlOiAzIHNraW5jYXJlIHByb2R1Y3RzLCBsYXVuY2hpbmcgaW4gR2VybWFueSBhbmQgRnJhbmNlLic7CiAgICBpZiAoc3RhZ2UpIGhpbnQudGV4dENvbnRlbnQgPSByZyA\/ICdOZXh0IHN0ZXA6IGEgc3BlY2lhbGlzdCByZXZpZXdzIHlvdXIgcmFuZ2UgYW5kIGVtYWlscyB5b3UgYSB0YWlsb3JlZCBxdW90ZSwgd2l0aCBhIGxvd2VyIHByaWNlIHBlciBwcm9kdWN0LicgOiBTW3N0YWdlXS5oaW50OwogIH0KICBmdW5jdGlvbiB1cGRUb3RhbCgpewogICAgcXYudGV4dENvbnRlbnQgPSBxdHk7IHFpLnZhbHVlID0gcXR5OwogICAgYXBwbHlWaXMoKTsKICAgIHZhciBwbCA9IHF0eSA9PT0gMSA\/ICcxIHByb2R1Y3QnIDogcXR5ICsgJyBwcm9kdWN0cyc7CiAgICB2YXIgdGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndC1sYWJlbCcpLCB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0LXN1bScpOwogICAgaWYgKGlzUmFuZ2UoKSkgeyB0bC50ZXh0Q29udGVudCA9ICdSYW5nZSDCtyAnICsgcGwgKyAnIMK3IHRhaWxvcmVkIHF1b3RlIGZyb20gYSBzcGVjaWFsaXN0JzsgdHMudGV4dENvbnRlbnQgPSAnUXVvdGUnOyB9CiAgICBlbHNlIGlmIChzdGFnZSA9PT0gJ3JldmlldycpIHsgdGwudGV4dENvbnRlbnQgPSAnUmVhZGluZXNzIFJldmlldyDCtyAnICsgcGwgKyAnIMOXIOKCrDE1MCDCtyBjcmVkaXRlZCB0byB5b3VyIENQU1InOyB0cy50ZXh0Q29udGVudCA9IGV1cihxdHkgKiAxNTApOyB9CiAgICBlbHNlIGlmIChzdGFnZSA9PT0gJ2Nwc3InKSB7IHRsLnRleHRDb250ZW50ID0gJ0NQU1IgwrcgJyArIHBsICsgJyDDlyBmcm9tIOKCrDQ1MCDCtyAnICsgKHF0eSA8PSAyID8gJ3BheSBvbmxpbmUnIDogJ2ZpeGVkIHF1b3RlIGZpcnN0Jyk7IHRzLnRleHRDb250ZW50ID0gJ2Zyb20gJyArIGV1cihxdHkgKiA0NTApOyB9CiAgfQogIGZ1bmN0aW9uIHBpY2soc3QsIHNjcm9sbCl7CiAgICBpZiAoIVNbc3RdKSByZXR1cm47CiAgICBzdGFnZSA9IHN0OwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9wdFtkYXRhLXN0YWdlXScpLmZvckVhY2goZnVuY3Rpb24oYil7IGIuc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCBiLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGFnZScpID09PSBzdCA\/ICd0cnVlJyA6ICdmYWxzZScpOyB9KTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXBpY2tdJykuZm9yRWFjaChmdW5jdGlvbihjKXsgYy5jbGFzc0xpc3QudG9nZ2xlKCdwaWNrZWQnLCBjLmdldEF0dHJpYnV0ZSgnZGF0YS1waWNrJykgPT09IHN0KTsgfSk7CiAgICBsYy50ZXh0Q29udGVudCA9IHN0ID09PSAncmV2aWV3JyA\/ICdDb21wYW55IGxlZ2FsIG5hbWUgKGZvciB0aGUgaW52b2ljZSknIDogJ0JyYW5kIG9yIGNvbXBhbnknOwogICAgaWMucGxhY2Vob2xkZXIgPSBzdCA9PT0gJ3JldmlldycgPyAnTGVnYWwgbmFtZScgOiAnQnJhbmQgbmFtZSc7CiAgICBoaW50LnRleHRDb250ZW50ID0gU1tzdF0uaGludDsKICAgIGJ0bi50ZXh0Q29udGVudCA9IFNbc3RdLmN0YSArICcg4oaSJzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnItc3RhZ2UnKS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7CiAgICB1cGRUb3RhbCgpOwogICAgaWYgKHNjcm9sbCkgeyB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJyk7IGlmIChjKSBjLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTsgfQogIH0KICBmb3JtLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kZXAgaW5wdXQsLmRlcCB0ZXh0YXJlYScpLmZvckVhY2goZnVuY3Rpb24oaSl7IGkuZGlzYWJsZWQgPSB0cnVlOyB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0W2RhdGEtc3RhZ2VdJykuZm9yRWFjaChmdW5jdGlvbihiKXsgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHBpY2soYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhZ2UnKSk7IH0pOyB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zdGFnZS1saW5rXScpLmZvckVhY2goZnVuY3Rpb24oYSl7IGEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBlLnN0b3BQcm9wYWdhdGlvbigpOyBwaWNrKGEuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YWdlLWxpbmsnKSwgdHJ1ZSk7IH0pOyB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1waWNrXScpLmZvckVhY2goZnVuY3Rpb24oYyl7IGMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsgaWYgKGUudGFyZ2V0LmNsb3Nlc3QoJ2EnKSkgcmV0dXJuOyBwaWNrKGMuZ2V0QXR0cmlidXRlKCdkYXRhLXBpY2snKSwgdHJ1ZSk7IH0pOyB9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmFuZ2UtbGluaycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7IGUucHJldmVudERlZmF1bHQoKTsgaWYgKHN0YWdlICE9PSAncmV2aWV3JyAmJiBzdGFnZSAhPT0gJ2Nwc3InKSBwaWNrKCdjcHNyJyk7IHF0eSA9IE1hdGgubWF4KHF0eSwgUkFOR0VfTUlOKTsgdXBkVG90YWwoKTsgdmFyIG0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZi1tc2cnKTsgaWYgKG0pIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgbS5mb2N1cygpOyB9LCAzMDApOyB9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncS1taW51cycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgcXR5ID0gTWF0aC5tYXgoMSwgcXR5IC0gMSk7IHVwZFRvdGFsKCk7IH0pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxLXBsdXMnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHF0eSA9IE1hdGgubWluKDUwLCBxdHkgKyAxKTsgdXBkVG90YWwoKTsgfSk7CiAgdmFyIEhBU0ggPSB7ICcjZ3VpZGUnOiAnZ3VpZGUnLCAnI3Jldmlldyc6ICdyZXZpZXcnLCAnI2Nwc3InOiAnY3BzcicsICcjZm9ybSc6ICdjcHNyJyB9OwogIGlmIChIQVNIW2xvY2F0aW9uLmhhc2hdKSB7IHBpY2soSEFTSFtsb2NhdGlvbi5oYXNoXSk7IHZhciBnb0Zvcm0gPSBmdW5jdGlvbigpeyB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtJyk7IGlmIChjKSBjLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdzdGFydCcgfSk7IH07IHNldFRpbWVvdXQoZ29Gb3JtLCA0MDApOyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCl7IHNldFRpbWVvdXQoZ29Gb3JtLCAzMDApOyB9KTsgfQoKICBmdW5jdGlvbiB2YWxpZEVtYWlsKHYpeyByZXR1cm4gL15bXlxzQF0rQFteXHNAXStcLlteXHNAXXsyLH0kLy50ZXN0KHYpOyB9CiAgZnVuY3Rpb24gdmFsaWRhdGUoKXsKICAgIHZhciBvayA9IHRydWU7CiAgICBpZiAoIXN0YWdlKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnItc3RhZ2UnKS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7IG9rID0gZmFsc2U7IH0KICAgIGZvcm0ucXVlcnlTZWxlY3RvckFsbCgnLmZbZGF0YS1yZXFdJykuZm9yRWFjaChmdW5jdGlvbihmKXsKICAgICAgaWYgKGYuY2xvc2VzdCgnLmRlcCcpICYmICFmLmNsb3Nlc3QoJy5kZXAnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29uJykpIHsgZi5jbGFzc0xpc3QucmVtb3ZlKCdiYWQnKTsgcmV0dXJuOyB9CiAgICAgIHZhciBiYWQ7CiAgICAgIGlmIChmLmhhc0F0dHJpYnV0ZSgnZGF0YS1yYWRpbycpKSBiYWQgPSAhZm9ybS5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSInICsgZi5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmFkaW8nKSArICciXTpjaGVja2VkJyk7CiAgICAgIGVsc2UgeyB2YXIgaSA9IGYucXVlcnlTZWxlY3RvcignaW5wdXQnKTsgYmFkID0gIWkudmFsdWUudHJpbSgpIHx8IChmLmhhc0F0dHJpYnV0ZSgnZGF0YS1lbWFpbCcpICYmICF2YWxpZEVtYWlsKGkudmFsdWUudHJpbSgpKSk7IH0KICAgICAgZi5jbGFzc0xpc3QudG9nZ2xlKCdiYWQnLCBiYWQpOyBpZiAoYmFkKSBvayA9IGZhbHNlOwogICAgfSk7CiAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLWNvbnNlbnQnKS5jaGVja2VkOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vyci1jb25zZW50JykuY2xhc3NMaXN0LnRvZ2dsZSgnc2hvdycsICFjKTsgaWYgKCFjKSBvayA9IGZhbHNlOwogICAgaWYgKCFvaykgeyB2YXIgZmlyc3QgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5mLmJhZCwgLmZlcnIuc2hvdycpOyBpZiAoZmlyc3QpIGZpcnN0LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7IH0KICAgIHJldHVybiBvazsKICB9CgogIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcignc3VibWl0JywgZnVuY3Rpb24oZSl7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgZXJyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0tZXJyb3InKTsgZXJyLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTsKICAgIGlmICghdmFsaWRhdGUoKSkgcmV0dXJuOwogICAgdmFyIGxhYmVsID0gYnRuLnRleHRDb250ZW50OwogICAgYnRuLmRpc2FibGVkID0gdHJ1ZTsgYnRuLnRleHRDb250ZW50ID0gJ1NlbmRpbmfigKYnOwoKICAgIHZhciBkYXRhID0ge307CiAgICBuZXcgRm9ybURhdGEoZm9ybSkuZm9yRWFjaChmdW5jdGlvbih2LCBrKXsgZGF0YVtrXSA9IHR5cGVvZiB2ID09PSAnc3RyaW5nJyA\/IHYudHJpbSgpIDogdjsgfSk7CiAgICBpZiAoZGF0YS53ZWJzaXRlKSByZXR1cm47ICAgICAgICAgICAgICAvLyBob25leXBvdAogICAgZGVsZXRlIGRhdGEud2Vic2l0ZTsKICAgIGRhdGEuZmlyc3RfbmFtZSA9IGRhdGEubmFtZTsKICAgIGRhdGEuYnVzaW5lc3NfYXJlYSA9ICdDb3NtZXRpY3MnOwogICAgZGF0YS5zZXJ2aWNlX2tleSA9ICdldV9jcHNyJzsKICAgIGRhdGEucGFnZSA9ICdscC9jb3NtZXRpY3MvZXUtY3Bzci0zJzsKICAgIGRhdGEucGFnZV92ZXJzaW9uID0gVEVTVCA\/ICd2Ny1CLVRFU1QnIDogJ3Y3LUInOwogICAgZGF0YS5zdGFnZSA9IFNbc3RhZ2VdLm9sZDsKICAgIGRhdGEuY3Bzcl9zdGVwID0gc3RhZ2U7CiAgICB2YXIgUkcgPSBpc1JhbmdlKCk7CiAgICBkYXRhLnN0YWdlX2xhYmVsID0gU1tzdGFnZV0ubGFiZWwgKyAoUkcgPyAnIC0gUkFOR0UgKHRhbGsgdG8gYSBzcGVjaWFsaXN0KScgOiAnJyk7CiAgICBkYXRhLnJhbmdlID0gUkcgPyAneWVzJyA6ICdubyc7CiAgICBkYXRhLnN1Ym1pdHRlZF9hdCA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTsKICAgIGlmIChzdGFnZSA9PT0gJ2d1aWRlJykgZGVsZXRlIGRhdGEucHJvZHVjdHM7CgogICAgdmFyIGxpbmVzID0gWyhURVNUID8gJ1tURVNURSAtIGlnbm9yYXJdICcgOiAnJykgKyAoUkcgPyAnW1JBTkdFIC0gdGFsayB0byBhIHNwZWNpYWxpc3RdICcgOiAnJykgKyAnWycgKyBTW3N0YWdlXS5sYWJlbCArICddJywgJ01hcmtldDogJyArIChkYXRhLm1hcmtldCB8fCAnLScpXTsKICAgIGlmIChzdGFnZSAhPT0gJ2d1aWRlJykgbGluZXMucHVzaCgnUHJvZHVjdHM6ICcgKyBxdHkpOwogICAgaWYgKHN0YWdlID09PSAncmV2aWV3JyAmJiAhUkcpIHsKICAgICAgbGluZXMucHVzaCgnQW1vdW50IGZvciBXaXNlIGxpbms6IEVVUiAnICsgKHF0eSAqIDE1MCkgKyAnICgnICsgcXR5ICsgJyB4IEVVUiAxNTApJyArIChxdHkgPiAyID8gJyAtIE5PIGF1dG9tYXRpYyBsaW5rLCBzZW5kIG1hbnVhbGx5JyA6ICcnKSk7CiAgICAgIGxpbmVzLnB1c2goJ0JJTExJTkc6ICcgKyBbZGF0YS5jb21wYW55LCBkYXRhLmJpbGxpbmdfYWRkcmVzcywgKGRhdGEuYmlsbGluZ19wb3N0Y29kZSB8fCAnJykgKyAnICcgKyAoZGF0YS5iaWxsaW5nX2NpdHkgfHwgJycpLCBkYXRhLmJpbGxpbmdfY291bnRyeV0uam9pbignLCAnKSArIChkYXRhLmJpbGxpbmdfdmF0ID8gJyB8IFZBVCAnICsgZGF0YS5iaWxsaW5nX3ZhdCA6ICcgfCBubyBWQVQgbnVtYmVyJykpOwogICAgfQogICAgaWYgKFJHKSBsaW5lcy5wdXNoKCdSYW5nZSBvZiAnICsgcXR5ICsgJyBmb3JtdWxhczogc3BlY2lhbGlzdCB0byBwcmVwYXJlIGEgdGFpbG9yZWQgcXVvdGUgKG5vIGF1dG9tYXRpYyBwYXltZW50IGxpbmspJyk7CiAgICBlbHNlIGlmIChzdGFnZSA9PT0gJ2Nwc3InKSBsaW5lcy5wdXNoKCdDUFNSIGZyb20gRVVSICcgKyAocXR5ICogNDUwKSArIChxdHkgPD0gMiA\/ICcgLSBhdXRvbWF0aWMgV2lzZSBsaW5rIHNlbnQnIDogJyAtIHNlbmQgZml4ZWQgcXVvdGUnKSk7CiAgICBpZiAoZGF0YS5tZXNzYWdlKSBsaW5lcy5wdXNoKCdOb3RlOiAnICsgZGF0YS5tZXNzYWdlKTsKICAgIGRhdGEubWVzc2FnZSA9IGxpbmVzLmpvaW4oJ1xuJyk7CgogICAgLy8gQnJldm8gKGVtYWlscykgcnVucyBhbG9uZ3NpZGU7IGl0IG5ldmVyIGJsb2NrcyB0aGUgbGVhZC4KICAgIHRyeSB7CiAgICAgIGZldGNoKEJSRVZPX0VORFBPSU5ULCB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicsCiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiBkYXRhLm5hbWUsIGVtYWlsOiBkYXRhLmVtYWlsLCBzdGVwOiBzdGFnZSwgcHJvZHVjdHM6IHN0YWdlID09PSAnZ3VpZGUnID8gMCA6IHF0eSB9KSB9KS5jYXRjaChmdW5jdGlvbigpe30pOwogICAgfSBjYXRjaCh4KSB7fQoKICAgIHZhciBjdHJsID0gbmV3IEFib3J0Q29udHJvbGxlcigpOyB2YXIgdG8gPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGN0cmwuYWJvcnQoKTsgfSwgMTIwMDApOwogICAgZmV0Y2goTEVBRF9XRUJIT09LLCB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksIHNpZ25hbDogY3RybC5zaWduYWwgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24ocil7IGNsZWFyVGltZW91dCh0byk7IGlmICghci5vaykgdGhyb3cgbmV3IEVycm9yKCdIVFRQICcgKyByLnN0YXR1cyk7IGRvbmUoKTsgfSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKCl7IGJ0bi5kaXNhYmxlZCA9IGZhbHNlOyBidG4udGV4dENvbnRlbnQgPSBsYWJlbDsgZXJyLnRleHRDb250ZW50ID0gJ1NvcnJ5LCB3ZSBjb3VsZCBub3Qgc2VuZCB5b3VyIHJlcXVlc3QganVzdCBub3cuIFBsZWFzZSBjaGVjayB5b3VyIGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fpbi4nOyBlcnIuY2xhc3NMaXN0LmFkZCgnc2hvdycpOyB9KTsKICB9KTsKCiAgZnVuY3Rpb24gZG9uZSgpewogICAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CiAgICB3aW5kb3cuZGF0YUxheWVyLnB1c2goeyBldmVudDogJ2Nwc3JfbGVhZCcsIGxlYWRfc3RhZ2U6IHN0YWdlLCBwcm9kdWN0czogc3RhZ2UgPT09ICdndWlkZScgPyAwIDogcXR5LCB0ZXN0OiBURVNUIH0pOwogICAgaWYgKHN0YWdlICE9PSAnZ3VpZGUnICYmICFURVNUKSB7IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gVEhBTktfWU9VX1BBR0U7IHJldHVybjsgfQogICAgZm9ybS5oaWRkZW4gPSB0cnVlOyBmb3JtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICB2YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2Nlc3MnKTsgYm94LmhpZGRlbiA9IGZhbHNlOwogICAgdmFyIHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncy10aXRsZScpLCB4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3MtdGV4dCcpLCBhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3MtcGRmJyk7CiAgICBpZiAoc3RhZ2UgPT09ICdndWlkZScpIHsgdC50ZXh0Q29udGVudCA9ICdZb3VyIGd1aWRlIGlzIHJlYWR5JzsgeC50ZXh0Q29udGVudCA9ICdEb3dubG9hZCBpdCBiZWxvdy4gV2UgaGF2ZSBhbHNvIGVtYWlsZWQgaXQgdG8geW91LiBXaGVuIHlvdXIgZm9ybXVsYSBpcyBmaW5hbCwgY29tZSBiYWNrIHRvIHN0ZXAgMiBvciAzLic7IGEuaGlkZGVuID0gZmFsc2U7IH0KICAgIGVsc2UgaWYgKGlzUmFuZ2UoKSkgeyB0LnRleHRDb250ZW50ID0gJ1JlcXVlc3QgcmVjZWl2ZWQnOyB4LnRleHRDb250ZW50ID0gKFRFU1QgPyAnVGVzdCBwYWdlOiBvbiB0aGUgbGl2ZSBwYWdlIHRoZSB2aXNpdG9yIGdvZXMgdG8gdGhlIHRoYW5rLXlvdSBwYWdlIG5vdy4gJyA6ICcnKSArICdBIHNwZWNpYWxpc3Qgd2lsbCBlbWFpbCB5b3Ugc2hvcnRseSB0byB0YWxrIGFib3V0IHlvdXIgcmFuZ2UgYW5kIHByZXBhcmUgeW91ciBxdW90ZS4nOyB9CiAgICBlbHNlIHsgdC50ZXh0Q29udGVudCA9ICdSZXF1ZXN0IHJlY2VpdmVkJzsgeC50ZXh0Q29udGVudCA9IChURVNUID8gJ1Rlc3QgcGFnZTogb24gdGhlIGxpdmUgcGFnZSB0aGUgdmlzaXRvciBnb2VzIHRvIHRoZSB0aGFuay15b3UgcGFnZSBub3cuICcgOiAnJykgKyAnQ2hlY2sgeW91ciBpbmJveDogd2UgaGF2ZSBlbWFpbGVkIHlvdSB0aGUgbmV4dCBzdGVwJyArIChxdHkgPD0gMiA\/ICcsIHdpdGggeW91ciBzZWN1cmUgcGF5bWVudCBsaW5rLicgOiAnLicpOyB9CiAgfQp9KSgpOwo='),function(c){return c.charCodeAt(0)})));<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>EU and UK cosmetic compliance Find your moment UK and EU \u00b7 for independent brands Your product deserves a place on UK and European shelves. We help you get there safely. Half a billion consumers and the second largest beauty market in the world. The safety report is your entry ticket: from \u20ac450 per product, [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":36585,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_angie_page":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-46081","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.8 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado - Sobel<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado\" \/>\n<meta property=\"og:description\" content=\"EU and UK cosmetic compliance Find your moment UK and EU \u00b7 for independent brands Your product deserves a place on UK and European shelves. We help you get there safely. Half a billion consumers and the second largest beauty market in the world. The safety report is your entry ticket: from \u20ac450 per product, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Sobel\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-31T14:18:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/\",\"url\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/\",\"name\":\"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado - Sobel\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sobelconsult.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/lp-asset-sobel-logo-28601-5.png\",\"datePublished\":\"2026-10-24T16:50:47+00:00\",\"dateModified\":\"2026-10-31T14:18:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sobelconsult.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/lp-asset-sobel-logo-28601-5.png\",\"contentUrl\":\"https:\\\/\\\/sobelconsult.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/lp-asset-sobel-logo-28601-5.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/eu-cpsr-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"P\u00e1ginas de aterrizaje\",\"item\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cosm\u00e9ticos\",\"item\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/lp\\\/cosmetics\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/\",\"name\":\"Sobel\",\"description\":\"Regulatory Consultancy\",\"publisher\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#organization\",\"name\":\"Sobel\",\"url\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sobelconsult.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/Logo-Oficial-Website-White.webp\",\"contentUrl\":\"https:\\\/\\\/sobelconsult.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/Logo-Oficial-Website-White.webp\",\"width\":741,\"height\":290,\"caption\":\"Sobel\"},\"image\":{\"@id\":\"https:\\\/\\\/sobelconsult.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/75043510\\\/admin\\\/dashboard\\\/\",\"https:\\\/\\\/www.instagram.com\\\/sobelconsult\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado - Sobel","robots":{"index":"noindex","follow":"follow"},"og_locale":"es_ES","og_type":"article","og_title":"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado","og_description":"EU and UK cosmetic compliance Find your moment UK and EU \u00b7 for independent brands Your product deserves a place on UK and European shelves. We help you get there safely. Half a billion consumers and the second largest beauty market in the world. The safety report is your entry ticket: from \u20ac450 per product, [&hellip;]","og_url":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/","og_site_name":"Sobel","article_modified_time":"2026-10-31T14:18:10+00:00","og_image":[{"url":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"10 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/","url":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/","name":"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado - Sobel","isPartOf":{"@id":"https:\/\/sobelconsult.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/#primaryimage"},"image":{"@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/#primaryimage"},"thumbnailUrl":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png","datePublished":"2026-10-24T16:50:47+00:00","dateModified":"2026-10-31T14:18:10+00:00","breadcrumb":{"@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/#primaryimage","url":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png","contentUrl":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2026\/10\/lp-asset-sobel-logo-28601-5.png"},{"@type":"BreadcrumbList","@id":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/eu-cpsr-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"P\u00e1ginas de aterrizaje","item":"https:\/\/sobelconsult.com\/es\/lp\/"},{"@type":"ListItem","position":2,"name":"Cosm\u00e9ticos","item":"https:\/\/sobelconsult.com\/es\/lp\/cosmetics\/"},{"@type":"ListItem","position":3,"name":"CPSR de la UE \u2014 Anexo I: Informe de seguridad de productos cosm\u00e9ticos, firmado por un evaluador cualificado"}]},{"@type":"WebSite","@id":"https:\/\/sobelconsult.com\/es\/#website","url":"https:\/\/sobelconsult.com\/es\/","name":"Sobel","description":"Regulatory Consultancy","publisher":{"@id":"https:\/\/sobelconsult.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sobelconsult.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/sobelconsult.com\/es\/#organization","name":"Sobel","url":"https:\/\/sobelconsult.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/sobelconsult.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2024\/07\/Logo-Oficial-Website-White.webp","contentUrl":"https:\/\/sobelconsult.com\/wp-content\/uploads\/2024\/07\/Logo-Oficial-Website-White.webp","width":741,"height":290,"caption":"Sobel"},"image":{"@id":"https:\/\/sobelconsult.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/75043510\/admin\/dashboard\/","https:\/\/www.instagram.com\/sobelconsult\/"]}]}},"_links":{"self":[{"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/pages\/46081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/comments?post=46081"}],"version-history":[{"count":4,"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/pages\/46081\/revisions"}],"predecessor-version":[{"id":46759,"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/pages\/46081\/revisions\/46759"}],"up":[{"embeddable":true,"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/pages\/36585"}],"wp:attachment":[{"href":"https:\/\/sobelconsult.com\/es\/wp-json\/wp\/v2\/media?parent=46081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}