Skip to content

Latest commit

Β 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LicenseRadar πŸ“‘

Find and eliminate wasted Microsoft 365 licenses. Free, open-source, self-hosted.

License PHP Microsoft 365 Status WCAG 2FA Stars

LicenseRadar connects to your Microsoft 365 tenant via the Microsoft Graph API and shows you exactly which licenses are wasted, who hasn't signed in, and how much money you can recover β€” all from a clean, self-hosted web dashboard.
No PowerShell. No SaaS subscription. No CLI. Just upload and audit.


🚧 Status

This project is currently under active development.
Star the repo to follow progress and get notified on release.

Milestone Status
Project architecture & design βœ… Complete
GitHub Pages showcase site βœ… Complete
PHP app β€” install wizard βœ… Complete
PHP app β€” Graph API integration βœ… Complete
PHP app β€” 2FA (Email OTP + TOTP) βœ… Complete
PHP app β€” Dashboard & reports βœ… Complete
PHP app β€” 2FA (Passkey / WebAuthn) βœ… Complete
2026 standards audit (WCAG 2.2, SRI, CSP) βœ… Complete
Security hardening audit (OWASP, info leak, CSRF) βœ… Complete
Race condition fixes (OTP replay, rate limit, TOTP) βœ… Complete
v1.0 public release πŸ”œ Coming soon

✨ What It Does

LicenseRadar scans your Microsoft 365 tenant and finds:

  • Inactive licensed users β€” assigned licenses but no sign-in in 30/60/90/180 days
  • Blocked accounts with active licenses β€” disabled Entra ID users still consuming paid seats
  • Unassigned license slots β€” purchased seats that aren't assigned to anyone
  • Redundant license stacking β€” users assigned overlapping plans (e.g. M365 E3 + standalone Exchange Online)
  • Cost savings estimate β€” calculates monthly and annual waste in USD and INR

πŸ–₯️ Key Features

  • Zero PowerShell β€” everything runs in a web browser
  • Self-hosted β€” your data never leaves your server
  • Works on shared hosting β€” Hostinger, cPanel, GoDaddy, Namecheap, LiteSpeed β€” no SSH needed
  • WordPress-style install β€” fill in DB details, connect Azure, done in under 10 minutes
  • 3-method 2FA β€” Email OTP (default), TOTP app, or Passkey / WebAuthn
  • Geist design system β€” clean Vercel-style UI with auto dark/light mode
  • WCAG 2.2 AA β€” fully accessible, keyboard navigable, screen reader friendly
  • PDF & Excel export β€” one-click savings report for management
  • 100% free β€” no subscription, no account, no tracking
  • SRI protected β€” CDN scripts verified via Subresource Integrity hashes
  • CSP hardened β€” Content Security Policy, HSTS, rate limiting, Argon2id passwords
  • Race-condition proof β€” Atomic OTP verification, TOTP replay prevention, insert-before-check rate limiting

πŸ” Authentication

Email + Password
      ↓
2FA Challenge β€” choose one:
  β”œβ”€β”€ πŸ“§ Email OTP    (default, zero setup)
  β”œβ”€β”€ πŸ“± TOTP App     (Google / Microsoft Authenticator, Authy)
  └── πŸ”‘ Passkey      (Face ID / Touch ID / Windows Hello / YubiKey)
      ↓
Dashboard

πŸ“‘ Graph API Scopes (read-only)

LicenseRadar never writes to your tenant. Three read-only application permissions:

Permission Purpose
User.Read.All Read all users and sign-in activity
Directory.Read.All Read tenant directory
Organization.Read.All Read subscribed SKUs and license counts

πŸ—ΊοΈ Roadmap

v1.0 β€” Launch

  • Project architecture & documentation
  • Install wizard (WordPress-style, 5-step)
  • Graph API integration (client credentials grant)
  • Inactive / blocked / unassigned / redundant detection
  • Cost calculator (USD + INR)
  • PDF & Excel export
  • Email OTP 2FA
  • TOTP authenticator 2FA (QR code setup)
  • GitHub Pages showcase site
  • 2026 standards audit (WCAG 2.2, SRI, CSP, PHP 8.4)
  • Passkey / WebAuthn 2FA (registration, removal, browser compat check)
  • Security hardening audit (OWASP info leak, CSRF on setup, open redirect)
  • Race condition fixes (OTP replay, rate limit bypass, TOTP replay)
  • End-to-end deployment testing (requires HTTPS hosting)

v1.1 β€” Notifications

  • Scheduled weekly email digest
  • Slack & Microsoft Teams webhook alerts

v1.2 β€” Monitoring

  • Entra App Secrets expiry monitor
  • MFA coverage report

v2.0 β€” Scale

  • Multi-tenant / MSP mode
  • Docker image

🀝 Contributing

Contributions are welcome once v1.0 is released.
Watch the repo or check Issues to see where help is needed.


πŸ“„ License

Apache License 2.0 β€” see LICENSE for details.


πŸ‘¨β€πŸ’» Author

Boopathi R β€” Senior IT Admin Β· Web Developer Β· Microsoft 365 Specialist Β· Bengaluru, India

LinkedIn GitHub Portfolio


Made with β™₯ in Bengaluru, India

About

πŸ“‘ Free, open-source Microsoft 365 license audit tool. Find inactive users, wasted licenses & unused seats via Graph API. Self-hosted PHP app with WordPress-style setup, 2FA (Email OTP + TOTP + Passkey), and a clean Geist UI. No PowerShell needed.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages