Honest note on Microsoft's own version-cleanup tooling. Microsoft is shipping Intelligent Versioning and PST-specific version controls, and admin-center defaults let you cap new-library version counts. If you can drive PowerShell — New-SPOSiteFileVersionBatchDeleteJob, New-SPOSiteManageVersionPolicyJob and friends — you can trim a SharePoint tenant for free today. I'm not pretending otherwise.
Where the native tooling has documented carve-outs: Intelligent Versioning is disabled when retention policies are applied (per Microsoft's own announcement on Tech Community); admin-center defaults are not retroactive — they only apply to new libraries; file-type-specific controls cover only audio, video, and Outlook PSTs (no PDFs, CAD, design assets, ZIP archives, source code); and policy authoring below the tenant level is PowerShell-only, with no admin-center UI for site or library policy composition. Trim jobs bypass the recycle bin, so the friction for non-PowerShell admins is real.
Today, this tool is just visibility — see your version inventory, see what your retention policies are doing to it, see the dollar number. If I add paid cleanup later, the wedge is in the gaps Microsoft hasn't closed: arbitrary file-type policy, folder/path exceptions, retention-policy-aware exclusions, and a durable audit trail outside the M365 boundary. Not a fictional restore promise — Graph offers no undelete primitive for trimmed versions, and I won't pretend it does.