LicenseGuard for Jira

JiraForgeComing soon

Stop paying for Jira seats nobody is using

Current Version
v3.13.5
Updated May 28, 2026
Notify me when it ships
Launching soon

Get notified when LicenseGuard for Jira ships

One email when it's live on the Atlassian Marketplace. No follow-ups, no newsletter — just the launch ping.

What it does

Stop paying for Jira seats nobody is using

Every growing Jira instance accumulates ghost accounts. Users who left the company, switched roles, or simply stopped using Jira months ago. Each one quietly burns through your Atlassian licence budget. LicenseGuard finds them automatically. A daily background scan identifies inactive accounts based on configurable thresholds, calculates exactly how much they're costing you, and lets you clean them up in one click. Every action is logged in a tamper-proof audit trail, so your compliance team stays happy. Whether you're managing 50 seats or 5,000, LicenseGuard pays for itself in the first month.

Inside the app

  • Automated daily scans that detect inactive and ghost accounts without lifting a finger
  • Real-time cost calculator showing exactly how much you're overspending on unused licences
  • One-click bulk deactivation with confirmation safeguards to prevent accidental removals
  • Tamper-proof audit log tracking every scan, deactivation, and reactivation
  • Admin dashboard with licence usage breakdown, trends, and savings projections
  • Configurable inactivity thresholds and exclusion rules for service accounts

How it compares

We're not the first to think about this

Most teams reach for a manual audit or a homegrown JQL script. Here's how License Guard stacks up against the alternatives we've seen most often.

CapabilityManual auditJQL / scriptingLicense Guard
Time to scan a 200-user instance
2–4 hours
~1 hour to write
Under 30 seconds
Bulk deactivation in one click
No
You build it
Yes
ROI / cost-saving calculator
Spreadsheet
You build it
Built in
Tamper-proof audit log
No
You build it
Yes
Sandboxed (no external egress)
N/A
Depends
Forge-native
GDPR personal-data hooks
No
You build them
Yes
Setup time
Every audit
Days
Under 5 min
Cost
Hidden — admin time
Hidden — dev + maintenance
From $0.50/user/mo

Time estimates based on the patterns we've seen most often across mid-sized Jira instances. Your mileage will vary.

ROI calculator

How much could you save?

Adjust the sliders to estimate your annual savings from reclaiming inactive Jira seats. The math is conservative — most teams find more inactive accounts than they expect.

Potential annual savings

$1,260

Estimate only. Actual savings depend on your seat-cleanup policy and the deactivation paths your admins choose.

Common questions

Things admins ask before installing

How does License Guard identify “ghost” users?
It reads each user's last-login timestamp from Jira's audit-log API and classifies them by configurable thresholds — Active (under 90 days by default), Dormant (90–180 days), Ghost (over 180 days). You set the cut-offs that match your policy.
What if it deactivates an active user by accident?
Three guardrails. First, the bulk-deactivate flow shows you every user in the selection with their last-login date before you confirm. Second, every action is written to a tamper-proof audit log keyed to the admin who triggered it. Third, deactivated users can be reactivated with one click from Atlassian's standard user-management screen — the user re-appears with the same permissions they had before.
What permissions does it need? Where is the data going?
The manifest declares read:jira-user, read:audit-log:jira, manage:jira-configuration, and storage:app — the minimum needed to list users, fetch login history, deactivate, and store config. License Guard runs entirely in Atlassian's Forge sandbox: zero external egress. No data leaves your Atlassian Cloud tenant.
Is it GDPR-compliant?
Yes. License Guard implements Atlassian's onPersonalDataRequest and onPersonalDataDelete privacy hooks. The audit log only retains accountId references and action metadata — no email addresses, names, or other PII beyond what Atlassian itself stores. When a user is deleted from your instance, License Guard's local state for them is cleared automatically.
How does pricing work?
Free tier: scan, classify, and view savings estimates as much as you want. Paid tier: bulk deactivation, scheduled scans, audit-log retention, exclusion rules, CSV export. Billed per-user/month through the Atlassian Marketplace, starting from $0.50/user/mo. Annual plans available at a discount.
Does it work for Jira Service Management?
Yes. JSM uses the same user model as Jira Software/Core, so License Guard sees agent and customer accounts the same way. Agent licenses (the ones that actually cost money) are detected and reported separately from customer accounts.
What about service accounts and bots — will it flag those?
Configure exclusion rules. You can exclude by username pattern (e.g. *_bot), by group membership (e.g. "Service Accounts"), or by individual accountId. Excluded accounts are skipped from every scan and never appear in deactivation suggestions.
Can I run it on a schedule?
Daily, weekly, or monthly scheduled scans are available on the paid tier. Each scan generates a savings report you can email to a distribution list, post to a Slack channel via a webhook, or just view in the dashboard.

Question we didn't answer? [email protected] we reply within 24 hours.

We built License Guard after noticing we'd been paying for two years' worth of inactive Jira seats — accounts of contractors who'd left, founders who'd sold, ghost addresses still on the licence count. The audit was too tedious to do manually, and the JQL scripts we tried missed half the patterns. The first time we ran the proto-version on our own instance, it found 23 seats we hadn't touched in over a year.

Every Jira admin we've shown it to has the same reaction: "why isn't this just built into Jira?" It probably should be. Until then, we're shipping it as a Forge app — the same architecture and discipline we use for the other apps in our suite.

L
Luis Lerones
Founder, EvolRed · Building from London & Madrid

Need a custom plugin for your team?

We build private Atlassian plugins tailored to your workflows.