Governance & Admin Views
Provide specialized views for compliance and records management teams.
Retention & Classification Console
Retention Categories Table
| Category | Duration | Regulatory Basis | Doc Count |
|---|---|---|---|
| Patient records | 6 years | HIPAA 45 CFR 164.316(b)(2)(i) | 1,234 |
| Trading records | 7 years | SEC 17a-4 | 567 |
| Financial statements | 7 years | SEC 17a-4 | 89 |
| HR records | 7 years | State law varies | 456 |
Metrics
- Counts of Markdown docs per category
- Upcoming destruction/archival events
- Documents approaching retention expiry
Records Monitor
Dashboard Panels
| Panel | Content |
|---|---|
| Approaching Review | Items due for periodic review |
| Approaching Expiry | Documents past retention date |
| On Legal Hold | Documents with active holds |
| Exceptions | Missing 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
| Report | Description |
|---|---|
| PHI Access (30 days) | All access to PHI-classified documents |
| SEC Procedure Changes | Modifications to SEC-relevant procedures |
| Failed Access Attempts | Denied access requests |
| Legal Hold Activity | Hold placements and releases |
| Retention Actions | Archival and destruction events |
Markdown Source Management
For Git-Backed Repositories
| Feature | Description |
|---|---|
| Repository sync status | Connection to Git repo |
| Branch mappings | Draft vs approved branches |
| Import/export | Bulk operations |
| Migration helpers | Import 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;
}