npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@birhaus/compliance

v3.0.1

Published

BIRHAUS v3.0 Radical Minimalist Compliance Components - Glass morphism regulatory dashboards, audit trails & SEPRELAD compliance with Spanish-first support

Downloads

25

Readme

@birhaus/compliance

Regulatory compliance and audit trail components for BIRHAUS design system

npm version TypeScript Spanish-First SEPRELAD GDPR

Comprehensive React components for regulatory compliance, audit trails, and privacy management with built-in support for SEPRELAD, GDPR, and Spanish-first documentation.

🚀 Features

  • 🏛️ SEPRELAD Compliance - Paraguay financial reporting automation
  • 🔒 GDPR Privacy Controls - European privacy regulation support
  • 📋 Audit Trails - Complete action logging and timeline visualization
  • 🇪🇸 Spanish-First - Primary Spanish interface with regulatory terminology
  • 📊 Regulatory Reports - Automated compliance report generation
  • 🔍 Privacy Management - User consent and data protection tools
  • ♿ Accessibility - WCAG AA+ compliant components
  • ⚡ Real-time Monitoring - Live compliance violation detection
  • 📱 Responsive - Mobile-optimized compliance interfaces

📦 Installation

npm install @birhaus/compliance

# Peer dependencies
npm install react react-dom @birhaus/tokens @birhaus/primitives @birhaus/provider

🎯 Quick Start

import { 
  BirhausAuditTrail,
  BirhausPrivacyManager, 
  BirhausSEPRELADDashboard 
} from '@birhaus/compliance'

function ComplianceDashboard() {
  return (
    <div>
      {/* SEPRELAD Financial Compliance */}
      <BirhausSEPRELADDashboard
        transactions={transactionData}
        showAlerts={true}
        autoReport={true}
        locale="es-PY"
      />
      
      {/* Audit Trail Visualization */}
      <BirhausAuditTrail
        events={auditEvents}
        showFilters={true}
        titleEs="Registro de Actividades"
        exportFormats={['pdf', 'csv']}
      />
      
      {/* Privacy & GDPR Controls */}
      <BirhausPrivacyManager
        userConsents={userConsentData}
        showGDPRControls={true}
        allowDataExport={true}
        privacyPolicy="/privacy-policy"
      />
    </div>
  )
}

📋 Components

| Component | Purpose | Compliance Standards | |-----------|---------|---------------------| | BirhausSEPRELADDashboard | Paraguay financial reporting | SEPRELAD, Anti-Money Laundering | | BirhausAuditTrail | Action logging & timeline | SOX, ISO 27001, Audit Standards | | BirhausPrivacyManager | GDPR privacy controls | GDPR, CCPA, Data Protection | | BirhausComplianceChecklist | Regulatory requirement tracking | Custom compliance frameworks | | BirhausRegulatoryReport | Automated report generation | Multiple regulatory standards |

🏛️ SEPRELAD Dashboard

Complete Paraguay financial compliance automation:

import { BirhausSEPRELADDashboard } from '@birhaus/compliance'

function FinancialCompliance() {
  const transactions = [
    {
      id: '1',
      monto: 15000, // USD - triggers SEPRELAD reporting
      moneda: 'USD',
      tipo: 'transferencia',
      fecha: new Date(),
      origen: 'Juan Pérez',
      destino: 'María González',
      documentoIdentidad: '1.234.567'
    }
  ]

  return (
    <BirhausSEPRELADDashboard
      transactions={transactions}
      
      // Automatic threshold monitoring
      thresholdUSD={10000} // SEPRELAD threshold
      autoReport={true}    // Generate reports automatically
      
      // Real-time alerts
      showAlerts={true}
      alertTypes={['threshold', 'suspicious', 'incomplete']}
      
      // Spanish-first reporting
      reportLanguage="es"
      includeSpanishSummary={true}
      
      // Export capabilities
      showExport={true}
      exportFormats={['pdf', 'excel', 'csv']}
      
      // Audit integration
      onComplianceEvent={(event) => {
        console.log('SEPRELAD event:', event)
        // Log to audit trail
      }}
    />
  )
}

SEPRELAD Features

  • ✅ Threshold Monitoring - Automatic USD conversion and reporting
  • ✅ Suspicious Activity Detection - Pattern analysis for unusual transactions
  • ✅ Document Validation - CI, RUC, and passport verification
  • ✅ Report Generation - Official SEPRELAD format reports
  • ✅ Spanish Documentation - All reports in Spanish as required
  • ✅ Real-time Alerts - Immediate notification of reportable events
