SaaS spend management is a real category with a real problem behind it: companies pay for seats nobody has signed into since spring. The tools built for it are priced for companies with a procurement team. A twelve-person company has the same problem at a smaller scale and no budget line for the tool.
The fix is not a tool. It is a question, asked automatically: for each service we pay per seat, who has a seat, and when were they last active? GitHub, Slack, Linear, Vercel and Google Workspace all answer that question over their APIs. The answer changes slowly, so once a day is plenty.
The discipline that matters is not inventing dormancy. A provider that does not report last-active time is not reporting that a person is inactive. Treating silence as absence produces a saving that is not there, and an awkward conversation with the colleague you were about to remove.
With honest data, the picture is usually simple. A few seats belong to people who left. A few belong to contractors whose work ended. A few are duplicates across an old and new account. Each one is a small number that, annualised across five tools, stops being small.
This sits naturally next to the rest of the operating picture, because the same page already knows what each provider costs. Seats are just one more reading, and a rule like 'tell me when billable seats grow' is one more sentence.
InternalStatus polls the seat rosters from the providers you connect and shows them with last-active dates, marking the ones the provider cannot vouch for as unknown rather than dormant. It is the version of spend management that fits inside a small team's morning.