Skip to main content

Governance & Admin Views

Provide specialized views for compliance and records management teams.

Retention & Classification Console

Retention Categories Table

CategoryDurationRegulatory BasisDoc Count
Patient records6 yearsHIPAA 45 CFR 164.316(b)(2)(i)1,234
Trading records7 yearsSEC 17a-4567
Financial statements7 yearsSEC 17a-489
HR records7 yearsState law varies456

Metrics

  • Counts of Markdown docs per category
  • Upcoming destruction/archival events
  • Documents approaching retention expiry

Records Monitor

Dashboard Panels

PanelContent
Approaching ReviewItems due for periodic review
Approaching ExpiryDocuments past retention date
On Legal HoldDocuments with active holds
ExceptionsMissing classification/retention

Exception Types

  • Content missing classification
  • Missing retention category
  • Missing regulatory mapping
  • Incomplete metadata
  • Orphaned documents

Audit & Reporting

Searchable Audit Log

Filters:

  • User
  • Document
  • Action type
  • Regulation context
  • Date range

Pre-Built Reports

ReportDescription
PHI Access (30 days)All access to PHI-classified documents
SEC Procedure ChangesModifications to SEC-relevant procedures
Failed Access AttemptsDenied access requests
Legal Hold ActivityHold placements and releases
Retention ActionsArchival and destruction events

Markdown Source Management

For Git-Backed Repositories

FeatureDescription
Repository sync statusConnection to Git repo
Branch mappingsDraft vs approved branches
Import/exportBulk operations
Migration helpersImport from Confluence/Markdown tools

Integration Points

  • Docmost import
  • Confluence migration
  • Git webhook triggers
  • Object storage sync

Component Structure

// RetentionConsole.tsx
interface RetentionConsoleProps {
categories: RetentionCategory[];
documentCounts: Record<string, number>;
upcomingEvents: RetentionEvent[];
}

// RecordsMonitor.tsx
interface RecordsMonitorProps {
approachingReview: Document[];
approachingExpiry: Document[];
onLegalHold: Document[];
exceptions: DocumentException[];
}

// AuditLogViewer.tsx
interface AuditLogViewerProps {
logs: AuditLogEntry[];
filters: AuditLogFilter;
onFilterChange: (filters: AuditLogFilter) => void;
onExport: (format: 'csv' | 'json') => void;
}

// ReportRunner.tsx
interface ReportRunnerProps {
availableReports: ReportDefinition[];
onRunReport: (reportId: string, params: ReportParams) => void;
recentReports: ReportResult[];
}

// GitSyncStatus.tsx
interface GitSyncStatusProps {
connected: boolean;
lastSync: Date;
branchMappings: BranchMapping[];
onSync: () => void;
}

References