Cybersecurity Policy Compliance Tracker

Cybersecurity Policy Compliance Tracker

Assess your organization's adherence to key cybersecurity controls.

Organization Information

Access Control Checklist

Data Protection Checklist

Incident Response Checklist

Compliance Status Report

Your compliance report will appear here once you've completed the checklists.

Disclaimer: This tool is for informational purposes and provides a high-level overview. It is not a substitute for a formal cybersecurity audit or legal advice. Consult with qualified cybersecurity and legal professionals.

Organization: ${orgName} | Review Date: ${reviewDate}

`; const generateSection = (title, checklistId) => { let sectionHTML = `

${title}

`; const items = document.querySelectorAll(`#${checklistId} .checklist-item`); items.forEach(item => { const question = item.dataset.question; const status = item.querySelector('select').value; const notes = item.querySelector('input').value || ''; const statusClass = `status-${status.toLowerCase().replace(/ /g, '-')}`; sectionHTML += ``; }); sectionHTML += `
Control ItemStatusNotes
${question}${status}${notes}
`; return sectionHTML; }; reportHTML += generateSection('Access Control', 'access-control-checklist'); reportHTML += generateSection('Data Protection', 'data-protection-checklist'); reportHTML += generateSection('Incident Response', 'incident-response-checklist'); document.getElementById('reportPreview').innerHTML = reportHTML; document.getElementById('pdf-content-wrapper').innerHTML = reportHTML; } /** * Downloads the generated report as a PDF file. */ async function downloadPDF() { const { jsPDF } = window.jspdf; const pdfContent = document.getElementById('pdf-render-area'); if (!pdfContent) return; downloadPdfBtn.textContent = 'Generating...'; downloadPdfBtn.disabled = true; pdfContent.classList.remove('hidden'); try { const canvas = await html2canvas(pdfContent, { scale: 2 }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'in', format: 'letter' }); const imgProps = pdf.getImageProperties(imgData); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width; pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight); pdf.save('Cybersecurity_Compliance_Report.pdf'); } catch (error) { console.error('Error generating PDF:', error); } finally { pdfContent.classList.add('hidden'); downloadPdfBtn.textContent = 'Download Report as PDF'; downloadPdfBtn.disabled = false; } } // --- EVENT LISTENERS --- downloadPdfBtn.addEventListener('click', downloadPDF); // --- INITIALIZATION --- populateChecklists(); showTab(currentTab); });
Scroll to Top