- GroupBy (Users, PermissionLevels, GrantedThrough) to merge duplicate entries - Pipe-joins URLs and Titles for merged rows - RFC 4180 CSV escaping: all fields double-quoted, internal quotes doubled - WriteAsync uses UTF-8 with BOM for Excel compatibility - All 3 CsvExportServiceTests pass