Business Sign-off for Jira Data Center
Business Sign-off is a Jira Data Center plugin that runs entirely on your infrastructure. It does not transmit any data to Cahaba Forge, third-party services, or any external endpoint. All data is stored within your Jira Data Center instance using Jira’s built-in database (ActiveObjects framework) and is subject to your organization’s existing data governance policies.
Business Sign-off reads and writes data exclusively within your Jira Data Center instance. It does not collect, transmit, or store data outside your infrastructure.
The plugin reads the following Jira data during normal operation. This data is accessed via standard Jira APIs and is never copied to external systems:
The plugin creates and manages four database tables using Jira’s ActiveObjects framework. All data resides in your Jira database:
Stores approver assignments for each issue.
| Column | Data | Purpose |
|---|---|---|
| issueId | Jira issue internal ID | Links approver to issue |
| approverUserKey | Jira user key | Identifies the approver |
| status | ADDED, PENDING, APPROVED, REJECTED | Tracks decision state |
| comment | Free-text (unlimited length) | Approver’s decision comment |
| createdDate | Timestamp | When the approver was assigned |
| createdByUserKey | Jira user key | Who assigned the approver |
| decisionDate | Timestamp | When the decision was made |
| lastNotifiedDate | Timestamp | When the approver was last emailed |
Immutable audit trail for compliance. Records are append-only and integrity-protected with SHA-256 hashes.
| Column | Data | Purpose |
|---|---|---|
| issueId, projectKey, issueKey | Issue identifiers | Links record to issue |
| issueSummary, issueType, issuePriority, issueStatus | Issue snapshot | Captures issue state at action time |
| action | Action type (e.g., APPROVER_ADDED, APPROVED) | What happened |
| eventTime | Timestamp | When it happened |
| actorUserKey, actorDisplayName, actorEmail | Actor snapshot | Who performed the action |
| targetUserKey, targetDisplayName, targetEmail | Target snapshot | The approver acted upon |
| reporterUserKey, reporterDisplayName, reporterEmail | Reporter snapshot | Issue reporter at action time |
| assigneeUserKey, assigneeDisplayName, assigneeEmail | Assignee snapshot | Issue assignee at action time |
| previousValue, newValue | State change | Before/after values |
| sodResult | PASS, FAIL, NOT_APPLICABLE | SoD validation outcome |
| comment | Decision comment | Text provided with the decision |
| recordHash | SHA-256 hex string (64 chars) | Tamper-detection hash |
Note on PII in audit records: The audit trail intentionally denormalizes user display names and email addresses as point-in-time snapshots. This is a compliance requirement — auditors need to see who acted and how they were identified at the time of the action, even if the user’s details later change. These snapshots cannot be modified after creation.
Project-level configuration. One record per Jira project with Business Sign-off enabled.
| Column | Data | Purpose |
|---|---|---|
| projectId | Jira project ID | Links config to project |
| enabled, panelVisibility, approvalRequired | Booleans/strings | Feature toggles |
| approvalThreshold | Integer (50–100) | Approval pass percentage |
| requiredIssueTypes | Comma-separated issue type IDs | Issue types requiring approval |
| commentRequiredOn | ALL, APPROVAL_ONLY, REJECT_ONLY, NONE | When comments are mandatory |
| Email settings (5 columns) | Notification preferences | Email notification rules |
| SoD settings (2 columns) | Booleans | Segregation of Duties rules |
| Eligible approver settings (5 columns) | Mode, role IDs, group names | Who can be an approver |
| finishingMode | Boolean | Whether the project is in finishing mode (no new approvers) |
Tracks background audit CSV export tasks. Records are transient and cleaned up automatically.
| Column | Data | Purpose |
|---|---|---|
| taskId | UUID | Task identifier |
| state | RUNNING, COMPLETED, FAILED | Task progress |
| progress | Integer (0–100) | Completion percentage |
| fileName | String | CSV output filename |
| nodeId | String | Cluster node executing the task |
| errorMessage | Free-text (unlimited length) | Error details for failed tasks |
| Timestamps | Epoch milliseconds | Creation, completion, download times |
Global plugin settings are stored using Jira’s PluginSettingsFactory (Jira’s standard plugin configuration store). Settings include:
The plugin stores license-related data in PluginSettingsFactory for local license validation. License validation is performed entirely on your infrastructure — the plugin does not contact any external server to validate licenses.
No user credentials, passwords, API keys, or external authentication secrets are stored by the plugin. The license key contains an organization name but no individual personal data.
All data processing occurs within your Jira Data Center instance for the following purposes:
jiraHome.getHome()). These files are accessible from all cluster nodes and are cleaned up after download or on a scheduled basis.Cahaba Forge does not have access to your data and cannot control retention. Your organization is responsible for data retention policies applied to your Jira database.
None. Business Sign-off does not transmit any data to Cahaba Forge, Atlassian, or any third party. The plugin makes zero external network calls. All processing occurs within your Jira Data Center instance.
The only bundled third-party library is Apache Commons CSV 1.10.0, used exclusively for generating CSV export files locally. It does not perform any network operations.
Business Sign-off does not use cookies, web beacons, tracking pixels, browser fingerprinting, or any client-side tracking technologies. The plugin does not set or read any cookies in the user’s browser. All client-side functionality is delivered through standard Jira web resource modules and does not include any analytics, telemetry, or tracking scripts.
Because Business Sign-off is a Data Center plugin, your organization has full control over all data:
For deployments subject to the EU General Data Protection Regulation (GDPR):
a) Data Controller: You (the Licensee) are the sole data controller for all personal data processed by the Software within your Jira instance.
b) Data Processor: Because the Software runs entirely on your infrastructure and Cahaba Forge LLC has no access to your data, Cahaba Forge LLC does not act as a data processor.
c) Personal Data Processed: The Software processes Jira user keys, display names, and email addresses as part of approver management and audit trail recording.
d) Data Retention: You control all data retention. Data is stored in your database for the lifetime of the associated Jira issue and is automatically deleted when the issue is deleted.
e) Data Subject Rights: You are responsible for fulfilling data subject requests (access, erasure, rectification, portability) using the plugin’s REST API, CSV export functionality, and direct database access. Note that audit trail records are immutable by design for compliance purposes; erasure of audit records may conflict with regulatory retention obligations.
f) Sub-Processors: None. The Software does not use sub-processors or transmit data to third parties.
g) International Transfers: None. All data remains within your infrastructure.
Since this is a self-hosted Data Center plugin, your organization acts as the data controller and is responsible for fulfilling data subject requests. Cahaba Forge does not process, access, or store any of your data.
Business Sign-off is enterprise software designed for use in organizational settings. It is not intended for use by individuals under the age of 16 (or such younger age as permitted by applicable law). The plugin does not knowingly collect data from children.
We may update this privacy policy to reflect changes in the plugin’s data handling practices. Material changes will be communicated with at least thirty (30) days’ prior notice through the Cahaba Forge website and/or email notification. The “Last Updated” date at the top of this document indicates when the policy was last revised.
For privacy-related questions or concerns:
This privacy policy applies to Business Sign-off for Jira Data Center. Since this is a self-hosted plugin, all data processing occurs on your infrastructure under your control. Cahaba Forge has no access to your Jira instance or its data.