Data Classification Helper Tool

Advanced Data Classification Helper | Kloudbean Developer Tools

Advanced Data Classification Helper

Comprehensive data analysis with custom rules, export capabilities, and multi-regulation compliance checking.

Public
No restrictions, publicly available
Ex: Marketing materials, public documentation
Internal
Internal use only, low sensitivity
Ex: Internal memos, org charts
Confidential
Sensitive data, restricted access
Ex: Financial data, customer info
Restricted
Highly sensitive, strict controls
Ex: PII, medical records, secrets
1

Custom Detection Rules

Separate different texts with --- on a new line

Healthcare
HIPAA compliance patterns
Financial
PCI-DSS and banking patterns
Technology
API keys, credentials, secrets
Education
FERPA compliance patterns

Enhanced Features Overview

This advanced data classification tool now includes custom rule creation, batch processing capabilities, industry-specific templates, and comprehensive export options for professional reporting.

Custom Rules & Pattern Detection

Create organization-specific detection patterns using regular expressions. Perfect for identifying internal IDs, custom formats, or industry-specific data patterns that standard rules might miss.

Batch Processing Capabilities

Process multiple documents or datasets simultaneously. Separate different texts with '---' markers to analyze multiple sources in a single operation, perfect for large-scale audits.

Industry Templates

Pre-configured rule sets for different industries:

  • Healthcare: HIPAA-compliant patterns for medical data
  • Financial: PCI-DSS and banking regulation patterns
  • Technology: API keys, secrets, and technical credentials
  • Education: FERPA compliance for educational records

Export & Reporting Options

Generate professional reports in multiple formats including PDF, JSON, CSV, and HTML. Perfect for compliance documentation, audit trails, and sharing results with stakeholders.

Frequently Asked Questions

Q. How do custom rules work?
Custom rules use regular expressions to detect organization-specific patterns. The tool validates patterns and provides real-time feedback on matches.

Q. What's the batch processing limit?
There's no hard limit on batch processing since everything runs locally. Performance depends on your device's capabilities and data size.

Q. Are exported reports compliant-ready?
Exported reports include comprehensive analysis details suitable for compliance documentation, but should be reviewed by legal teams for specific regulatory requirements.

Q. Can I save and reuse custom rule sets?
Yes, custom rules are saved locally in your browser and persist between sessions. You can also export/import rule sets as JSON files.

Ready for enterprise-grade data security? Deploy with Kloudbean!

`; downloadFile(html, `data-classification-report-${currentAnalysis.id}.html`, 'text/html'); } function exportPDF() { // For PDF, we'll create a print-friendly HTML and suggest printing to PDF const printWindow = window.open('', '_blank'); printWindow.document.write(` Data Classification Report

Data Classification Report

Analysis ID: ${currentAnalysis.id}
Generated: ${new Date().toLocaleString()}
Classification Level: ${currentAnalysis.classification.toUpperCase()}
Risk Assessment: ${currentAnalysis.riskLevel.toUpperCase()} RISK
Confidence Score: ${currentAnalysis.confidence}%

Data Statistics

  • Word Count: ${currentAnalysis.wordCount}
  • Character Count: ${currentAnalysis.characterCount}
  • Line Count: ${currentAnalysis.lineCount}

Sensitive Data Detected