// Advanced SEPRELAD Configuration
<BirhausSEPRELADDashboard
  transactions={transactions}
  
  // Advanced monitoring
  suspiciousPatterns={{
    rapidTransfers: { limit: 5, timeframe: '1h' },
    roundNumbers: true,
    structuring: { threshold: 9500 }
  }}
  
  // Regulatory settings
  reportingEntity={{
    name: 'Banco Nacional de Paraguay',
    code: 'BNP001',
    supervisor: 'SEPRELAD'
  }}
  
  // Automatic escalation
  escalationRules={{
    amount: 50000, // USD
    frequency: 10,  // transactions per day
    alertEmail: '[email protected]'
  }}
/>

📋 Audit Trail

Complete audit trail visualization with Spanish-first documentation:

import { BirhausAuditTrail } from '@birhaus/compliance'

function AuditPage() {
  const auditEvents = [
    {
      id: '1',
      timestamp: '2024-08-21T10:30:00Z',
      actor: 'María García',
      actorId: 'user_123',
      action: 'transferencia.creada',
      entity: 'transferencia',
      entityId: 'trans_456',
      details: {
        monto: 500000,
        moneda: 'PYG',
        destino: 'Juan Pérez'
      },
      ipAddress: '192.168.1.100',
      userAgent: 'Mozilla/5.0...',
      status: 'success'
    }
  ]

  return (
    <BirhausAuditTrail
      events={auditEvents}
      
      // Spanish-first interface
      titleEs="Registro de Auditoría"
      titleEn="Audit Trail"
      emptyMessage="No hay actividades registradas"
      
      // Filtering capabilities
      showFilters={true}
      filters={{
        dateRange: true,
        actor: true,
        action: true,
        status: true
      }}
      
      // Search functionality  
      showSearch={true}
      searchFields={['actor', 'action', 'entity']}
      
      // Export options
      showExport={true}
      exportFormats={['pdf', 'csv', 'json']}
      
      // Real-time updates
      realTime={true}
      refreshInterval={30000} // 30 seconds
      
      // Compliance features
      showIntegrityCheck={true}
      signEvents={true} // Digital signatures
    />
  )
}

Audit Trail Features

  • 🔍 Search & Filter - Find specific events quickly
  • 📊 Timeline View - Chronological event visualization
  • 🔐 Integrity Protection - Tamper-evident audit logs
  • 📱 Mobile Optimized - Touch-friendly audit review
  • ⚡ Real-time Updates - Live event streaming
  • 📄 Export Options - Multiple format support

🔒 Privacy Manager

GDPR-compliant privacy controls and user consent management:

import { BirhausPrivacyManager } from '@birhaus/compliance'

function PrivacyDashboard() {
  const userConsents = [
    {
      userId: 'user_123',
      name: 'María García',
      email: '[email protected]',
      consents: {
        marketing: { granted: true, date: '2024-01-15' },
        analytics: { granted: false, date: '2024-01-15' },
        cookies: { granted: true, date: '2024-01-15' }
      },
      dataRequests: [
        {
          type: 'access',
          date: '2024-02-01',
          status: 'completed'
        }
      ]
    }
  ]

  return (
    <BirhausPrivacyManager
      userConsents={userConsents}
      
      // GDPR compliance
      showGDPRControls={true}
      gdprOptions={{
        allowDataAccess: true,
        allowDataPortability: true,
        allowDataDeletion: true,
        allowConsentWithdrawal: true
      }}
      
      // Spanish-first privacy
      privacyLabels={{
        dataAccess: { es: 'Acceso a Datos', en: 'Data Access' },
        dataPortability: { es: 'Portabilidad', en: 'Portability' },
        dataDeletion: { es: 'Eliminación', en: 'Deletion' }
      }}
      
      // Cookie management
      cookieCategories={[
        { key: 'essential', required: true, nameEs: 'Esenciales' },
        { key: 'analytics', required: false, nameEs: 'Analíticas' },
        { key: 'marketing', required: false, nameEs: 'Marketing' }
      ]}
      
      // Privacy policy integration
      privacyPolicyUrl="/politica-privacidad"
      termsOfServiceUrl="/terminos-servicio"
      
      // Audit integration
      onPrivacyEvent={(event) => {
        console.log('Privacy event:', event)
        // Log privacy actions for audit
      }}
    />
  )
}

GDPR Features

  • ✅ Consent Management - Granular user consent tracking
  • ✅ Data Access Requests - "Right to know" implementation
  • ✅ Data Portability - Export user data in standard formats
  • ✅ Data Deletion - "Right to be forgotten" automation
  • ✅ Cookie Controls - Granular cookie category management
  • ✅ Privacy Audit - Complete privacy action logging

