Privacy & security
Last updated: 17 August 2026
QuickBooks Timesheet Sync for Jira & Tempo ("the app") is built by Crosstown Tech, a software studio based in Toronto, Canada. This page describes exactly what the app reads, what it writes, what it stores, and for how long.
What the app reads
- From Jira: worklogs (date, duration, comment, author), and the issue and project each worklog belongs to, plus the user list for mapping people. Read-only.
- From Tempo (only if you enable it and supply a Tempo API token): worklogs, their billable split, and timesheet approval status.
- From QuickBooks Online: customers and sub-customers (projects), employees, service items, company info, and the time activities the app itself created.
What the app writes
- To QuickBooks Online: time activities, and updates to time activities it previously created. It does not create invoices, touch banking or payroll data, or modify anything outside time activities.
- To Jira: nothing. Jira access is read-only.
Where data is stored
Application data is stored on Convex Cloud (United States region). For each installation the app keeps: your Jira installation identifier and site cloud id; your QuickBooks company (realm) id and company name; the mappings you configure; a cached copy of your QuickBooks customers and service items; and one record per worklog holding the fields needed to sync it — issue key, project key, author account id, date, duration, billable seconds, worklog comment, and the resulting QuickBooks time activity id and sync state.
The app stores no personal data
People are recorded only by their Atlassian account id. The app does not store anyone's name or email address — not your Jira users', and not your QuickBooks employees'.
Names still appear in the app, because it needs them to be usable. They are fetched from Jira and QuickBooks when a screen is drawn, used to render that screen, and then discarded. Matching a Jira user to a QuickBooks employee works the same way: the comparison runs in memory on data that was just fetched, and what is written down is the decision — this account id maps to that QuickBooks employee id — and nothing else. Your QuickBooks employee list is not cached at all.
The app also does not store your QuickBooks financial records or invoices, or any Jira data other than what is listed above.
Credentials
- QuickBooks: connection uses Intuit OAuth 2.0. The refresh token is encrypted at rest with AES-256-GCM and is never sent to the browser. Access tokens are short-lived and held only as a server-side cache.
- Scope: the app requests one QuickBooks scope,
com.intuit.quickbooks.accounting— the minimum needed to read the lists above and write time activities. - Tempo: if you supply a Tempo API token it is encrypted at rest with the same mechanism and is never returned to the browser, only replaced or removed.
- Jira: the app holds no long-lived Jira credential. It uses short-lived tokens issued by Atlassian Forge for the installation, scoped to the permissions declared in the app's manifest.
Who can see what
Each installation is isolated: every stored record is keyed to the Jira installation that created it, and no query crosses that boundary. Jira reads run as the identity of the person who connected QuickBooks, so the app never sees issues that person cannot see.
Sub-processors
- Convex — application backend, database and scheduled jobs (US).
- Atlassian — hosts the app's user interface inside your Jira site.
- Intuit — the QuickBooks Online API the app writes to.
- Vercel — hosts this marketing site only; no customer data.
No data is sold, shared with advertisers, or used to train models.
Retention and deletion
Disconnecting QuickBooks in the app revokes the token with Intuit and deletes the stored credential immediately. Uninstalling the app from your Jira site stops all processing. To have the remaining installation data deleted, raise a support request from an address on your Jira site's domain and it will be deleted within 30 days. Time activities already written to your QuickBooks company belong to you and are not removed — they are your accounting records.
Security practices
- All traffic is HTTPS. Requests from the Jira user interface are authenticated with an Atlassian-signed Forge invocation token, verified on every request.
- Incoming QuickBooks webhooks are verified with Intuit's HMAC signature over the raw request body before they are parsed.
- Encryption keys are held as deployment environment variables, not in source control.
- The app writes to QuickBooks only for installations where an administrator has explicitly turned syncing on.
Contact
Crosstown Tech — support portal. For privacy requests, please include your Jira site URL.