DecisionGuard is a free Confluence app that binds an approval to a specific evidence snapshot. When the evidence changes, the decision is no longer trusted as approved.
THE PROBLEM Teams approve a page, a spec or an analytics proposal, then the underlying evidence changes and the old sign-off keeps looking valid. Native Confluence approvals do not bind a decision to the exact evidence it was given against.
WHAT THIS BUILD DOES
- Creates a page-only decision, bound to the page version (no Jira required).
- Records an attestation with the reviewer's Atlassian accountId, timestamp, comment and a SHA-256 digest of the evidence snapshot.
- Re-reads the evidence on "Check evidence now"; if the digest changes, the decision is no longer shown as valid.
- Refuses self-approval: the person who supplied the evidence cannot approve it.
- Keeps a hash-chained audit journal that the app verifies when reading it. This is not an immutability claim: a reset deletes the record by design, and data can be removed by the user.
- Read-only toward Confluence and Jira; all app state lives in Forge key-value storage.
WHAT THE DEMO SHOWS (recorded on the production build installed from Forge, version 2.6.0) A real Confluence page, a page-only decision that starts as "Not approved yet", an evidence check that confirms "The page version still matches this decision.", and the supplier's next step: "Ask someone else to review this decision." The approve action is not offered to the person who supplied the evidence; the server also refuses self-approval.
WHAT IS NOT CLAIMED
- The two-account hosted cycle (VALID -> STALE -> independent re-attest) is not verified and is not shown.
- The R9 race between an external evidence change and an attestation is specified and unit-tested, but not validated in hosting.
- No security guarantee is claimed.
INSTALL Install from the signed Forge installation link below on a Confluence site. Jira is optional. On the install screen choose Confluence; Jira is an additional product, not a requirement.
PRIVACY https://samct86.github.io/decisionguard-policy/privacy.html Terms: https://samct86.github.io/decisionguard-policy/terms.html Support: [email protected]
Built With
- atlassian-forge
- confluence
- forgekvs
- jira-(optional)
- node.js