Skip to content
Concessa logo: a white faceted C on a rose tile Concessa by ITSM Ltd
Menu

Features

Everything it does, in detail

Concessa adds six things to Jira. Each of them exists because a change process without it is one an auditor can take apart.

The change record

A change record is a Jira issue. Concessa does not copy it, mirror it or replace it — it adds the governance facts Jira has no field for, keyed to that issue:

Everything else stays where it already is. The issue’s own summary and description, its comments, attachments, links, sprint, components and workflow status remain Jira’s — searchable by JQL, visible on boards and dashboards, reportable, and governed by the project’s own permission scheme. The summary of the change is the one deliberate exception: a Jira summary can be edited afterwards without trace, so what the change was said to be at the moment it was approved has to live in the chain instead.

A lifecycle you cannot skip

Statuses move by rule rather than by permission, and the rules are enforced server-side rather than by hiding a button:

Approvals that hold up

An approval names a person. Only that person can answer it, and only once. Four rules do the work, and all four are enforced in the resolver rather than in the interface:

Requesting an approval posts a comment on the issue, so your own Jira notification scheme tells the approver. The app sends no email of its own — it has no way to.

The change panel showing one granted approval with a comment and one approval awaiting the current user, with Approve and Reject buttons and a comment field.
An approval awaiting the person looking at it. Nobody else sees these buttons.

Freeze windows

A freeze window is a named period with a reason. Declaring one immediately re-checks every change already scheduled, because a freeze announced after the fact is the normal case — somebody calls a code freeze for the end of the quarter and everything already booked into it has to be looked at again.

The change panel showing a freeze conflict. A red section message names the year-end freeze window and its reason, with a field for the override reason and a Record override button.
A change scheduled into the year-end freeze, with the administrator’s override form.

Change calendar

A month grid of what is scheduled, with freeze days shaded on the grid itself rather than listed underneath — a list is something you have to remember to cross-check; a shaded cell is not. Times render in each viewer’s own timezone, so a window that reads 02:00 in London does not read 02:00 to somebody in Sydney.

Each change is a block coloured by its risk, running across every day of its planned window rather than sitting on the day it starts — a four-day migration should look like four days. Every block names its risk and its status in words, so the colour is the quick read and the grid still works in greyscale and for a colourblind reader. A change holds the same row all week, so a long one reads as a bar and not a staircase; days are a fixed height, so the dates stay put as changes come and go; and a day with more than fits says how many it is hiding. Anything inside an unoverridden freeze is marked with a warning that leads the block, where a truncated column cannot cut it off.

CAB workbench

Two halves. Above, the board’s meetings — when it met, who was there, what it discussed and what it decided to do. Below, the change agenda: a view over your issues, approvals and freeze windows, ordered with an opinion.

A meeting is a record, not a gate. It is never a precondition for approving a change and no meeting outcome moves a change’s status — authority stays per-approval and delegable, exercised on the change itself. What a meeting adds is somewhere for the board’s own business to be a record too, rather than living in a diary and a chat thread.

Meetings

Actions

What a meeting decided to do, owned by somebody who was at it: a description, an owner drawn from that meeting’s attendees, an optional due date and an optional change. Actions are the one part of a held meeting that stays editable, because the work usually outlives the meeting that raised it. The workbench lists every open action across every meeting, soonest due first, and an overdue one says Overdue in words rather than only in red.

The CAB workbench's next-meeting card and meetings table, each row carrying a date, a status, an attendance summary and a count of attached changes.
The next meeting, then every meeting the schedule has produced.

The change agenda

What it adds over a JQL filter is ordering with an opinion:

Filters for high risk, emergency, in freeze and awaiting me each carry their own count over the unfiltered set, and a line under the table names the filter you are on in words, so one you set and forgot cannot quietly hide rows.

Change keys open the issue in a new tab, so working down an agenda never costs you the filter you were on.

The CAB workbench table with filter buttons showing counts, and rows carrying risk, type, planned window, approval progress and status lozenges.
Filters carry their own counts, so you can see what is waiting before you click.

Tamper-evident audit trail

Every governance action appends an entry to a per-project hash chain: what happened, when, and who did it. Each entry carries a SHA-256 hash over its own contents and the hash of the entry before it, starting from a genesis value derived from the project key.

Verification recomputes the whole chain from genesis and distinguishes three different failures:

The chain is per project, and so is its numbering. The audit trail in an issue panel shows one change’s own entries out of that sequence, which is why its numbers skip: the gaps are other changes, not missing links. The export is the whole chain, and the only place the two can be told apart.

Recording is not best-effort. The audit entry is written before the change it describes, so a failure leaves an entry describing something that did not happen rather than a change nobody recorded. If the entry cannot be written, the action fails.

Evidence export

Export the governance record for a whole project or a single change, in JSON (lossless, re-verifies offline) or CSV (opens in a spreadsheet). Every export carries a verification block computed at the moment you take it, stating how many entries were recomputed and whether every link held.

An export taken from a broken chain says so in its first lines, in the file as well as on the screen. It is never quietly downgraded to a warning.

The evidence page with scope and format selectors, a verified chain lozenge, counts of changes, approvals and audit entries, and the beginning of the JSON export.
A project-scoped export, re-verified from genesis at the moment it was taken.

Put change governance where the work already happens

Concessa is a pure Forge app, charged per agent. No external systems, no data leaving your site, nothing to host. Access starts with a conversation.