📊 Regulatory Reports

Automated compliance report generation:

import { BirhausRegulatoryReport } from '@birhaus/compliance'

function ComplianceReporting() {
  return (
    <BirhausRegulatoryReport
      reportType="seprelad-monthly"
      
      // Data sources
      transactions={transactionData}
      entities={entityData}
      timeRange={{
        start: new Date('2024-08-01'),
        end: new Date('2024-08-31')
      }}
      
      // Report configuration
      includeGraphs={true}
      includeSummary={true}
      language="es" // Spanish-first reports
      
      // Template customization
      template={{
        logo: '/company-logo.png',
        header: 'Reporte Mensual SEPRELAD',
        footer: 'Documento Confidencial'
      }}
      
      // Export settings
      exportFormats={['pdf', 'excel']}
      autoEmail={{
        recipients: ['[email protected]'],
        subject: 'Reporte Mensual SEPRELAD - Agosto 2024'
      }}
      
      // Compliance validation
      validateBeforeExport={true}
      requiredFields={['entityName', 'reportingPeriod', 'transactionSummary']}
    />
  )
}

✅ Compliance Checklist

Track regulatory requirements across multiple frameworks:

import { BirhausComplianceChecklist } from '@birhaus/compliance'

function ComplianceTracking() {
  const requirements = [
    {
      id: 'seprelad-1',
      framework: 'SEPRELAD',
      requirement: 'Reportar transacciones > $10,000 USD',
      status: 'compliant',
      lastChecked: '2024-08-21',
      evidence: '/docs/seprelad-report-aug-2024.pdf'
    },
    {
      id: 'gdpr-1',
      framework: 'GDPR',
      requirement: 'Política de privacidad actualizada',
      status: 'pending',
      dueDate: '2024-09-01',
      assignee: 'Legal Team'
    }
  ]

  return (
    <BirhausComplianceChecklist
      requirements={requirements}
      
      // Framework filtering
      frameworks={['SEPRELAD', 'GDPR', 'SOX', 'ISO27001']}
      showFrameworkFilter={true}
      
      // Status tracking
      statusTypes={{
        compliant: { color: 'green', labelEs: 'Cumpliendo' },
        pending: { color: 'yellow', labelEs: 'Pendiente' },
        overdue: { color: 'red', labelEs: 'Vencido' }
      }}
      
      // Progress visualization
      showProgressBar={true}
      groupBy="framework"
      
      // Action management
      allowAddRequirement={true}
      allowStatusUpdate={true}
      allowEvidenceUpload={true}
      
      // Notifications
      sendReminders={true}
      reminderDays={[30, 7, 1]} // Days before due date
    />
  )
}

🔐 Data Protection Utilities

Additional utilities for data protection compliance:

import { 
  encryptSensitiveData,
  anonymizeUserData,
  validateDataRetention,
  generatePrivacyReport 
} from '@birhaus/compliance'

// Data encryption for storage
const encryptedData = encryptSensitiveData(userData, {
  algorithm: 'AES-256-GCM',
  keyRotation: true
})

// User data anonymization
const anonymizedData = anonymizeUserData(userData, {
  preserveFields: ['id', 'createdAt'],
  anonymizeFields: ['name', 'email', 'phone'],
  strategy: 'pseudonymization' // or 'randomization'
})

// Data retention compliance
const retentionCheck = validateDataRetention(dataset, {
  retentionPeriod: '7 years',
  category: 'financial',
  regulation: 'SEPRELAD'
})

// Privacy impact assessment
const privacyReport = generatePrivacyReport(dataProcessingActivity, {
  includeRiskAssessment: true,
  includeDataFlow: true,
  language: 'es'
})

🚨 Real-time Monitoring

Set up real-time compliance monitoring:

import { useComplianceMonitor } from '@birhaus/compliance'

function ComplianceMonitor() {
  const {
    violations,
    alerts,
    riskScore,
    subscribe,
    unsubscribe
  } = useComplianceMonitor({
    frameworks: ['SEPRELAD', 'GDPR'],
    realTime: true,
    alertThreshold: 'medium'
  })

  useEffect(() => {
    // Subscribe to compliance events
    const unsubscribeCallback = subscribe('seprelad', (event) => {
      if (event.severity === 'high') {
        // Send immediate alert
        sendAlert('High-risk SEPRELAD violation detected')
      }
    })

    return unsubscribeCallback
  }, [subscribe])

  return (
    <div className="space-y-4">
      {/* Risk Score Display */}
      <div className="p-4 bg-white rounded-lg">
        <h3>Puntuación de Riesgo: {riskScore}/100</h3>
        <div className={`h-2 rounded ${
          riskScore > 70 ? 'bg-red-500' : 
          riskScore > 40 ? 'bg-yellow-500' : 'bg-green-500'
        }`} />
      </div>

      {/* Active Violations */}
      {violations.map(violation => (
        <div key={violation.id} className="p-4 border-l-4 border-red-500">
          <h4>{violation.title}</h4>
          <p>{violation.description}</p>
          <span>Severidad: {violation.severity}</span>
        </div>
      ))}
    </div>
  )
}

