{"id":610,"date":"2025-12-12T16:35:19","date_gmt":"2025-12-12T16:35:19","guid":{"rendered":"https:\/\/www.goldkom.se\/?page_id=610"},"modified":"2025-12-15T20:35:31","modified_gmt":"2025-12-15T20:35:31","slug":"goldkom-privacy-health-check","status":"publish","type":"page","link":"https:\/\/www.goldkom.se\/home\/knowledge-hub\/goldkom-privacy-health-check\/","title":{"rendered":"GoldKom Privacy Health Check"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n<!-- Privacy Health Check Full Version -->\n<div id=\"privacy-healthcheck\" style=\"font-family:Calibri, sans-serif; max-width:900px; margin:auto;\">\n\n  <!-- Questions Section -->\n  <div id=\"questions\"><\/div>\n\n  <!-- Heat Map -->\n  <h3>Privacy Heat Map<\/h3>\n  <div id=\"heatmap\" style=\"display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;\"><\/div>\n\n  <!-- Download Button -->\n  <button id=\"downloadPDF\" style=\"padding:8px 18px; background:#2F085B; color:#fff; border:none; border-radius:2px; cursor:pointer; margin-bottom:10px;\">\n    Download My Results\n  <\/button>\n\n  <!-- Legend -->\n  <div style=\"margin-top:20px;\">\n    <span style=\"background:#0f3633;color:#fff;padding:16px 16px;margin-right:5px;border-radius:2px;\">Green \u2013 All Good<\/span>\n    <span style=\"background:#c70e0e;color:#fff;padding:16px 16px;border-radius:2px;\">Red \u2013 Action Needed<\/span>\n  <\/div>\n<\/div>\n\n<!-- jsPDF Library -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<script>\n\/\/ Categories and Questions\nconst categories = [\n  { name:\"Setup\", benefit:\"Your devices are configured safely from the start.\", questions:[\n      {text:\"Do you use unique passwords for each device\/account?\", mitigation:\"Create unique strong passwords and enable 2FA. On most devices: Settings \u2192 Security \u2192 Password.\"},\n      {text:\"Do you review permissions at setup?\", mitigation:\"Revisit device permissions and disable unnecessary access. Usually in Settings \u2192 Privacy or Apps \u2192 Permissions.\"}\n  ]},\n  { name:\"Everyday Use\", benefit:\"Daily usage keeps your data private and secure.\", questions:[\n      {text:\"Do you keep devices\/mics\/cameras off when not needed?\", mitigation:\"Turn off or mute devices when idle. Typically in Settings \u2192 Device\/Camera\/Microphone \u2192 Toggle Off.\"},\n      {text:\"Do you limit AI assistants from collecting unnecessary data?\", mitigation:\"Disable optional data collection or training in AI apps. Often in Settings \u2192 AI Assistant \u2192 Data & Privacy \u2192 Training\/History.\"},\n      {text:\"Do you regularly review what data apps and devices collect?\", mitigation:\"Check dashboards or app settings. Usually in Settings \u2192 Privacy \u2192 Data Collection.\"}\n  ]},\n  { name:\"Sharing\", benefit:\"Data sharing is minimal and fully under your control.\", questions:[\n      {text:\"Do you control which third parties your devices share data with?\", mitigation:\"Revoke or limit third-party integrations. Usually in Settings \u2192 Connected Apps \/ Accounts \/ Integrations.\"},\n      {text:\"Do you review connected apps regularly?\", mitigation:\"Remove unnecessary integrations. Typically in Settings \u2192 Apps \u2192 Connected\/Authorized Apps.\"}\n  ]},\n  { name:\"Deletion\", benefit:\"Logs and history are regularly cleared for privacy.\", questions:[\n      {text:\"Do you regularly delete logs, history, or voice recordings?\", mitigation:\"Enable auto-deletion or manually clear history. Usually in Settings \u2192 Privacy \u2192 History \/ Activity \/ Logs \u2192 Clear \/ Auto-delete.\"},\n      {text:\"Do you factory reset devices before selling or gifting?\", mitigation:\"Follow manufacturer steps for full reset. Typically in Settings \u2192 System \u2192 Reset \/ Factory Reset.\"}\n  ]},\n  { name:\"Accounts & Access\", benefit:\"Access is restricted to trusted users only.\", questions:[\n      {text:\"Are device accounts restricted to trusted users?\", mitigation:\"Set strong passwords, 2FA, and remove unknown users. Check Settings \u2192 Accounts \u2192 User Management \/ Access.\"},\n      {text:\"Do you avoid shared accounts or manage guest\/family permissions?\", mitigation:\"Create guest profiles or restrict access. Usually in Settings \u2192 Users \/ Guest Mode \/ Family & Parental Controls.\"}\n  ]}\n];\n\n\/\/ Render Questions\nconst qContainer = document.getElementById(\"questions\");\ncategories.forEach((cat, ci)=>{\n  const catDiv = document.createElement(\"div\");\n  catDiv.style.marginBottom=\"20px\";\n  const title = document.createElement(\"h4\"); title.textContent=cat.name;\n  catDiv.appendChild(title);\n  cat.questions.forEach((q,qi)=>{\n    const qDiv = document.createElement(\"div\"); qDiv.style.marginBottom=\"8px\";\n    const label = document.createElement(\"label\"); label.style.marginRight=\"10px\"; label.textContent=q.text;\n\n    const yes = document.createElement(\"input\"); yes.type=\"radio\"; yes.name=`cat${ci}-q${qi}`; yes.value=\"yes\"; yes.addEventListener(\"change\",updateHeatmap);\n    const no = document.createElement(\"input\"); no.type=\"radio\"; no.name=`cat${ci}-q${qi}`; no.value=\"no\"; no.addEventListener(\"change\",updateHeatmap);\n\n    const yesLabel = document.createElement(\"span\"); yesLabel.textContent=\" Yes\"; yesLabel.style.marginRight=\"10px\";\n    const noLabel = document.createElement(\"span\"); noLabel.textContent=\" No\";\n\n    qDiv.appendChild(label); qDiv.appendChild(yes); qDiv.appendChild(yesLabel); qDiv.appendChild(no); qDiv.appendChild(noLabel);\n    catDiv.appendChild(qDiv);\n  });\n  qContainer.appendChild(catDiv);\n});\n\n\/\/ Render Heatmap\nconst heatmap = document.getElementById(\"heatmap\");\ncategories.forEach((cat,ci)=>{\n  const container = document.createElement(\"div\"); container.style.flex=\"1 1 150px\"; container.style.display=\"flex\"; container.style.flexDirection=\"column\"; container.style.alignItems=\"center\";\n\n  const tile = document.createElement(\"div\"); tile.id=`tile-${ci}`; tile.textContent=cat.name;\n  tile.style.width=\"150px\"; tile.style.minHeight=\"100px\"; tile.style.display=\"flex\"; tile.style.alignItems=\"center\"; tile.style.justifyContent=\"center\";\n  tile.style.background=\"#0f3633\"; tile.style.color=\"#fff\"; tile.style.fontWeight=\"bold\"; tile.style.borderRadius=\"2px\"; tile.style.padding=\"10px\"; tile.style.cursor=\"pointer\"; tile.style.transition=\"background 0.3s\";\n  container.appendChild(tile);\n\n  const textDiv = document.createElement(\"div\"); textDiv.id=`text-${ci}`; textDiv.style.marginTop=\"5px\"; textDiv.style.fontSize=\"12px\"; textDiv.style.whiteSpace=\"pre-line\"; textDiv.style.textAlign=\"center\"; textDiv.style.color=\"#333\"; textDiv.style.maxHeight=\"100px\"; textDiv.style.overflow=\"hidden\"; textDiv.style.transition=\"max-height 0.4s ease, padding 0.4s ease\"; textDiv.textContent=cat.benefit;\n  container.appendChild(textDiv);\n\n  heatmap.appendChild(container);\n});\n\n\/\/ Update Heatmap Function\nfunction updateHeatmap(){\n  categories.forEach((cat,ci)=>{\n    let anyNo=false; let mitigationText=\"\";\n    cat.questions.forEach((q,qi)=>{\n      const radios=document.getElementsByName(`cat${ci}-q${qi}`);\n      radios.forEach(r=>{if(r.checked && r.value===\"no\"){anyNo=true; mitigationText+=\"- \"+q.mitigation+\"\\n\";}});\n    });\n    const tile=document.getElementById(`tile-${ci}`);\n    const textDiv=document.getElementById(`text-${ci}`);\n    if(anyNo){\n      tile.style.background=\"#c70e0e\"; \n      textDiv.textContent=mitigationText; \n      textDiv.style.maxHeight=\"300px\"; textDiv.style.paddingTop=\"5px\"; textDiv.style.paddingBottom=\"5px\";\n    } else{\n      tile.style.background=\"#0f3633\"; \n      textDiv.textContent=cat.benefit;\n      textDiv.style.maxHeight=\"100px\"; textDiv.style.paddingTop=\"0px\"; textDiv.style.paddingBottom=\"0px\";\n    }\n  });\n}\n\n\/\/ PDF Export Function with Heatmap Colors\ndocument.getElementById(\"downloadPDF\").addEventListener(\"click\",()=>{\n  const { jsPDF } = window.jspdf;\n  const doc = new jsPDF();\n  let y=14; doc.setFontSize(12); doc.text(\"Privacy Health Check Results\",14,y); y+=12;\n\n  categories.forEach((cat,ci)=>{\n    \/\/ Determine tile color\n    const tile = document.getElementById(`tile-${ci}`);\n    const color = tile.style.background;\n    doc.setFillColor(color); doc.rect(10,y-5,180,8,'F'); \/\/ color bar\n    doc.setFontSize(12); doc.setTextColor(255,255,255); doc.text(cat.name,12,y); y+=12;\n\n    const radios = cat.questions.map((q,qi)=>{\n      const r = document.getElementsByName(`cat${ci}-q${qi}`);\n      let val=\"Unanswered\"; r.forEach(rb=>{if(rb.checked) val=rb.value.toUpperCase();}); \n      return {question:q.text, answer:val, mitigation:q.mitigation};\n    });\n\n    radios.forEach(rq=>{\n      doc.setFontSize(10); doc.setTextColor(0,0,0);doc.setTextAlign=\"left\";\n      doc.text(\"- \"+rq.question,16,y); y+=6;\n      doc.text(\"  Answer: \"+rq.answer,12,y); y+=6;\n      if(rq.answer===\"NO\") { doc.text(\"  Mitigation: \"+rq.mitigation,12,y); y+=6;}\n      if(y>250){doc.addPage(); y=10;}\n    });\n    y+=5;\n  });\n\n  doc.save(\"Privacy_Health_Check_Results.pdf\");\n});\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Privacy Heat Map Download My Results Green \u2013 All Good Red \u2013 Action Needed<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":374,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"saved_in_kubio":true,"footnotes":""},"class_list":["post-610","page","type-page","status-publish","hentry"],"kubio_ai_page_context":{"short_desc":"","purpose":"general"},"_links":{"self":[{"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/pages\/610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/comments?post=610"}],"version-history":[{"count":0,"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/pages\/610\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/pages\/374"}],"wp:attachment":[{"href":"https:\/\/www.goldkom.se\/home\/wp-json\/wp\/v2\/media?parent=610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}