Changelog
Track the evolution of Entra Cards
v1.6.4 Guest User Insights
February 10, 2026š„ Guest & External User Analytics
- Guest User Dashboard - New Admin page providing a complete overview of all guest and external users in your tenant
- Domain Analysis - See which external organizations your guest users belong to
- Cost Visibility - Understand the licensing cost impact of your guest users
- Trend Tracking - Monitor how your guest user population evolves over time with historical charts
- Filtering & Search - Quickly find guests by domain, license status, or account state
š Bug Fixes
- Improved authentication handling across Admin pages
- Minor UI stability improvements
v1.6.3 Bulk Updates & Enhanced SKU Insights
February 3, 2026š Bulk User Update
- Excel Export - Export user data to Excel for offline editing
- PowerShell Import - Import updated user data back to Entra ID
- Manager Support - Update manager assignments via bulk update
- Field Clearing - Use #CLEAR# directive to remove field values
š Data Quality Enhancements
- Manager Scoring - Manager field now part of data quality score
- Export Tracking - Excel export usage tracked anonymously on frontpage KPI
- Executive Exemption - Allows one top executive without manager
š SKU Insights Improvements
- All Microsoft SKUs - View and compare all 700+ Microsoft licenses
- Alternative Comparison - Compare current licenses with Microsoft alternatives
- Visual Indicators - SKUs not in your environment clearly marked
- Search Filter - Quickly find specific SKUs with search box
- Overlap Combinations - Select common SKU pairs with shared service plans
š Bug Fixes
- Bug fixes and performance improvements
v1.6.2 License Anomaly Detection & Pricing Management
January 28, 2026š Smart Anomaly Detection
- Peer Group Analysis - Compares users to colleagues with the same department and job title
- Over-licensed Detection - Identifies users with premium licenses their peers don't have
- Under-licensed Detection - Flags users missing licenses that peers have
- Unique Configuration - Highlights users with no comparable peer group
- Cost Outlier Analysis - Uses statistical analysis (2+ standard deviations) to find cost anomalies
- Potential Savings Calculator - Shows monthly cost difference from peer average
š° Pricing Management System
- DB Storage - License prices stored in DB with SKU-based partitioning
- Admin Interface - New Pricing tab for managing monthly cost per user (USD)
- Add/Edit/Delete - Full CRUD operations for license pricing data
- Community driven pricing - No hardcoded estimates, community can add actual contract pricing
- Audit Trail - Tracks when prices were last updated
- USD Currency - All prices specified in United States Dollars
š Enhanced User Experience
- Inline Expansion - Anomaly details expand directly below each row for easy viewing
- Dark Mode Support - Proper background colors for expanded sections in dark mode
- Filter & Sort - Filter by anomaly type, severity, department; sort by name, cost, or savings
- Severity Badges - Color-coded High/Medium/Low severity indicators
- Peer Comparison - Side-by-side view of user licenses vs. peer group standard
šÆ Cost-Based Insights
- Optional Pricing - Anomaly detection works without pricing (non-cost anomalies only)
- Accurate Analysis - Cost calculations only use licenses with configured prices
- Organization-Specific - Each organization can set their actual Microsoft contract pricing
v1.6.1 License Overlap Detection
January 28, 2026š° Cost Optimization
- Overlap Detection - Identifies users with redundant licenses
- Smart Analysis - Compares service plans between licenses to find real overlaps, not just shared infrastructure
- Overlap KPI - Dashboard shows count of users with overlapping licenses at a glance
- Overlap Filter - Filter users by overlap status (Has Overlap / No Overlap) on Users tab
- Sortable Table - Sort users by name, company, or overlap count for easy analysis
šÆ How It Works
- Service Plan Comparison - Analyzes which specific services each license includes
- Infrastructure Exclusion - Ignores common platform services (Exchange Foundation, Purview Discovery) to avoid false positives
- Dual Criteria - Flags overlap if ā„50% of plans match OR ā„30% with at least 3 shared plans
- Real-World Examples - Detects cases like Power BI Pro + Microsoft 365 E5 (E5 already includes Pro)
š Enhanced User Experience
- Clickable KPIs - Click any dashboard metric to navigate to the relevant tab
- Reordered Layout - KPIs now arranged: Total Users ā Companies ā Unique Licenses ā Overlap ā Assignments
- Visual Indicators - Warning badge shows overlap count with tooltip listing specific conflicting licenses
v1.6.0 Data Quality Score v2 - Quadratic Penalty Model
January 26, 2026šÆ Revolutionary Scoring Algorithm
- Quadratic Penalties - Minor gaps forgiven, severe issues penalized exponentially (f(p) = p²)
- 4 Independent Penalty Pools - Completeness (max -55), Integrity (max -20), Hygiene (max -15), Concentration (max -10)
- Early Tolerance - No penalties when less than 5% of data is missing
- Explainable Scores - Each penalty category clearly displayed and trackable over time
š Completeness Analysis (Max -55 pts)
- Weighted Fields - Job Title (10), Department (10), City (7), Country (6), Street (6), Postal (6), Company (5), Office (5)
- Smart Penalties - 20% missing = -0.8 pts instead of -4 pts linear
- Severe Gap Detection - 80% missing = -12.8 pts (exponential impact)
š Integrity Validation (Max -20 pts)
- Cross-Field Logic - Detects City without Country (-5 pts)
- Structural Consistency - Flags Office without Street/Postal (-5 pts)
- Hierarchy Checks - Department without Job Title (-4 pts)
- ISO Compliance - Validates 2-letter country codes (-3 pts)
- Company Context - Location fields require Company (-3 pts)
⨠Hygiene Quality (Max -15 pts)
- UPN Format - Detects mixed-case UserPrincipalName (-5 pts)
- Whitespace Issues - Finds leading/trailing spaces in DisplayName, JobTitle, Department (-3 pts)
- Name Derivation - Validates DisplayName matches GivenName + Surname (-3 pts)
- Domain Quality - Flags public email domains like Gmail, Yahoo (-2 pts)
- Legacy Detection - Identifies .onmicrosoft.com usage (-2 pts)
šÆ Concentration Penalty (Max -10 pts)
- Ghost Account Detection - Identifies users missing ā„4 attributes
- Threshold Trigger - Activates when >10% of users are incomplete
- Exponential Impact - 30% incomplete users = -0.9 pts (prevents score gaming)
š Enhanced Trend Tooltips
- Detailed Breakdown - Hover shows all 4 penalty categories with subtotals
- Precision Display - Decimal values (e.g., -2.3 pts) for accuracy
- Organized Structure - Grouped by Completeness, Integrity, Hygiene, Concentration
v1.5.4 Data Quality Trends
January 26, 2026š Data Quality Analytics
- Historical Trend Tracking - View how your organization's data quality score has evolved over time
- Detailed Insights - Hover over any data point to see total users and exact penalty breakdown
- KPI Dashboard - Four key metrics at a glance: Latest Score, High Score, Low Score, and Average Score
- Automatic Collection - Daily snapshots captured and stored anonymously when you view the Data Quality page
- Organized Tabs - Clean separation between Overview, Trends, and Help content
š Trend Visualization
- Interactive Charts - Smooth line graphs showing score progression
- Penalty Details - See which fields are impacting your score most (job title, department, location, etc.)
- Progress Tracking - Monitor improvements as your team updates Entra ID profiles
v1.5.3 License Trends & Historical Analytics
January 24, 2026š License Trend Tracking
- New Trends Tab - Dedicated tab in License Management for historical license data visualization
- Automatic Data Collection - Daily snapshots saved automatically when viewing License Management pages
- Interactive Line Charts - View how license usage has evolved over time with responsive charts
- Top 10 License Display - Trend lines shown for the 10 most-used licenses in your organization
- Unlimited History - No time limit on historical data - view complete license evolution from day one
- Auto-Load on Tab Switch - Trend data loads automatically when you switch to the Trends tab
š Privacy-First Architecture
- SHA-256 Tenant Hashing - Tenant IDs cryptographically hashed before storage (irreversible)
- Anonymous Data Collection - Original tenant identifiers cannot be recovered from stored hashes
- Daily Upsert Logic - One record per tenant per day prevents data bloat and reduces costs
- Transparent Privacy Info - Detailed explanation of privacy measures shown in Trends tab
š” Business Intelligence Features
- Usage Pattern Identification - Spot seasonal trends and organizational changes in license usage
- Cost Optimization Insights - Identify opportunities to reduce license spend based on historical patterns
- Capacity Planning - Forecast future license needs based on growth trends
- Impact Analysis - Track how organizational changes affect license distribution
- Tenant Hash Display - Shows first 16 characters of tenant hash for data transparency
š§ Technical Implementation
- Fire-and-Forget Saves - Background task saves snapshots without blocking page load
- UTC Date Consistency - Charts display dates in UTC (YYYY-MM-DD) to avoid timezone confusion
šØ User Experience
- Loading States - Spinner and status messages during data loading
- Empty State Guidance - Helpful message when no historical data exists yet
- Color-Coded Lines - Each license shown in distinct color for easy identification
- Responsive Design - Charts adapt to different screen sizes
v1.5.2 Role-Based Access Control
January 23, 2026š Security & Access Control
- Admin Role Requirement - License Management and Data Quality features now require the Admin role
- Entra AD App Roles - Leverage native Entra ID roles for secure, tenant-specific access control
- Self-Service Role Assignment - Each tenant administrator can assign the Admin role to their users independently
- Friendly Access Denied Page - Non-admin users get a helpful page explaining the features and how to request access
- Discovery-Friendly UI - Admin menu visible to all users with lock icon to advertise premium features
š Documentation
- Admin Setup Guide - Comprehensive guide for tenant admins on assigning the Admin role
- Step-by-Step Instructions - Clear walkthrough for Entra ID Portal configuration
- Best Practices - Guidance on using groups and principle of least privilege
- Troubleshooting Section - Common issues and solutions for role assignment
⨠User Experience
- Help Tab - Added Help tab to License Management with detailed usage guidance for each feature
- Color-Coded Licenses - Users tab now shows licenses in unique colors for easier visual comparison
- Alphabetically Sorted Licenses - Licenses per user displayed in A-Z order
- Chart Tooltip Fix - Fixed z-index issue where tooltips were hidden behind X-axis labels
- Permission Info - Utilization tab shows which special permission was used to access data
š§ Technical Improvements
- Multi-Tenant RBAC - Each tenant controls access independently using Entra ID app roles
- No Database Required - Role assignments stored in Entra ID
- Audit Trail - All role assignments logged in Entra ID for compliance
- Scalable Architecture - Works seamlessly for any number of tenants
v1.5.1 License Utilization Enhancements
January 23, 2026⨠New Features
- Utilization - Gives information about license utilization in the tenant and marks licenses not utilized
- Sortable Columns - Click any column header in the Utilization tab to sort by that field
- Status Logic - Status highlights license waste (low utilization = critical)
- Waste Detection Focus - Red/yellow indicators show when you're paying for unused licenses
š Bug Fixes
- Incremental Consent - Organization.Read.All permission properly requested after user consent
- Tab Navigation Fix - After granting permission, you're redirected back to the Utilization tab
š” Improvements
- Better Cost Awareness - Status indicators now help identify wasted spending on unused licenses
v1.5.0 License Management Module
January 23, 2026⨠New Features
- License Management Page - Comprehensive admin tool for analyzing Microsoft 365 license usage across the organization
- Four Analysis Tabs - View data from multiple perspectives (Licenses, Companies, Users, Available)
- License Assignment Tracking - See which licenses are assigned via groups vs. directly to users
- Advanced User Filtering - Filter users by license type, job title, company, and department simultaneously
- Cross-Tabulation Table - Companies tab shows license distribution across organizations in a compact matrix view
- Available Licenses Tab - View unassigned licenses with incremental consent for Organization.Read.All permission
- License Utilization Status - Color-coded indicators (green/yellow/red) for license consumption levels
- Smart Abbreviations - Compact display with M365, O365, P1/P2/P3 abbreviations for easier scanning
- Interactive Charts - Stacked bar charts showing license distribution per company
- Sticky Headers & Footers - Table headers stay visible while scrolling through large datasets
š Security & Permissions
- Incremental Consent - Available Licenses tab requests Organization.Read.All only when needed
- User-Delegated Permissions - No admin consent required for individual users to view available licenses
- Permission Prompts - Clear UI explaining why additional permissions are needed
- Microsoft License Mapping - Downloads official Microsoft CSV for accurate license name resolution
š Analytics & Insights
- KPI Cards - Total users, unique licenses, companies, and assignment method statistics at a glance
- Group vs Direct Assignment - Visual breakdown showing percentage of licenses assigned through groups
- License Waste Detection - Identify purchased but unused licenses across all SKUs
- Company License Counts - See which departments or companies consume the most licenses
- Search & Filter - Real-time search across all tabs with dynamic filtering
š§ Technical Details
- Built with React 18.2.0, TypeScript, and Recharts for data visualization
- Uses Microsoft Graph API's licenseAssignmentStates for assignment method detection
- LicenseService downloads and caches Microsoft's official product name CSV
- Client-side filtering and computation for responsive UI
- 5-minute cache for user data, 15-minute cache for available licenses, 24-hour cache for license mapping
- Dark mode support throughout all visualizations and tables
- Webpack code splitting with separate licensing bundle (495 KiB)
v1.4.2 Interactive Org Chart & Bug Fixes
January 22, 2026⨠New Features
- Interactive Organization Chart - React-based org chart with lazy loading for performance
- Click to Expand - Dynamically load subordinates by clicking on any manager
- Expand All - Load the complete organizational hierarchy with one click
- Zoom & Pan - Navigate large org charts with intuitive controls
- User Details Sidebar - Click any person to view details with portrait photo
- Smart Links - Click job titles and departments to find colleagues with similar roles
- Dark Mode Support - Org chart respects system/user dark mode preference
š Bug Fixes
- Export Group vCard 404 - Fixed missing
assignedLicensesfield causing group export failures - Search Page Not Working - Added
assignedLicensesto SearchUsers query to fix user filtering - License Filter Issues - Resolved multiple queries missing license field for proper user filtering
š§ Technical Details
- Built with React 18.2.0, TypeScript, and react-d3-tree for org chart visualization
- Webpack bundling with code splitting for optimal performance
- Client-side and server-side caching (5-minute TTL) for responsive experience
- Lazy loading prevents slow page loads on large organizations (1000+ users)
- SVG-based rendering with custom node styling and event handling
v1.3.2 Bug Fix - Use Filtering
December 27, 2025š Bug Fixes
- Manager Not Showing in Directory - Fixed issue where managers were not appearing in the Directory view due to missing license field in Graph API query
- License Field Query - Added
assignedLicensesfield to filter only licensed users
š§ Technical Details
- The
ShouldIncludeUserfilter checks for assigned licenses to exclude unlicensed accounts - Manager query was not requesting the
assignedLicensesfield, causing null values and incorrect filtering
v1.3.1 Personal Location Pins & User Filtering
December 10, 2025š New Features
- Home Location Pin - See your registered home office location from your Entra ID profile (green house icon)
- Current Location Pin - View your current location based on IP geolocation (red pin icon)
- IP Geolocation Service - Integration with ip-api.com for accurate location detection
- View Users by Location - Click "View Users" button on any location to see all employees in that city/country
- Location Filtering - Groups page now supports filtering by geographic location (City + Country)
- Custom Pin Icons - Distinct visual markers using Bootstrap Icons to differentiate personal pins from organization data
- Smart Location Caching - Personal locations cached for improved performance
⨠Improvements
- Visual Differentiation - Personal pins stand out with shadow effects and custom colors
- Graceful Degradation - Features work even if location data is unavailable (localhost, VPN, missing profile data)
- Privacy Conscious - IP-based location only shows approximate city-level location
- Normalized Location Data - Ignores OfficeLocation field (building/room numbers) to focus on true geographic locations
- Selective Click-to-Zoom - Table rows zoom to map when clicking location/count cells, not action buttons
v1.3.0 Geographic Heat Map
December 10, 2025š New Features
- Interactive Geographic Map - Visualize employee distribution across the globe with an interactive heat map
- Location Analytics - View statistics on unique locations, employee counts per location, and percentage breakdowns
- Smart Location Detection - Leverages City, State, and Country fields from Entra ID user profiles
- Scalable Markers - Marker sizes dynamically scale based on employee count at each location
- Detailed Popups - Click markers to see exact employee counts and organizational percentages
- Sortable Table - Browse all locations in a searchable, sortable data table
šØ UI/UX Improvements
- Added homepage content about data quality impact on Copilot and Viva Insights
- Light mode is now the default theme for new users
- Added hover text to theme toggle button for better accessibility
š§ Technical
- Integrated Leaflet.js for interactive mapping capabilities
- Built-in coordinate database for 50+ countries and major cities
- Automatic map bounds fitting for optimal viewing
v1.2.4 Game Performance Optimization
November 26, 2025ā” Performance Improvements
- Lazy Photo Verification - Games now load instantly on large organizations (1000+ users)
- Progressive Caching - Photo verification results cached across game sessions
- Smart User Selection - 70% verified users + 30% new users for optimal speed and variety
- Optimized API Calls - Only verifies photos for selected game participants, not entire directory
- Fallback Strategy - Intelligently falls back to verified users when needed
šØ UI/UX Improvements
- Improved label visibility in Memory Match with brighter cyan color
- Enhanced font weight for better readability in both light and dark modes
- Consistent color scheme across game property labels
š§ Technical
- Added PhotoVerified flag to track verification status separately from photo existence
- Comprehensive logging for photo verification debugging
- Reduced timeout issues on large tenant directories
v1.2.3 Find the Outlier & Organization Chart Printing
November 25, 2025š® New Features
- Find the Outlier Game - New pattern recognition game with three distinct modes
- Mode 1: Odd One Out - Find the person who doesn't match the common department, office, or company
- Mode 2: False Fact - Identify incorrect information among 4 unique property types
- Mode 3: Hidden Pattern - Discover subtle patterns across 7 different types (names, titles, departments, phone numbers)
- Organization Chart Printing - Print hierarchical org charts starting from top-most manager
- Compact Tree Layout - Folder-style tree structure with all user info on one line for efficient printing
- Print from Directory - New Print Report button on Organization Directory page
šØ UI/UX Improvements
- Centered portrait photos in Find the Outlier game using flexbox
- Consistent print button design across Groups and Directory pages
- Visual hierarchy with indentation and tree symbols (āā)
- Focused user highlighted in blue on printed org charts
ā” Performance & Architecture
- Recursive org tree building traversing up to top manager (max 20 levels)
- Efficient Graph API queries with proper field selection for validation
v1.2.2 Games & Gamification
November 23, 2025š® New Features
- Memory Match Game - Interactive card-matching game to help users learn about colleagues
- Five Difficulty Levels - Progressive challenge from basic (photo + name) to advanced (all fields)
- Smart User Caching - 15-minute cache for instant level switching and improved performance
- Games Played Statistics - Track global game engagement on homepage
- Photo Validation - Ensures only users with profile photos appear in game
- Data Quality Filtering - Level-specific requirements (department, title, manager, names)
šØ UI/UX Improvements
- Instant loading overlay with "Shuffling cards..." animation
- Visual feedback for matched cards with green gradient and logo overlay
- Compact navbar layout with username below sign-out button
- Timer and move counter for game performance tracking
- Win modal with statistics display
ā” Performance
- PageIterator for efficient retrieval of all directory users
- Improved randomization using GUID-based shuffling
- Client-side card rendering for smooth gameplay
v1.2.1 Team Collaboration & Usage Analytics
November 23, 2025⨠New Features
- Global Usage Statistics - Anonymous, privacy-preserving usage analytics displayed on homepage
- Group vCard Export - Export entire departments, job titles, or companies as multi-contact vCard files
- Copy Email Button - Quick clipboard copy for email addresses with visual feedback
- Teams Chat Button - Direct deep link to Microsoft Teams chat from contact pages
- SHA-256 Tenant Hashing - Privacy-first approach to track unique organizations without storing identifiable data
š§ Improvements
- Enhanced clipboard functionality with fallback support for older browsers
- Statistics caching with 5-minute refresh window for performance
- Fire-and-forget pattern for non-blocking statistics updates
- Updated Privacy page with transparent statistics collection documentation
š Privacy & Compliance
- Fully anonymous statistics - no personal or organizational data stored
- GDPR-compliant data collection practices
- One-way hashing prevents reverse-engineering of tenant identities
v1.2.0 Data Quality Analytics
November 22, 2025⨠New Features
- Data Quality Page - Comprehensive analytics dashboard for organizational data quality
- Quality Score - Overall data quality metrics with visual progress indicators
- Mixed-Case Email Detection - Highlights emails with uppercase letters for consistency
- Incomplete Profiles - Identifies users missing job titles, departments, or company information
- Distribution Charts - Interactive Chart.js visualizations for job titles and departments
- Distribution Tables - Sortable, searchable DataTables for all organizational attributes
- Dark Mode Charts - Charts dynamically adapt to light/dark theme changes
š§ Improvements
- Enhanced authentication error handling across all pages
- Improved DataTables sorting indicator positioning for better clarity
- Better re-authentication flow after app republishing
v1.1.13 Enhanced Directory & Improved Stability
November 21, 2025⨠New Features
- Manager Indicators - Manager cards now show direct reports count and "Has Manager" badge
- Clickable Navigation - "Has Manager" badge is clickable to navigate up the org chart
- Visual Highlighting - Active user card has a distinctive blue background for better visibility
- Changelog Page - Track all versions and changes in one place
š Bug Fixes
- Fixed user filtering logic to include users without organizational data
- Resolved Groups page error with company name filtering (now filters in memory)
- Fixed sorting issues when using server-side filters
- Removed authentication loops on Groups and Directory pages
v1.1.0 Admin Consent Model
November 20, 2025⨠New Features
- Upfront Admin Consent - Simplified permission model requiring User.Read and User.Read.All upfront
- Admin Consent Button - Dedicated button on homepage for administrators to grant org-wide consent
ā ļø Breaking Changes
- Organizations must grant admin consent before users can access the application
v1.0.0 New Domain, Print & vCard Compatibility
November 20, 2025⨠New Features
- Print/PDF Export - Professional print view for Groups page
- Domain Migration - Moved to entra.cards domain
- iPhone vCard Compatibility - Fixed photo encoding for iOS devices
- Photo Borders - Added frames to all profile photos
v0.9.0 Dark Mode Theme
November 19, 2025⨠New Features
- Dark Mode - Full dark theme support
- EntraCards Logo - Custom branding and favicon
- Brand Colors - Blue #0046d2 and cyan #36c0cf
- Sticky Navbar - Improved navigation experience
v0.8.0 Groups Feature
November 18, 2025⨠New Features
- Groups View - Browse users by department, title, company, or office location
- Portrait Grid - Visual grid and data table views
- Clickable Filters - Quick filtering by organizational attributes
v0.7.0 Organization Directory
November 18, 2025⨠New Features
- Directory View - Organizational hierarchy with manager, peers, and direct reports
- Org Chart Navigation - Click any person to explore their position in the organization
v0.5.0 Initial Release
November 15, 2025š Core Features
- User Search - Search for colleagues across the organization
- vCard Export - Download contact information as vCard files
- QR Code Generation - Generate QR codes for quick contact sharing
- Multi-tenant Support - Works with any Microsoft 365 organization