🇪🇸 Spanish-First Compliance

All compliance terminology prioritizes Spanish language:

Regulatory Terminology

| Spanish | English | Context | |---------|---------|---------| | Cumplimiento | Compliance | General compliance | | Reporte Regulatorio | Regulatory Report | Official reporting | | Operación Sospechosa | Suspicious Activity | SEPRELAD reporting | | Consentimiento | Consent | GDPR privacy | | Portabilidad de Datos | Data Portability | User rights | | Derecho al Olvido | Right to be Forgotten | Data deletion |

Example Spanish-First Usage

<BirhausSEPRELADDashboard
  titleEs="Panel de Cumplimiento SEPRELAD"
  titleEn="SEPRELAD Compliance Dashboard"
  
  // Spanish regulatory terms
  alerts={{
    threshold: 'Umbral de Reporte Alcanzado',
    suspicious: 'Actividad Sospechosa Detectada',
    incomplete: 'Documentación Incompleta'
  }}
  
  // Spanish report sections
  reportSections={{
    summary: 'Resumen Ejecutivo',
    transactions: 'Transacciones Reportables',
    entities: 'Entidades Involucradas',
    recommendations: 'Recomendaciones'
  }}
/>

📱 Mobile Compliance

Mobile-optimized compliance interfaces:

<BirhausPrivacyManager
  // Mobile-first consent management
  mobileOptimized={true}
  
  // Touch-friendly controls
  touchTargets="large"
  
  // Simplified mobile UI
  mobileLayout={{
    hideSecondaryInfo: true,
    stackControls: true,
    expandableDetails: true
  }}
  
  // Mobile notifications
  pushNotifications={{
    consentUpdates: true,
    privacyRequests: true,
    dataBreaches: true
  }}
/>

🧪 Testing Compliance Components

import { render, screen } from '@testing-library/react'
import { BirhausAuditTrail } from '@birhaus/compliance'
import { complianceTestUtils } from '@birhaus/test-utils'

describe('BirhausAuditTrail', () => {
  it('should display audit events in Spanish', () => {
    render(
      <BirhausAuditTrail
        events={mockAuditEvents}
        titleEs="Registro de Auditoría"
      />
    )
    
    expect(screen.getByText('Registro de Auditoría')).toBeInTheDocument()
  })

  it('should meet SEPRELAD compliance requirements', async () => {
    const { container } = render(
      <BirhausSEPRELADDashboard transactions={mockTransactions} />
    )
    
    const complianceResult = await complianceTestUtils.validateSEPRELAD(container)
    expect(complianceResult.isCompliant).toBe(true)
  })
})

🚀 Performance & Security

  • Bundle Size: ~65KB gzipped (including crypto utilities)
  • Data Encryption: AES-256-GCM for sensitive data
  • Audit Integrity: SHA-256 hashing for tamper detection
  • Real-time Processing: WebSocket-based compliance monitoring
  • Secure Storage: Encrypted local storage for temporary data

🐛 Troubleshooting

Common Issues

SEPRELAD reports not generating

// Ensure transaction data has required fields
const transaction = {
  monto: 15000,
  moneda: 'USD', // Required for USD conversion
  documentoIdentidad: '1.234.567', // Required for reporting
  tipoDocumento: 'CI' // Required field
}

GDPR consent not saving

// Ensure BirhausProvider is configured
<BirhausProvider 
  compliance={{
    gdpr: true,
    cookieConsent: true
  }}
>
  <App />
</BirhausProvider>

Audit events not displaying

// Check date format for audit events
const auditEvent = {
  timestamp: new Date().toISOString(), // ISO format required
  // ... other fields
}

🤝 Contributing

We welcome contributions! Please see our Contributing Guide.

Compliance Standards

When contributing to compliance features:

  • Follow SEPRELAD documentation standards
  • Implement GDPR requirements completely
  • Maintain Spanish-first language priority
  • Include comprehensive audit logging
  • Add proper security measures

📄 License

MIT © BIRHAUS Team


Cumplimiento regulatorio simplificado con BIRHAUS 🏛️🇪🇸