Security and data handling
Answers for security reviewers on one page: where Syncotta runs, what it accepts, what it stores and which Jira permissions it uses.
Data flow
Your clusterArgo CD Notifications · PreSync Job · CI
sendsSyncottaon Atlassian Forge
writesJiraDeployments · Change requests
Facts
| Topic | Statement |
|---|---|
| Platform | Atlassian Forge app. Code and data run on Atlassian infrastructure. |
| Egress | The app makes no calls to non-Atlassian hosts. |
| Inbound | Three routes on two Forge web triggers: deployment events, CI metadata and gate checks. |
| Authentication | Deployment events: bearer token. CI and gate requests: HMAC-SHA256 over timestamp, nonce and body; ±5 minute window; nonces kept 10 minutes to block replays. |
| Secrets | Stored in Forge secret storage, never in URLs or logs. |
| Stored data | Per-site settings, gate state, recent nonces, image-to-issue mappings. No source code. Commit messages are used for issue key extraction and not logged. |
| Reporting issues | security@syncotta.com |
Jira permissions (OAuth scopes)
Draft. The final list is copied from the app manifest at launch.
| Scope | Why |
|---|---|
read:deployment-info:jira | Read deployment records and gating status for gate checks. |
write:deployment-info:jira | Send Argo CD deployments to Jira. |
delete:deployment-info:jira | Remove deployment records the app created. |
read:jira-work | Read issue status for Standard mode gates and react to issue updates. |
write:jira-work | Create and update gate issues in Standard mode. |
storage:app | Keep settings, gate state and nonces in Forge storage. |