# Requirements Archive: SharePoint Toolbox v2.2 Report Branding & User Directory **Defined:** 2026-04-08 **Completed:** 2026-04-09 **Coverage:** 11/11 requirements complete ## Requirements ### Report Branding - [x] **BRAND-01**: User can import an MSP logo in application settings (global, persisted across sessions) - [x] **BRAND-02**: User can preview the imported MSP logo in settings UI - [x] **BRAND-03**: User can import a client logo per tenant profile - [x] **BRAND-04**: User can auto-pull client logo from tenant's Entra branding API - [x] **BRAND-05**: All five HTML report types display MSP and client logos in a consistent header - [x] **BRAND-06**: Logo import validates format (PNG/JPG) and enforces 512 KB size limit ### User Directory - [x] **UDIR-01**: User can toggle between search mode and directory browse mode in user access audit tab - [x] **UDIR-02**: User can browse full tenant user directory with pagination (handles 999+ users) - [x] **UDIR-03**: User can filter directory by user type (member vs guest) - [x] **UDIR-04**: User can see department and job title columns in directory list - [x] **UDIR-05**: User can select one or more users from directory to run the access audit ## Traceability | Requirement | Phase | Status | Notes | |-------------|-------|--------|-------| | BRAND-01 | Phase 10 | Complete | Base64 JSON persistence via BrandingRepository | | BRAND-02 | Phase 12 | Complete | Base64ToImageSourceConverter + live preview | | BRAND-03 | Phase 10 | Complete | Per-tenant logo on TenantProfile | | BRAND-04 | Phase 11 | Complete | Entra bannerLogo stream endpoint | | BRAND-05 | Phase 11 | Complete | BrandingHtmlHelper + optional param on all 5 services | | BRAND-06 | Phase 10 | Complete | Magic-byte validation, 512 KB limit, auto-compression | | UDIR-01 | Phase 13 | Complete | IsDirectoryBrowseMode toggle property | | UDIR-02 | Phase 13 | Complete | PageIterator pagination via GraphUserDirectoryService | | UDIR-03 | Phase 13 | Complete | In-memory ICollectionView filter | | UDIR-04 | Phase 13 | Complete | Sortable Department/JobTitle columns | | UDIR-05 | Phase 14 | Complete | SelectDirectoryUserCommand + double-click handler | ## Deferred to Future Milestones - **BRAND-F01**: PDF export with embedded logos - **BRAND-F02**: Custom report title/footer text per tenant - **UDIR-F01**: Session-scoped directory cache (avoid re-fetching on tab switch) - **UDIR-F02**: Export user directory list to CSV ## Out of Scope | Feature | Reason | |---------|--------| | CSV report branding | CSV is data-only format; logos don't apply | | Logo in application title bar | Not a report branding concern; separate UX decision | | User directory as standalone tab | Directory browse is a mode within existing user access audit tab | | Real-time directory sync | One-time load with manual refresh is sufficient for audit workflows | --- *Archived: 2026-04-09*