Privacy Policy: Chatpane: Google Chat Notifications for Jira
Effective date: October 1, 2026
This policy explains what information the Chatpane: Google Chat Notifications for Jira app (the "App") handles, where it goes, and how long it's kept. The App is provided by Brainstatic Threads ("we", "us"). It has two parts:
- Space notifications: Jira updates posted to Google Chat spaces through incoming webhooks.
- Personal messages: Jira updates sent to individual people as direct messages from the Chatpane app in Google Chat. These are off until a Jira admin turns them on, and each person chooses whether to connect.
Summary
- The App runs on Atlassian Forge, Atlassian's hosted app platform. For personal messages we also run one small service, the Chatpane router, on Cloudflare. It receives Google Chat's events for the Chatpane app and passes link requests to the right Jira site. It never sees Jira content.
- Jira updates go only to the Google Chat spaces your admins connect and to the people who connect their own Google Chat account, and only through Google's Chat service at
chat.googleapis.com. - Admins choose what's sent to Chat spaces. People choose which updates they receive personally, and personal messages only cover work items the person can open in Jira.
- We don't sell data, show ads, or use tracking or analytics of our own.
Information the App handles in Jira (Forge)
| Information | Why | Where it's kept | How long |
|---|---|---|---|
| Connection settings (a name, chosen Jira spaces, events, statuses, work types, JQL filter, message options) | To decide what to send where | Forge storage | Until an admin deletes the connection or the App is uninstalled |
| Webhook URLs for Google Chat spaces | To deliver messages | Forge secret storage. Never shown again after saving, and sent only to chat.googleapis.com |
Until an admin deletes the connection or the App is uninstalled |
| Messages waiting to be sent, to Chat spaces or to people (the content described below) | To deliver messages in order at Google's rate limit | Forge storage | Deleted as soon as each message is sent, normally within seconds. Deleted without sending if the connection is paused, deleted or stops working, or the person disconnects |
| Delivery log (time, work item key, event type, and whether delivery succeeded, with Google's error message if not) | So admins can see what was sent to Chat spaces and fix problems | Forge storage | The last 100 entries per connection |
| Personal connection for each person who connects: their Atlassian account ID, Google Chat user ID, the ID of their direct-message space with Chatpane, their Google display name and email address, when they connected, and a note if Google stops accepting messages | To send that person's messages to the right place, and to show them which Google account they connected | Forge storage | Until the person disconnects (in Jira or by typing unlink in Google Chat), removes Chatpane in Google Chat, connects a different Google account, or the App is uninstalled |
| Personal preferences (which kinds of update the person wants, whether to include comment text, pause) | To respect each person's choices | Forge storage | Until the App is uninstalled |
| Link codes (a one-time code and the Atlassian account that asked for it) | To connect a person's Jira and Google Chat accounts | Forge storage | 10 minutes, deleted on use or when a newer code is made |
| Site settings (whether Jira space admins may connect their own spaces; whether personal messages are on) | Admin control | Forge storage | Until changed or the App is uninstalled |
| Error logs | To diagnose failures | Atlassian's Forge logging. Logs record errors, never message content | Per Atlassian's log retention |
Information the Chatpane router handles (Cloudflare)
The router is only involved in personal messages. Google sends it the events for the Chatpane app in Google Chat: when someone adds or removes Chatpane, and the messages they type to it (such as link CP-AB12CD, unlink or help). Each event includes the person's Google Chat user ID, display name and email address and the ID of the chat. The router checks that each event really comes from Google, answers it, and for link, unlink and app removal, passes the Google Chat user ID, display name, email address and chat ID to the Jira site concerned, signed so the site knows it came from the router.
| Information | Why | Where it's kept | How long |
|---|---|---|---|
| Link codes, with the address of the Jira site's App that registered each one | To know which Jira site a typed code belongs to | Cloudflare D1 database (United States) | 10 minutes |
| Links: a Google Chat user ID and the address of the Jira site's App it's connected to | So unlink and removing Chatpane reach every Jira site the person connected |
Cloudflare D1 database (United States) | Until the person types unlink, removes Chatpane in Google Chat, or disconnects in Jira. A daily check also removes links a Jira site no longer has, for example after the App is uninstalled |
| Diagnostic logs (event type, outcome and timing) | To keep the router working | Cloudflare's logging | Up to 7 days. No user IDs, names, email addresses or message text |
The router doesn't store names, email addresses, the text people type, or any Jira content.
What's sent to Google Chat
For each Jira update a Chat space connection is set up to send, and for each personal message, the App sends one message containing:
- the work item key and summary, and a link to the work item
- the display name of the person who made the change, and what they did (for example, "moved it To Do → In Progress")
- the fields chosen for that connection, or for personal messages status, assignee and priority (display names for people)
- the comment text, for comment events and mentions, unless comment text is switched off for that connection or by the person
- for personal messages, why the person received it (for example, "You're the assignee")
Nothing else is sent. Messages to Chat spaces go through the space's webhook. Personal messages are sent by the Chatpane app in Google Chat, using a Google service account that belongs to the App.
Once a message reaches Google Chat, it's stored and handled by Google under your organization's Google Workspace agreement and settings. Anyone who can see a Chat space can read the messages in it, so choose each connection's Chat space with that in mind. Personal messages go only to the person's own direct-message chat with Chatpane.
Personal messages are sent only to people who connected their own Google Chat account, only for the kinds of update they chose, never about their own changes, and only about work items Jira says they're allowed to open. The App checks that permission before every personal message.
The App reads work items, comments, watchers, people's display names, and the permissions of the person using its pages from Jira. It receives Atlassian account IDs and site details as part of the Forge platform context.
Google user data
The App receives the following from Google, only for people who use the Chatpane app in Google Chat: their Google Chat user ID, display name and email address, the ID of their direct-message chat with Chatpane, and the messages they send to Chatpane. It uses them only to connect the person's Jira account, show which Google account is connected, send them the Jira updates they asked for, and reply to their commands. It doesn't sell them, use them for advertising, or share them with anyone except the person's own Jira site's App as described above. The App's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Third parties
- Atlassian hosts the App and its storage on Forge. Atlassian's privacy policy applies to its handling of data. Forge storage follows your organization's Atlassian data residency settings.
- Cloudflare hosts the Chatpane router and its database for us, as described above. Cloudflare's privacy policy applies to its handling of data.
- Google receives the messages described above, because delivering them to Google Chat is what the App is for. Google processes them as part of your organization's Google Workspace service, under your agreement with Google, not ours. Google also sends the Chatpane app's events to the router. Our Google Cloud project holds the Chatpane app's configuration and the service account it sends with; it stores no customer data.
No other third parties receive data from the App.
Our access to your data
We can't browse your Jira data, the App's Forge storage or your Google Chat spaces. We can see the router's database: Google Chat user IDs, which Jira site's App each one is linked to, and link codes for their 10 minutes. We use that access only to run and support the router. If your administrators allow log sharing for the App (an Atlassian Administration setting), we can see the App's error logs to help with support. Admins can turn log sharing off at any time.
Security
- Only Jira administrators can manage all connections and turn personal messages on. Jira space admins can manage connections for their own space, and Jira admins can turn that off. People manage only their own personal connection. All of this is checked on the server for every request.
- Webhook URLs are stored as Forge secrets and never returned to the browser.
- The App can only send requests to
chat.googleapis.com,oauth2.googleapis.com(to sign in its service account) and the Chatpane router; Forge blocks any other destination. - The router accepts Google Chat events only with a valid token signed by Google. Calls between the router and Jira sites are signed with a shared secret and rejected if they're unsigned, altered or more than 5 minutes old.
- If Google reports that a webhook or a person's chat no longer works, the App stops sending to it and deletes the messages waiting for it.
Deleting data
- A connection: deleting it removes its settings, webhook URL, waiting messages and delivery log.
- A personal connection: click Disconnect on your Chatpane page in Jira (Settings (⚙) → General settings → Chatpane), type
unlinkto Chatpane in Google Chat, or remove Chatpane from Google Chat. This deletes the connection and waiting messages in Jira and the link in the router. - Messages already in Google Chat: delete them in Google Chat. The App can't delete them.
- Everything else: when the App is uninstalled, Atlassian removes the App's stored data under Forge's data retention practices, and the router's daily check removes that site's links.
Your rights
Depending on where you live, you may have rights to access, correct or delete personal data. You can see and delete your own personal connection yourself, as described above. For personal data in Jira, contact your Jira administrator. For personal data in Google Chat, contact your Google Workspace administrator. For anything else, contact us at support@brainstaticthreads.com.
Data Processing Addendum
For customers subject to the GDPR or UK GDPR, our Data Processing Addendum sets out our obligations as a processor.
Children
The App is a business tool and isn't directed at children under 16.
Changes
We'll post updates to this policy at https://brainstaticthreads.com/chatpane/privacy/ and change the effective date above. Significant changes will also be noted in the App's Marketplace release notes.
Contact
Brainstatic Threads support@brainstaticthreads.com