PageSourceSearch

https://hotelcomply.com/js/index-otvgo0_r.js

js hotelcomply.com collected 2026-10-04 07:46:23 UTC 14,608 bytes, 1 lines download raw bytes

1import{jsxRuntimeExports as e,Helmet as t,Link as s,useParams as i}from"./react-vendor-Cl5BoUFb.js";import{GeistShell as a,Nav as r,Section as o,Container as n,Eyebrow as l,Heading as c,Prose as d,Button as m,Card as p,Footer as u}from"./main-OLIzgs0k.js";import{Chip as h}from"./Chip-CFEO8v1v.js";import{ArrowRight as g,CircleCheckBig as f,Shield as x,ShieldCheck as v}from"./icons-vendor-BUK3cUnC.js";import"./index-YHYuFPvV.js";import"./ui-vendor-CVwrz00e.js";import"./query-vendor-Ct1xBef-.js";import"./analytics-lib-CvkHC-Ld.js";import"./nav-lib-tIVQ3Mlj.js";import"./video-modal-C9YG8PUQ.js";import"./feature-flags-lib-C1N11fmc.js";const y=[{slug:"ccpa-assessment",title:"CCPA/CPRA Assessment",usp:"Find your compliance gaps fast—no legalese.",benefits:["Finish in minutes; get a clear readiness score","Know exactly what to fix for audits","Executive-friendly summary for ownership","Spot high-risk areas before regulators do","Track progress as you implement fixes"],steps:[{title:"Answer questions",desc:"Business, data, technical, rights—simple multiple choice"},{title:"See score",desc:"Instant risk assessment and priority fixes highlighted"},{title:"Export",desc:"Audit-ready pack for stakeholders and legal counsel"}],rights:["Know","Delete","Correct","Opt-out","Limit Sensitive"],legalNotes:["We do not disclose PI from this page; identity is verified before any disclosure","45-day DSAR SLA; can extend to 90 days with notice","Data minimization & purpose limitation; retention stated in policies"],faq:[{q:"How long does it take?",a:"About 10–15 minutes for most hotels."},{q:"Is legal review required?",a:"We provide a draft and evidence pack—your counsel approves."},{q:"What if we fail areas?",a:"You get specific remediation steps, not just a score."},{q:"Can we retake it?",a:"Yes, track progress as you implement fixes."}]},{slug:"dsar-portal",title:"Consumer Rights & DSAR Portal",usp:"Guest requests handled end-to-end—secure, tracked, on time.",benefits:["Centralize and track all guest privacy requests","Built-in templates and verification workflows","Audit trail and due-date reminders never miss SLAs","Staff training included—no privacy law degree needed","Export audit reports for brand compliance reviews"],steps:[{title:"Collect request",desc:"Web form or assisted entry—guests choose their method"},{title:"Verify identity",desc:"Follow policy thresholds with guided verification steps"},{title:"Fulfill & log",desc:"Evidence gathering and deadline tracking with staff alerts"}],rights:["Know","Delete","Correct","Portability","Restriction/Objection"],legalNotes:["Verification before disclosure; data security by design","45-day SLA, extendable to 90 days; system notifies if extension needed","Exports avoid sensitive PI exposure; redaction tools included"],faq:[{q:"Can staff submit on behalf of guests?",a:"Yes, with verification and relationship checks built-in."},{q:"What if guest data is in multiple systems?",a:"We guide you through discovery across PMS, CRM, and marketing platforms."},{q:"How do we verify guest identity?",a:"Configurable thresholds—from email confirmation to government ID."},{q:"What about complex deletion requests?",a:"System identifies retention requirements and guides partial deletion."}]},{slug:"opt-out-gpc",title:"Do Not Sell/Share & GPC",usp:"Respect guest choices automatically—no engineering fire drills.",benefits:["Detect and honor Global Privacy Control signals automatically","One-click opt-out banners and preference centers","Proof of compliance with immutable audit logs","Works with existing analytics and marketing tools","Brand consistency across all digital touchpoints"],steps:[{title:"Detect GPC",desc:"Signal honored across the site with technical integration"},{title:"Record preference",desc:"Immutable log & policy sync with guest preference center"},{title:"Enforce",desc:"Disable downstream ad-tech sharing while preserving core analytics"}],rights:["Opt-out (Sell/Share)"],legalNotes:["GPC treated as a valid opt-out signal per CCPA requirements","No dark patterns; easy re-consent available with clear explanations","Granular controls documented in privacy policies with annual updates"],faq:[{q:"Does this break our website analytics?",a:"We preserve essential measurement within compliance limits—no revenue impact."},{q:"What about existing marketing integrations?",a:"Smart filtering maintains core functionality while respecting opt-outs."},{q:"How do guests opt back in?",a:"Clear, benefit-focused consent flows—no pressure tactics."},{q:"Can we customize the opt-out experience?",a:"Yes, branded flows that match your hotel's experience standards."}]},{slug:"limit-sensitive",title:"Right to Limit Sensitive PI",usp:"Honor 'limit use' requests without breaking operations.",benefits:["Guest-friendly request flows with clear explanations","Routing to staff with least-privilege access controls","Reporting for regulators and brand compliance teams","Integration with existing security and access controls","Operational continuity—essential functions continue working"],steps:[{title:"Collect preference",desc:"Clear description of sensitive PI and impact explanations"}
1,{title:"Apply controls",desc:"Downstream suppression & masking with operational safeguards"},{title:"Prove it",desc:"Evidence logs & change history for compliance demonstrations"}],rights:["Limit Sensitive"],legalNotes:["Scope limited to what is necessary; minimize processing beyond essential operations","Communicate impacts to the guest when applicable with clear benefit explanations","Link surfaced on /limit-sensitive and footer per CCPA disclosure requirements"],faq:[{q:"What counts as sensitive PI in hotels?",a:"Government IDs, precise geolocation, financial data, health info, and loyalty program details."},{q:"Will limiting sensitive data break our operations?",a:"No—we preserve essential functions like reservations and safety while limiting marketing use."},{q:"How do we explain limitations to guests?",a:"Clear impact statements: 'This may affect personalized offers but not your reservation.'"},{q:"What about loyalty program data?",a:"Configurable controls—guests can limit marketing while keeping earning/redemption."}]},{slug:"privacy-policy-generator",title:"Privacy Policy & Notices Generator",usp:"Up-to-date, hotel-specific policies—no copy-paste risk.",benefits:["Data inventory drives accurate disclosures automatically","State-specific addenda included for multi-state operations","Version control and export to PDF with change tracking","Plain English explanations alongside legal requirements","Integration with your website and guest communications"],steps:[{title:"Map data",desc:"Sources, purposes, retention periods from your actual systems"},{title:"Generate policy",desc:"CCPA/CPRA + GDPR coverage with state-specific requirements"},{title:"Publish",desc:"Auto-link in footer & DSAR flows with version management"}],rights:["Know","Opt-out","Limit Sensitive"],legalNotes:["12-month lookback for disclosures as required by CCPA regulations","Retention and purpose limitation declared with clear explanations","Vendor/service-provider disclosures listed with contact information"],faq:[{q:"Can our legal team edit the draft?",a:"Yes—track changes and approvals with built-in collaboration tools."},{q:"How often do policies need updating?",a:"Automatically flagged when data practices change; annual review reminders included."},{q:"What about different state requirements?",a:"Multi-jurisdiction coverage—Virginia, Colorado, Connecticut, and more."},{q:"Do guests actually read these?",a:"We include guest-friendly summaries alongside legal text for better transparency."}]},{slug:"data-mapping-ropa",title:"Data Mapping & ROPA",usp:"Understand who has what data—reduce vendor and breach risk.",benefits:["Single source of truth for all data processing activities","Vendor and system lineage visibility across your tech stack","DPIA inputs ready when launching new hotel technologies","Breach response acceleration with pre-mapped data flows","Executive dashboards for ownership and brand reporting"],steps:[{title:"Catalog systems",desc:"PMS, CRS, POS, CRM, marketing tools, and vendor connections"},{title:"Define purposes",desc:"Lawful bases determination and service-provider role documentation"},{title:"Report",desc:"Share with counsel and auditors in multiple export formats"}],rights:["Know","Portability","Restriction/Objection"],legalNotes:["International transfers noted where applicable with adequacy decisions referenced","Records of processing (ROPA) maintained per GDPR Article 30 requirements","Retention schedules synchronized across all documented processing activities"],faq:[{q:"How often should we update our data map?",a:"Quarterly reviews recommended; immediate updates when systems change."},{q:"What about vendor data we don't directly control?",a:"Vendor assessment tools included—map their practices too."},{q:"Can this help with cybersecurity?",a:"Yes—know what data you have to better protect it and respond to incidents."},{q:"How detailed does the mapping need to be?",a:"Scalable approach—start high-level, drill down into critical or high-risk processing."}]}];function w({tile:i}){return e.jsxs(a,{children:[e.jsxs(t,{children:[e.jsxs("title",{children:[i.title," | HotelComply"]}),e.jsx("meta",{name:"description",content:`${i.usp}
1 ${i.benefits.slice(0,2).join(", ")}.`}),e.jsx("link",{rel:"canonical",href:`https://hotelcomply.com/suite/${i.slug}`})]}),e.jsx(r,{}),e.jsxs("main",{children:[e.jsx(o,{className:"!pb-12",children:e.jsxs(n,{className:"max-w-4xl",children:[e.jsx(l,{className:"mb-4",children:"Compliance Package Module"}),e.jsx(c,{level:1,display:!0,children:i.title}),e.jsx(d,{className:"mt-6 max-w-3xl !text-lg",children:i.usp}),e.jsxs("div",{className:"mt-8 flex flex-col gap-4 sm:flex-row sm:items-center",children:[e.jsxs(m,{variant:"primary",to:"/pricing",children:["View Pricing",e.jsx(g,{className:"h-4 w-4",strokeWidth:1.5})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(h,{children:"Documented"}),e.jsx(h,{children:"Audit-ready"})]})]})]})}),e.jsx(o,{className:"border-t border-[color:var(--gc-border)]",children:e.jsx(n,{children:e.jsxs("div",{className:"grid gap-8 lg:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx(c,{level:2,className:"mb-6",children:"Key Benefits"}),e.jsx("ul",{className:"space-y-4",children:i.benefits.map((t,s)=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(f,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-[color:var(--gc-ok)]",strokeWidth:1.5}),e.jsx("span",{className:"text-body text-[color:var(--gc-fg-2)]",children:t})]},s))})]}),e.jsxs(p,{children:[e.jsx(c,{level:3,className:"mb-6",children:"How it works"}),e.jsx("ol",{className:"space-y-6",children:i.steps.map((t,s)=>e.jsxs("li",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"mt-1 inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full border border-[color:var(--gc-border-2)] font-geistMono text-mono text-[color:var(--gc-fg-2)]",children:s+1}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"font-medium text-[color:var(--gc-fg)]",children:t.title}),e.jsx(d,{className:"mt-1",children:t.desc})]})]},s))})]})]})})}),e.jsx(o,{className:"border-t border-[color:var(--gc-border)]",children:e.jsx(n,{children:e.jsxs(p,{children:[e.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[e.jsx(x,{className:"h-6 w-6 text-[color:var(--gc-fg-2)]",strokeWidth:1.5}),e.jsx(c,{level:3,children:"Compliance & Legal Notes"})]}),e.jsxs("div",{className:"mb-6",children:[e.jsx(l,{className:"mb-3",children:"Consumer rights supported"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:i.rights.map(t=>e.jsx(h,{children:t},t))})]}),e.jsx("ul",{className:"mb-6 space-y-3",children:i.legalNotes.map((t,s)=>e.jsxs("li",{className:"flex items-start gap-2.5 text-sm text-[color:var(--gc-fg-2)]",children:[e.jsx("span",{className:"mt-2 h-1.5 w-1.5 flex-shrink-0 rounded-full bg-[color:var(--gc-dim)]","aria-hidden":"true"}),e.jsx("span",{children:t})]},s))}),e.jsxs("div",{className:"border-t border-[color:var(--gc-border)] pt-4 text-sm text-[color:var(--gc-fg-2)]",children:[e.jsx("strong",{className:"font-medium text-[color:var(--gc-fg)]",children:"Manage your privacy choices:"})," ",e.jsx(s,{to:"/opt-out",className:"text-[color:var(--gc-fg)] underline hover:no-underline",children:"Your Privacy Choices"})," ","and"," ",e.jsx(s,{to:"/limit-sensitive",className:"text-[color:var(--gc-fg)] underline hover:no-underline",children:"Limit Sensitive Information"})]})]})})}),e.jsx(o,{className:"border-t border-[color:var(--gc-border)]",children:e.jsxs(n,{children:[e.jsx(c,{level:2,className:"mb-8",children:"Frequently Asked Questions"}),e.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:i.faq.map((t,s)=>e.jsxs(p,{children:[e.jsx("dt",{className:"mb-3 font-medium text-[color:var(--gc-fg)]",children:t.q}),e.jsx("dd",{children:e.jsx(d,{children:t.a})})]},s))})]})}),e.jsx(o,{className:"border-t border-[color:var(--gc-border)] bg-[color:var(--gc-panel)]",children:e.jsx(n,{children:e.jsxs("div",{className:"flex flex-col items-center justify-between gap-6 text-center lg:flex-row lg:text-left",children:[e.jsxs("div",{children:[e.jsx(c,{level:3,className:"mb-2",children:"Ready to get started?"}),e.jsx(d,{className:"mx-auto lg:mx-0",children:"Confirm scope on a discovery call, and HotelComply documents this module as part of your Compliance Package."}),e.jsx("div",{className:"mt-4 flex items-center justify-center gap-4 lg:justify-start",children:e.jsxs("div",{className:"flex items-center gap-2 font-geistMono text-mono n
1ormal-case tracking-normal text-[color:var(--gc-dim)]",children:[e.jsx(v,{className:"h-4 w-4",strokeWidth:1.5}),e.jsx("span",{children:"Works with any PMS"})]})})]}),e.jsxs(m,{variant:"primary",to:"/pricing",children:["View Plans",e.jsx(g,{className:"h-4 w-4",strokeWidth:1.5})]})]})})})]}),e.jsx(u,{})]})}function j(){const{slug:t}=i(),s=y.find(e=>e.slug===t);return s?e.jsx(w,{tile:s}):e.jsxs(a,{children:[e.jsx(r,{}),e.jsx(o,{children:e.jsxs(n,{className:"max-w-3xl space-y-6 text-center",children:[e.jsx(c,{level:1,className:"mx-auto",children:"Page not found"}),e.jsx(d,{className:"mx-auto",children:"The suite module you're looking for doesn't exist."}),e.jsx(m,{variant:"primary",to:"/resources",children:"Browse Resources"})]})}),e.jsx(u,{})]})}const b=y.map(e=>({path:`/suite/${e.slug}`,slug:e.slug,title:e.title}));export{j as default,b as suiteRoutes};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.