App Data Annex
Soverain s.r.o. Last updated: 8 October 2026
This annex forms part of the Soverain Privacy Policy. It records, per app, exactly which personal data categories the app touches, whether the app merely accesses the data or durably stores it, and how long stored data is kept.
Everything below is derived from each app's source code, not from a questionnaire.
Apps in scope
| App | Platform | Host product | Distribution | Data location |
|---|---|---|---|---|
| Kanban+ | Atlassian Forge (Custom UI) | Jira Cloud | Atlassian Marketplace | Atlassian-hosted Forge storage, inside the customer's installation |
| Diagon | Electron desktop app (Windows, Linux; macOS in development) | None — it runs on its own | Download from soverain.cz | Your own computer. Files where you save them, plus the app's own application-data folder |
| OnTask | Atlassian Forge | Jira Cloud | Atlassian Marketplace | Atlassian-hosted Forge storage, inside the customer's installation |
The apps are shaped differently enough that each is documented separately: sections 1–7 cover Kanban+, section 8 covers Diagon, section 9 covers OnTask. Each Soverain app is documented here rather than getting its own privacy policy.
1. Kanban+ — summary
| Soverain's role | Processor. The Atlassian customer is the controller. |
| Where the app runs | Atlassian-hosted compute only. No Soverain servers. |
| External network access | None. No remotes, no external permissions declared. |
| Sub-processors | Atlassian only. |
| AI / model inference | None. The previous AI assistant was removed in full, including the code that could store an API key. On an installation that saved one before the removal, the orphaned value is still reaped by the full purge in §6. |
| Payment data | Never seen. Atlassian is the seller of record. |
2. Permissions the app requests
You approve these at installation. They define what the app can read — a wider boundary than what it stores.
| Scope | Why the app needs it |
|---|---|
read:jira-work | Read issues, statuses, priorities, fields and versions to render boards, timelines and reports |
write:jira-work | Apply transitions, field edits, labels, due dates, subtasks and comments — the actions your automation and SLA rules perform |
read:jira-user | Power the user picker for board administrators, team rosters and assignee filters |
read:project:jira | List projects when configuring a board |
read:board-scope:jira-software | Import existing Jira boards and read their column configuration |
read:board-scope.admin:jira-software | Read the backing filter of an imported board |
write:board-scope:jira-software | Backlog view: create and update sprints, move issues between sprint and backlog |
storage:app | Persist board configuration in Forge hosted storage |
3. Data the app STORES
Everything in this table lives in Forge hosted storage, inside your Atlassian installation, subject to your data residency configuration.
| Record | Contents | Personal data? | Retention |
|---|---|---|---|
| Board configuration | Board name, projects, JQL, columns, colours, card settings, quick filters, saved views, automation rules, issue templates, custom pages | Yes — creator account ID; board administrator account IDs and display names; saved-view assignee account IDs; "assign" automation actions store an account ID and display name; the account ID of the administrator who last verified the board's permissions, with the time of that check; automation rule names and comment templates are administrator free text | Until the board is deleted |
| Retrospective content (stored inside board configuration) | Retrospective column items: free text, vote list, author name | Yes — and the most sensitive text the app holds. Free text written by team members, attributed by display name, with account IDs recorded as votes. Retrospective text is where colleagues write about colleagues. | Until the board is deleted |
| Team roster | Team name, member list, creator | Yes — member account IDs and display names; creator account ID. A people directory. | Until the team is deleted |
| Cross-board blocker records | For each cross-board dependency: blocked and blocker issue keys, verbatim Jira issue summary text, blocker status, board names | Treat as yes. Issue summaries routinely contain customer names, employee names and confidential project detail. | Recomputed daily; deleted when the board is deleted |
| Automation audit log | Per automation run: timestamp, rule ID, rule name (free text), trigger type, issue key, actions attempted and their results, duration | Treat as yes. Rule names are administrator free text and often contain a person's name. | Newest 100 entries per board; deleted when the board is deleted; clearable on demand |
| Issue status timestamps | Issue ID, issue key, status ID, timestamp the issue entered that status | No person is named. It is a per-work-item timeline. | Life of the installation — see §5 |
| Daily analytics snapshots | Board ID, date, the time the snapshot ran, and three integer issue counts | No. Aggregate counts only. | 365 days, then deleted by a daily job |
| SLA alert cooldown markers | A timestamp, used to avoid sending duplicate alerts within 24 hours | No in the value. The record's key can embed an administrator-authored rule name where a rule has no ID. | 48 hours, then deleted by a daily job |
| Active-board pointer | Which board a user last had open | Yes — the Atlassian account ID is part of the record's key. | Cleared when the board it points at is deleted |
| Personal-data reporting state | Which account IDs were reported to Atlassian and when; pending erase/refresh actions | Yes — account IDs | Until acted on; removed by the full purge |
Browser storage
One key, kanban:collapsedCols, in the browser's local storage. It records which board columns you collapsed. No personal data. It never leaves your device.
4. Data the app ACCESSES but does NOT store
Read from Jira, rendered in your browser, then discarded. Never written to app storage, never transmitted anywhere.
| Category | Notes |
|---|---|
| Issue summaries, descriptions, comments | Rendered live. Exception: summaries of cross-board blockers are stored — see §3. |
| Assignees, reporters, avatars, display names | Rendered live. Exception: stored when an administrator explicitly saves someone as a board admin, team member or saved-view filter. |
| Changelogs, worklogs, sprints, versions, issue links | Rendered live |
| Projects, statuses, priorities, field definitions | Rendered live |
| Attachments | Not read by the app |
| Boards, columns, filters, backlog and ranking | Read and written to Jira; nothing persisted in app storage |
5. Retention decisions worth explaining
Analytics snapshots: 365 days. The product surfaces at most 90 days of history. A year is generous headroom while still being a real, statable number rather than "indefinitely".
SLA cooldown markers: 48 hours. The marker's purpose expires after 24 hours. 48 gives margin for clock skew and delayed scheduled runs.
Issue status timestamps: not aged out. Each record holds the moment an issue entered its current status — the input to every SLA calculation. A long-lived issue legitimately has a months-old timestamp, so age-based deletion would silently corrupt your SLA reporting instead of reclaiming dead data. The record names no person.
Known minimisation gap, disclosed rather than hidden. The app writes a status-timestamp record for every issue on the Jira site that changes status, not only issues on a Kanban+ board. An installation with one board covering one project still accumulates one small record per site-wide issue. Narrowing it to board-relevant issues is a product change rather than a retention one — issues would carry no timing history until a board covering them existed — and we would rather describe the current behaviour plainly here than quietly alter what your SLA reports are built on. As it stands, each record is a few fields naming no person, and it is removed by the full purge in §6 and by uninstallation.
Board deletion cascades. Deleting a board now also deletes its audit log, its snapshots, its cross-board blocker records, and any user's pointer to it. Earlier versions deleted only the board record itself, orphaning the rest.
6. Deletion and uninstall
| Event | What happens |
|---|---|
| Delete a board | That board's configuration, audit log, snapshots, blocker records and active-board pointers are deleted |
| Delete a team | The team roster record is deleted |
| Clear the audit log | That board's audit entries are deleted |
| Full erasure without uninstalling | Available via an admin-gated purge function. No UI has shipped yet — email support@soverain.cz and we will guide your site administrator through it |
| Uninstall the app | Atlassian deletes the data. Forge hosted storage is retained 28 days after uninstallation, soft-deleted then disposed of per Atlassian's retention policy. Within 21 days you can ask Atlassian to relink a reinstallation to your previous data. |
| Delete the Atlassian site | All associated app data is deleted with the site |
Kanban+ implements no uninstall-time cleanup hook, deliberately. Atlassian already performs the deletion; the only available hook is documented as non-blocking and could not support a reliable promise; and wiping storage eagerly would destroy your 21-day relink window.
Closed accounts. A weekly job reports every stored account ID to Atlassian's Personal Data Reporting API (manifest scope report:personal-data); a daily job then erases closed accounts from board configuration, team rosters and the active-board pointer, and refreshes changed display names from Jira. Its state lives under the privacy: key prefix and is included in the full purge. Neither job is licence-gated: a lapsed subscription does not pause erasure.
7. Data residency — in scope and out of scope
Runs on Atlassian requires apps to support the host product's data residency. Here is what that covers for Kanban+.
IN SCOPE — pinned to your Atlassian data residency location
- All Kanban+ records listed in §3, stored in Forge hosted storage.
- All Jira data the app reads, which never leaves your Atlassian environment.
Because the app holds no data outside Forge storage, every piece of customer data the app handles is in scope for data residency. There is no second copy anywhere.
OUT OF SCOPE — not covered by data residency pinning
Stated because Runs on Atlassian obliges us to be specific, and because these are the items an enterprise reviewer will ask about:
| Item | Why it is out of scope |
|---|---|
| Application logs | Diagnostic log lines are collected by the Atlassian logging platform, not by Forge hosted storage, and are not covered by data residency pinning. Retained 30 days by Atlassian. A site administrator can disable app log access. See §5.3 of the Privacy Policy. |
| Compute location for individual invocations | Data residency pins where data is stored, not where every unit of compute runs. Kanban+ executes wholly on Atlassian's platform; Soverain neither chooses nor is told the region an individual invocation runs in, so we make no residency promise about it. Atlassian's own data residency documentation is the authoritative statement. Either way, nothing is written outside Forge hosted storage. |
| Marketplace licence and transaction records | Held by Atlassian as seller of record and shared with Soverain as a partner. Commercial records about your organisation, not app data. See §5.1 of the Privacy Policy. |
| Support correspondence | If you email us, that email is in our mailbox, not in Forge storage. |
Not applicable
Kanban+ has no realm-migration obligations of its own: it stores nothing outside Forge hosted storage, so when Atlassian moves your site between regions the app's data moves with it. There is no Soverain-side migration step.
8. Diagon — desktop app
Diagon is a different shape of product from Kanban+. You install it on your own computer and it runs there. There is no Soverain server holding your diagrams, because no server is involved in making them.
Summary
| Soverain's role | Controller, and only for your licence. Your diagrams never reach us. |
| Where the app runs | Your computer. |
| External network access | One request the app makes on its own: a licence refresh to soverain.cz. The only other outbound request is fetching an image your own diagram names by URL. See below. |
| Sub-processors | FastSpring (purchase and billing) and Microsoft Azure Communication Services (the email that delivers your key). Neither touches a diagram. |
| AI / model inference | Local. The model file ships inside the app and runs on your machine. What you type into it, and what it writes back, stay there. |
| Payment data | Never seen. FastSpring is the seller of record. |
| Telemetry | None. No analytics, no usage counters, no crash reporting, no "app was opened" ping. |
Data the app STORES on your computer
| Record | Contents | Personal data? | Where | Retention |
|---|---|---|---|---|
| Your diagrams | The plain-text diagram source you write, and anything you export from it | Whatever you choose to put in them | Files you name, in folders you pick | Yours. Keep or delete them like any other file — we hold no copy and cannot read them |
| Licence key | The signed key itself: the email address the licence was bought under, its issue and expiry dates, and the FastSpring order reference used for support lookups | Yes — the buyer email is inside the key | The app's own application-data folder (the standard Electron userData directory for your operating system) | Until you clear it or remove the app |
| Trial and licence state | When the 30-day trial began, and when the current key expires | No | Same folder | Same |
| Editor preferences | Diagram language, light or dark theme, auto-colour settings | No | Same folder | Same |
Nothing in that folder is transmitted anywhere except the licence key, and only as described next.
Data the app SENDS
Licence refresh — the signed key, and nothing else. While the app is online with an active subscription, it sends its current licence key to soverain.cz so a fresh one can be issued for the new period. The request carries the key and nothing more: no diagram, no filename, no file path, no machine or hardware identifier, no account. Our server verifies the key's signature, asks FastSpring whether the subscription is still running, and hands back a replacement key. As with any web request, our server sees the connecting IP address and a timestamp in its ordinary logs. Everyday licence checks — is this key genuine, has it expired — need no network at all: they are done against a public key built into the app.
Icon URLs you write yourself. If one of your diagrams references an image by URL, Diagon fetches that image from the host you named so it can be drawn and included in exports. That request goes to that third party, not to us, and only because your diagram asked for it. A diagram with no icon URLs makes no requests at all.
Deletion
Delete a diagram file and it is gone — it was only ever your file. Removing the app's application-data folder clears the licence key, the trial and licence state, and the preferences; your diagrams are untouched, because they were never inside it. The purchase records held by FastSpring and by us — the buyer email and order identifiers — sit outside the app entirely and are covered by the Privacy Policy. Write to privacy@soverain.cz about those.
9. OnTask — personal work clock and team timesheet
OnTask is a personal work clock and a team timesheet for Jira Cloud. Its global page (Apps → OnTask) has two tabs, one for each. Focus lists your own assigned issues, ranked by a deterministic score; you start a clock on one; stopping it writes a native Jira worklog authored by you. Team shows the time that people you select logged in Jira worklogs, per day, over a period you choose. The Team tab is on for every site, with no admin switch, and anyone with OnTask on the site can open it. An OnTask panel also appears on every issue view.
The Team tab reads worklogs in the viewer's browser, as the viewer, so Jira's own permissions decide what each viewer sees. It adds them up on every load and stores none of it. There is no manager role and no privileged view: everyone sees the same tab, and nobody gets a view of a colleague that the colleague's own peers could not also open. OnTask's own records about a person — their running clock, their ranking and the score behind it, their settings, their session history, the summaries they typed and their saved views — are never shown to anyone else. The worklogs OnTask writes are ordinary Jira worklogs, though, so their issue and duration can appear on a colleague's Team tab like any other worklog that colleague can see. The worklog comment, which may hold the person's summary, is never shown there.
Reading colleagues' logged time is workplace monitoring. Your organisation is the controller for that use, needs a lawful basis for it, and must tell its staff where the law requires it — §4.4 of the Privacy Policy and §2 of the DPA.
It is a Forge app, like Kanban+, and shares the same platform boundary: no Soverain servers, Atlassian as the only sub-processor, all data in Forge hosted storage inside your installation. Where sections 1–7 already give the answer, this section points at them instead of repeating them. Where OnTask differs — no display names stored, no write to Jira except the one you confirm, nothing generated — it says so.
Summary
| Soverain's role | Processor. The Atlassian customer is the controller. |
| Where the app runs | Atlassian-hosted compute only. No Soverain servers. |
| External network access | None. No remotes, no external permissions, no content delivery network; even the typefaces are bundled with the app. It calls nothing but Atlassian. |
| Sub-processors | Atlassian only. |
| Generated content | None. The ranking is a deterministic score. Everything the app writes into Jira is your own words verbatim, plus a duration and an issue key. |
| Payment data | Never seen. Atlassian is the seller of record. |
| Telemetry | None. No analytics, no usage counters. Log lines carry counts, durations and short reasons — never a storage key, a stored value, an account ID or a raw error. One line states the licence state, which contains no personal data. Nothing is logged about whose time is viewed on the Team tab. |
| Acting identity | Every Jira call made on your behalf is made as you, with your own permissions: from the app's back end with asUser, and from your browser with Forge's requestJira bridge, which always acts as the signed-in user. The Team tab's calls are all of the second kind. The app sees only what you can see and can write only what you could write yourself. |
Permissions the app requests
OnTask requests five scopes. As with Kanban+, they define what the app can read — a wider boundary than what it stores.
| Scope | Why the app needs it |
|---|---|
read:jira-work | Read your assigned issues and their fields to build the ranked list; read issue comments to spot mentions of you that are still unanswered; read existing worklogs; check whether you may log work on an issue; read the issues you pinned; in the issue picker, list the issues you viewed in the last 14 days and search issue titles for the words you type. On the Team tab: search for the issues the selected people logged work on in the chosen period, read those issues' worklogs, and check whether you may browse users (/rest/api/3/mypermissions?permissions=USER_PICKER), so the people search can explain its results |
write:jira-work | Create the worklog you confirm, and the optional issue comment. Used only from the stop screen, after you press Log it — never in the background |
read:jira-user | Read your own profile (your timezone sets the worklog start time and the days on the Team tab; your name and avatar appear on the Team tab), and check whether an account still exists, which drives automatic erasure. On the Team tab: search for people to add, and look up the names and avatars of selected people who logged no time |
storage:app | Persist the running clock, session history, preferences and saved Team views in Forge hosted storage |
report:personal-data | Report stored account IDs to Atlassian's Personal Data Reporting API. Required because account IDs are stored |
The Team tab added no scope. It uses read:jira-work and read:jira-user, which OnTask already requested, for the Team purposes named above. It makes six calls, all reads and all from the viewer's browser as the viewer: the issue search (POST /rest/api/3/search/jql) and the worklog reads (GET /rest/api/3/issue/{id}/worklog) and the browse-users check under read:jira-work; the viewer's own profile (GET /rest/api/3/myself), the people search (GET /rest/api/3/user/picker) and the name lookups (GET /rest/api/3/user?accountId=) under read:jira-user.
Data the app STORES
Everything in this table lives in Forge hosted storage, inside your Atlassian installation, subject to your data residency configuration.
| Record | Contents | Personal data? | Retention |
|---|---|---|---|
| Running clock | Issue key and summary, start time, paused total | Yes. It records what you are working on right now. The issue summary is verbatim Jira text, which routinely names customers and colleagues. | Until you stop or discard the clock |
| Session history | Issue key and issue summary, duration, the summary you typed when you stopped the clock | Yes — and the most sensitive text the app holds. A per-person, timestamped record of what you worked on, in your own words. | 12 months; a month holds at most 400 entries |
| Submission record | Your account ID, issue key and issue summary, duration, and the ID of the worklog that was created | Yes — account ID, and the issue summary | 30 days — see below |
| User preferences | The settings you changed from their defaults — comment default, daily-total threshold, ranking sliders — which saved Team view you had open, and the keys of the issues you pinned on the Focus tab: at most 10, the key only. A setting you never changed is not stored, so it follows the current default. A record saved by an earlier version of OnTask still holds a copy of every default until OnTask next saves your preferences; a stored value equal to the current default is ignored when the record is read | Yes — they are held against your account. The values are settings and issue keys, and name no one. | Until erased; a pinned issue until you unpin it |
| Saved Team views | For each view you save: its name, a period, the account IDs of the people in it, and when it was created and last changed. At most 50 people a view and 20 views a person | Yes — other people's account IDs, including people who have never used OnTask, under a name you typed that may itself name them. Visible only to the person who saved the view | Until you delete the view, your data is erased, or a site administrator erases everyone's data. A person whose data is erased is removed from every view; a view left with nobody in it is deleted |
| Site setting | Whether issue comments are allowed anywhere on the site | No. One switch for the whole site, set by a site administrator. | Until erased |
| Personal-data reporting state | When each stored account ID was last reported to Atlassian; which accounts are queued for erasure; and, where taking a person out of colleagues' saved views could not be finished during their own erasure, a note to finish it | Yes — account IDs | Kept while OnTask holds data for that account. Erasing a person's data removes their account ID here at once; an account OnTask stops holding for any other reason drops out when the next weekly report rebuilds the list. A note to finish a removal is deleted as soon as that removal succeeds. The daily backstop also keeps its place in the list of stored account IDs: a number, never an account ID |
No display names or avatars, and no other profile data, are ever persisted. Every name and avatar OnTask shows, on the Team tab and in its people search too, is read from Jira into the viewer's browser or into one response, shown, and discarded. A saved view holds account IDs, not names. This is a real difference from Kanban+ (§3), which does store display names.
No one's logged time is stored. The Team tab computes its figures in the viewer's browser each time it loads, and discards them.
Data the app ACCESSES but does NOT store
Read from Jira as you, rendered in your browser, then discarded. Never written to app storage, never transmitted anywhere.
| Category | Notes |
|---|---|
| Your assigned issues and their fields | Rendered live and ranked in the response. Exception: the key of an issue you pin, and the key and summary of an issue you clock or log time on, are stored — see above. |
| Issues you pinned, and issues listed in the issue picker | A pinned issue's summary and status, read each time the Focus tab loads. In the picker: up to 20 issues you viewed in the last 14 days, and up to 10 whose title has the words you type. Those words go to Jira's search as you and are not stored or logged. Shown, then discarded |
| Issue comments | Read only to detect mentions of you that you have not answered. Nothing from a comment is stored |
| Existing worklogs | Read to reconcile against Jira before a worklog is written. Nothing from them is stored |
| Your profile | Your timezone, read when a worklog start time is computed and to set the days on the Team tab; your name and avatar, shown on the Team tab; whether an account still exists, read by the daily retention job. Nothing from a profile is stored. If Jira gives the Team tab no timezone the browser can use, it falls back to the browser's timezone, then to UTC, and names the one it used under the grid |
| Worklogs of the people you select (Team tab) | The issues they logged work on in the chosen period, with each issue's key and summary, and each worklog's author, start time and duration. Read as you, in your browser, only on issues you can open and only where Jira's worklog visibility lets you see them. Added up per person and per day, shown, discarded. Jira returns a worklog's comment with it; OnTask never shows it |
| People search (Team tab) | Names and avatars that match what you type into Add people, and the names and avatars of the people selected — from the worklogs read, or looked up for anyone who logged no time. Held in the browser page while it is open, shown, discarded. The tab also checks whether you may browse users, so it can explain an empty result |
| Display names | Looked up per response, shown, discarded. Never persisted |
| Other people's OnTask data | Never read to show to you. The Team tab reads Jira worklogs, not OnTask's records: another person's running clock, their ranking and the score behind it, their settings, their session history, the summaries they typed and their saved views are not shown to anyone. Time they logged through OnTask is a Jira worklog like any other, so its issue and duration can appear on your Team tab; its comment does not |
Retention decisions worth explaining
Session history: 12 months, at most 400 entries a month. The history is what the Today list and the daily-total check are built from. Twelve months is a real, statable number rather than "indefinitely"; the cap of 400 entries a month bounds how much any one account can accumulate. The worklogs themselves live in Jira and are unaffected by the history expiring.
Submission record: 30 days. This record exists to make "you confirmed once" mean "exactly one worklog exists". It is written before the worklog call is made; if the outcome of that call is ever unclear, the app reconciles against the record and against the small ontask property carried by the worklog itself, rather than retrying blind. Thirty days is far longer than any reconciliation needs, and after that the record has no job left.
A half-written summary is not stored at all. It stays on the stop screen while you are typing it, and closing that screen loses it. An earlier version of this annex described an "unsent draft" kept for seven days; the app has never written one, and the row has been removed rather than the feature added.
Running clock: not aged out. It is deleted when you stop or discard it, not on a timer.
Saved Team views: not aged out. A view is kept until its owner deletes it, their data is erased, or a site administrator erases everyone's data. It holds account IDs, a period and a name, and no time. The people in it are taken out automatically by the same erasure that removes the rest of their data, including when their account closes, and a view left with nobody in it is deleted. Saving over a view that has changed since it was opened is refused, so a page that was open before someone's erasure cannot put that person back into the view.
Retention is enforced by a daily job. The job can read Jira — to ask whether an account still exists — but it is structurally unable to write to Jira. No background process in OnTask can.
Deletion and uninstall
| Event | What happens |
|---|---|
| Delete my OnTask data (Settings & privacy) | Everything the app holds about you is deleted, including your saved views and your account ID in the personal-data reporting bookkeeping, and you are removed from any view someone else saved. If that last step cannot be finished at the time, the app notes it and retries in its daily run until it is done. Only records that are exactly yours are touched. Any user, their own data, no administrator needed |
| Delete everyone's (Settings & privacy) | Everything the app holds, for every account on the site, is deleted. Site administrators only; the check is made server-side and fails closed |
| A closed account | Erased automatically, including from other people's saved views — see below |
| Uninstall the app | Atlassian deletes the data, exactly as for Kanban+ in §6: retained 28 days after uninstallation, soft-deleted then disposed of per Atlassian's retention policy; within 21 days a reinstallation can be relinked to the previous data |
| Delete the Atlassian site | All associated app data is deleted with the site |
None of these touches Jira. The worklogs and comments OnTask created are ordinary Jira data authored by you; they stay in Jira after any OnTask erasure and after uninstallation, and are removed, if at all, the way any other worklog or comment is removed in Jira. Neither erasure is licence-gated on the server. Delete my OnTask data is also on the lock screen shown when a subscription lapses; Delete everyone's is not, because that screen replaces Settings & privacy, so an administrator who needs it then should write to support@soverain.cz.
Like Kanban+, OnTask implements no uninstall-time cleanup hook, deliberately, for the reasons given in §6. Anyone who wants the data gone before uninstalling uses the delete buttons first.
Closed accounts. A weekly job reports the stored account IDs to Atlassian's Personal Data Reporting API (manifest scope report:personal-data), those reported longest ago first; a daily job then erases the accounts Atlassian reports as closed. The account IDs reported include everyone inside a saved view, not only the people who saved one. A weekly run has a time limit, so on a very large site the accounts it does not reach lead the next run and are reported every second week rather than every week. An erased person is removed from every saved view, and a view left with nobody in it is deleted. A view's name is its owner's own text and is not rewritten, so it can still mention them. Failures stay queued and are retried; accounts whose data is already gone are dropped from the bookkeeping. Atlassian's "updated" signal — a profile changed — is deliberately not acted on, because OnTask holds no copy of any profile to refresh. As a backstop, the daily job also makes a bounded per-account check of whether the account still exists. Neither job is licence-gated: a lapsed subscription does not pause erasure.
Data residency — in scope and out of scope
Section 7 applies to OnTask unchanged.
IN SCOPE — pinned to your Atlassian data residency location: every OnTask record listed above, and all Jira data the app reads. The app holds nothing outside Forge hosted storage, so every piece of customer data OnTask handles is in scope. There is no second copy anywhere.
OUT OF SCOPE: no app data. The four items in the §7 table — application logs, compute location for individual invocations, Marketplace licence and transaction records, support correspondence — sit outside pinning for OnTask for exactly the reasons given there. On logs specifically: OnTask's log lines carry counts, durations and short reasons, so what Atlassian's logging platform holds about an OnTask installation names no person.
Not applicable: OnTask has no realm-migration obligations of its own. When Atlassian moves your site between regions, its data moves with it; there is no Soverain-side step.
Related: Privacy Policy · Data Processing Agreement · Security Statement