Field notes on Microsoft 365 storage
Practical writing on cost, reclaim playbooks, Copilot data quality, retention and audit — from the LogiSam team behind TSO.
- 16 Sept 20269 min read
Selling storage audits as an MSP: the pitch, the pricing, the playbook
Microsoft 365 storage audits are the rare service that sells itself — every client tenant has 20-40% reclaimable bloat and the report pays for itself in the first month. Here is the pitch that closes, the pricing that works, and the process to deliver at scale.
MSPSalesPlaybookRead - 12 Sept 20267 min read
Teams meeting recordings are eating your SharePoint quota (and here is the fix)
A one-hour Teams meeting recording is about 400 MB. Multiply by a busy tenant and you get double-digit terabytes of video nobody has watched twice. Where they live, who pays for them, and the three settings that stop the bleed.
TeamsStorageGovernanceRead - 08 Sept 20266 min read
OneDrive after they leave: the 30-day rule nobody actually enforces
Microsoft retains a leaver's OneDrive for 30 days by default, then deletes it. Almost every tenant we scan has OneDrives from employees who left years ago — still occupying quota, still holding drafts Copilot can quote. Here is the process that actually works.
OneDriveGovernanceLeaversRead - 05 Sept 20267 min read
The 500-version default: why every SharePoint library is quietly hoarding storage
Every SharePoint document library ships with major versioning on and a cap of 500 versions per file. On a 250 MB InDesign file that is 125 GB per file. Here is where the storage actually goes, and what to change without breaking anyone's workflow.
SharePointVersionsReclaimRead - 15 Aug 20267 min read
What are you really paying for? A plain-English guide to M365 storage costs
Microsoft charges storage in three different ways depending on where the file lives. Here is exactly what each byte costs in 2026, and where finance teams tend to lose track.
CostFundamentalsFinOpsRead - 01 Aug 20269 min read
Running out of M365 storage? Here is a 30-minute checklist that usually reclaims 10-20%
When the SharePoint quota alerts start firing, buying more storage is the expensive answer. Here is a pragmatic checklist that gets most tenants back under quota without deleting a single business-critical file.
SharePointReclaimPlaybookRead - 18 Jul 20268 min read
Your Copilot is hallucinating? It might be your data, not the model
Copilot for Microsoft 365 searches everything the user can see. If that includes a decade of stale, duplicated and contradictory files, hallucinations become the polite word for it.
CopilotAIGovernanceRead - 04 Jul 20266 min read
Do you really need that HR policy from 2010? A retention-first mindset for M365
Storage is cheap, retention is expensive. Keeping everything indefinitely stopped being a defensible position around the time GDPR was drafted. Here is how to have the retention conversation with the people who own the data.
RetentionGovernanceGDPRRead - 20 Jun 20267 min read
Duplicates: the tax you did not know you were paying
Every M365 tenant hoards duplicates. The average enterprise we scan has 8-15% of its SharePoint bytes tied up in exact copies of the same file. Here is why, and what to do about it.
DuplicatesReclaimRead - 06 Jun 20266 min read
Read-only by design: what that actually means for a storage optimizer
Every vendor claims "read-only". Very few explain what they are asking for at the Graph permission layer or what they store on their side. Here is exactly what TSO asks for and why.
SecurityGraph APIRead - 25 May 20265 min read
The audit trail a tenant scan should leave behind
If you are running scans on live production tenants, "trust me, it was read-only" is not enough. Here is what a defensible audit trail looks like — for your security team and for a customer regulator.
ComplianceAuditRead - 10 May 20268 min read
From scan to savings: a 90-day plan for a mid-size tenant
The first scan is the easy part. Turning findings into a reclaim programme is where most storage projects stall. Here is the 90-day plan we walk customers through.
PlaybookFinOpsRead