${currentAnalysis.sensitiveDataFound.length > 0 ? currentAnalysis.sensitiveDataFound.map(item => `
${item.type}: ${item.count} instances (${item.severity} severity)
Examples: ${item.examples.join(', ')}
` ).join('') : '

No sensitive data patterns detected.

'} ${currentAnalysis.customMatches.length > 0 ? `

Custom Rule Matches

${currentAnalysis.customMatches.map(item => `
${item.type}: ${item.count} matches
Examples: ${item.examples.join(', ')}
` ).join('')} ` : ''} ${currentAnalysis.complianceIssues.length > 0 ? `

Compliance Considerations

${currentAnalysis.complianceIssues.map(issue => `
${issue.regulation}: ${issue.severity} severity
Keywords: ${issue.keywords.join(', ')}
` ).join('')} ` : ''}

Security Recommendations

    ${currentAnalysis.recommendations.map(rec => `
  • ${rec}
  • `).join('')}

Report generated by Kloudbean Data Classification Helper

This report should be reviewed by qualified security and legal personnel.

`); printWindow.document.close(); setTimeout(() => { printWindow.print(); }, 500); showStatus('PDF report opened in new window. Use Ctrl+P or Cmd+P to save as PDF.', 'valid'); } function downloadFile(content, filename, contentType) { const blob = new Blob([content], { type: contentType }); const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = filename; document.body.appendChild(link); link.click(); document.body.removeChild(link); URL.revokeObjectURL(url); } // Statistics and history function saveAnalysisHistory(analysis) { analysisHistory.push(analysis); if (analysisHistory.length > 50) { // Keep only last 50 analyses analysisHistory = analysisHistory.slice(-50); } localStorage.setItem('analysisHistory', JSON.stringify(analysisHistory)); } function updateStats() { const totalAnalyses = analysisHistory.length; const highRiskCount = analysisHistory.filter(a => a.riskLevel === 'high').length; const totalPatterns = analysisHistory.reduce((sum, a) => sum + a.sensitiveDataFound.length + a.customMatches.length, 0); const totalComplianceIssues = analysisHistory.reduce((sum, a) => sum + a.complianceIssues.length, 0); document.getElementById('total-analyses').textContent = totalAnalyses; document.getElementById('high-risk-count').textContent = highRiskCount; document.getElementById('patterns-found').textContent = totalPatterns; document.getElementById('compliance-issues').textContent = totalComplianceIssues; } // Utility functions function updateLineNumbers() { const inputData = document.getElementById('input-data'); const lines = inputData.value.split('\n'); const count = Math.max(lines.length, 1); const lineNumbers = document.getElementById('line-numbers'); let lineNumbersContent = ''; for (let i = 1; i <= count; i++) { lineNumbersContent += i + '\n'; } lineNumbers.innerText = lineNumbersContent; inputData.style.height = 'auto'; inputData.style.height = (inputData.scrollHeight) + 'px'; } function syncScroll() { const inputData = document.getElementById('input-data'); document.getElementById('line-numbers').scrollTop = inputData.scrollTop; } function clearInput() { document.getElementById('input-data').value = ''; document.getElementById('status-message').style.display = 'none'; updateLineNumbers(); } function clearAll() { document.getElementById('input-data').value = ''; document.getElementById('batch-input').value = ''; document.getElementById('analysis-output').style.display = 'none'; document.getElementById('export-section').style.display = 'none'; document.getElementById('stats-grid').style.display = 'none'; document.getElementById('status-message').style.display = 'none'; // Clear classification selection document.querySelectorAll('.classification-card[data-level]').forEach(card => { card.classList.remove('selected'); }); selectedClassification = null; currentAnalysis = null; updateLineNumbers(); } function loadSampleData() { const samples = [ "John Doe\nSSN: 123-45-6789\nEmail: john.doe@company.com\nPhone: (555) 123-4567\nCredit Card: 4532 1234 5678 9012\nSalary: $75,000\nMedical Record: Patient diagnosed with hypertension\nAPI Key: sk_live_51H7qBK2eZvKYlo2C9VfrKZXJuMwX4k", "Healthcare Data:\nPatient ID: PT-123456\nMRN: MRN-789012\nDOB: 01/15/1985\nInsurance: BC-987654321\nDiagnosis: Type 2 Diabetes\nPrescription: RX-456789", "Financial Records:\nAccount Number: 1234567890\nRouting Number: 021000021\nSwift Code: CHASUS33\nIBAN: GB82WEST12345698765432\nTransaction ID: TXN-2023-001", "Employee Database:\nEmployee ID: EMP-2023\nSalary: $85,000\nSSN: 987-65-4321\nDepartment: Engineering\nStart Date: 2023-01-15\nEmail: employee@tech-company.com" ]; const currentTab = document.querySelector('.tab-content.active').id; const targetField = currentTab === 'batch-tab' ? 'batch-input' : 'input-data'; const separator = currentTab === 'batch-tab' ? '\n---\n' : ''; document.getElementById(targetField).value = currentTab === 'batch-tab' ? samples.join('\n---\n') : samples[Math.floor(Math.random() * samples.length)]; updateLineNumbers(); } function showStatus(message, status) { const statusDiv = document.getElementById('status-message'); statusDiv.textContent = message; statusDiv.className = `tool-status tool-${status}`; statusDiv.style.display = 'block'; setTimeout(() => { statusDiv.style.display = 'none'; }, 7000); } // Make functions globally available window.clearAll = clearAll; window.removeCustomRule = removeCustomRule;