Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Inactive Jira users are not automatically wasted seats

The spreadsheet looked convincing.

Names. Emails. Last activity dates. A neat list of people who had not used Jira in months.

Then the renewal question arrived:

Why are these users still billable?

That is where the spreadsheet got quiet.

It knew who looked inactive.

It did not know the access path. It did not know which rows were protected. It did not know which users needed owner review. It did not know whether removing one group would actually remove billable access.

Inactive is a signal.

It is not a cleanup decision.

Disclosure: I work on License Guard for Jira License Cleanup at Unitlane. I am using the app as an example in this article, but the broader point is about Jira license cleanup: renewal review needs billable-path evidence, not just stale-user exports.

lg-01-savings-dashboard-1840x900.png

Example: a savings scan that separates cleanup-ready users, needs-review rows, protected users, and estimated next-cycle or renewal impact before access changes.

Renewal turns quiet access into a money question

Inactive users are easy to ignore until renewal gets close.

They are not noisy. They are not creating tickets. They may not even know they still have access.

But if they remain billable, someone eventually asks why.

That question usually lands on the Jira admin, Atlassian admin, IT operations owner, or whoever is trying to explain the renewal number.

And the answer is rarely as simple as:

They have not logged in recently.

A user may still be billable because of a product-access group, default group, app role, admin-related path, or another access route.

So the useful renewal question is not only:

Who is inactive?

It is:

Why is this user still billable, and can this access be reviewed?

The spreadsheet is discovery, not the workflow

Spreadsheets are not the villain.

A spreadsheet can help you list users. It can help you sort by last activity. It can help you start a review.

But a spreadsheet usually struggles when the review becomes a decision.

Which rows are normal cleanup candidates?

Which rows need an owner?

Which rows are protected?

Which rows are service, app, admin, or exception cases?

Which rows have unclear external-management signals?

Which rows still have another access path after the obvious one is removed?

That is where spreadsheet cleanup becomes meeting cleanup.

The admin explains the file. Finance asks about assumptions. Someone asks whether the estimate affects the next cycle or only the renewal model. Another person remembers a service account. Someone else asks whether the user is externally managed.

The file may be useful.

It is still not the workflow.

Last active is useful. Billable path is better.

A last-active date helps you find candidates.

A billable path helps you understand why a seat still exists.

Those are not the same thing.

The useful admin question is:

What group, product-access route, or app path is keeping this user billable?

That is the question the billable path should answer.

lg-02-billable-path-1840x900.png

Example: billable-path detail showing why a user still has Jira access before the admin decides whether that row belongs in cleanup, review, or protection.

That path changes the decision.

If the user is a clearly stale human with a normal access path, they may belong in a cleanup-ready lane.

If the user is an app or service identity, they may belong in a protected lane.

If the user needs manager or project-owner confirmation, they belong in review.

If the user has multiple access paths, removing one path may not change the seat.

If external-management data is unavailable, that should remain visible.

Unknown is not the same as unmanaged.

That last point matters. Missing SCIM or IdP evidence should never be treated as proof that local cleanup is the whole answer.

Put users into lanes before acting

License cleanup gets risky when unlike rows are treated as the same kind of row.

A stale employee.

A contractor.

A service identity.

A Jira admin.

A user with multiple access paths.

A user where external-management signals are detected, not detected from available data, or unavailable.

Those users should not all go into one flat cleanup list.

License Guard separates users into cleanup-ready, needs-review, and protected lanes.

That lane model is not just a UI choice.

It is a safer decision model.

It lets the admin focus first on likely cleanup work without hiding rows that need caution.

A cleanup-ready lane should still be reviewed.

A needs-review lane should not be forced into action just because renewal is close.

A protected lane should keep admin, service, app, or exception rows out of normal cleanup.

That structure makes the renewal conversation more honest.

It also makes the admin less dependent on memory.

Estimate impact without pretending it is magic

Renewal cleanup needs a money view.

Finance needs to know what is at stake. Admins need to know whether the review is worth the time. Operations teams need to know which cleanup pass matters most.

But savings estimates should be treated as estimates.

They depend on plan, billing model, timing, contract terms, selected candidates, and whether cleanup changes billable access before the relevant cycle.

That is why careful wording matters.

Estimated next-cycle or renewal impact is useful.

Guaranteed savings is not a promise admins should make from a cleanup scan.

A good estimate should help prioritize review. It should not become a number the admin cannot defend.

Preview first, then decide

Access cleanup should not be a surprise.

Before a change, the admin should know:

  • Which users are selected
  • Which users are skipped
  • Which users are protected
  • What action plan is being created
  • What impact is estimated
  • What still needs review

That plan should be visible before access changes.

lg-03-cleanup-preview-1840x900.png

Example: cleanup preview showing selected users, skipped/protected rows, estimated impact, and the action plan before access changes.

That is the right order:

Scan.

Review.

Preview.

Then decide.

Optional live cleanup can be useful where supported and enabled, but it should not be the starting assumption.

The preview is the important part.

A preview gives the admin a chance to catch protected users, uncertain rows, skipped users, multiple access paths, and assumptions before changing access.

Scheduled savings checks should follow the same posture.

They are useful when they surface candidates before renewal pressure arrives, especially when preview-only is the default.

Keep the boundary believable

A Jira license cleanup workflow should not pretend to be an identity governance platform.

It should not replace SCIM.

It should not replace IdP policy.

It should not replace Atlassian account administration.

It should not delete Atlassian accounts.

It should not treat missing external-management data as certainty.

It should not require Atlassian Admin API tokens in the default path just to start the review.

Those boundaries are not boring.

They are part of why the workflow is credible.

A narrow cleanup workflow is easier to trust when it says what it does, what it estimates, and what it does not know.

A practical renewal cleanup sequence

For renewal prep, a cautious sequence looks like this:

  1. Run a savings scan.
  2. Separate cleanup-ready, needs-review, and protected rows.
  3. Open the billable path for users under review.
  4. Check whether external-management signals are detected, not detected from available data, or unavailable.
  5. Estimate next-cycle or renewal impact using clear assumptions.
  6. Preview the cleanup plan before changing access.
  7. Keep proof when finance, audit, or another admin needs the cleanup story.

That is the difference between an inactive-user list and a reviewable cleanup workflow.

The spreadsheet can show who is inactive.

The workflow should explain why the seat is still billable.

If your renewal review still starts with a stale-user export, License Guard’s Marketplace listing shows one way to review billable paths, lanes, estimated impact, and cleanup preview together.

License Guard for Jira License Cleanup 

When you review inactive Jira users, what slows the decision down most: finding the users, explaining billable access, getting owner approval, or proving what changed?

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events