Feed The Troll - Jira Cloud App
Privacy & Security Policy
This policy describes how Feed The Troll handles data within your Jira Cloud instance. Effective date: 27 September 2026.
Introduction & Scope
This Privacy and Security Policy governs data processed by Feed The Troll (the “App”), a Jira Cloud application developed by drinkits DEV and distributed via the Atlassian Marketplace.
This policy applies to all end-users, project members, and Jira System Administrators who interact with the App within their organisation’s Atlassian Jira Cloud instance.
What the App Does
Feed The Troll gamifies your team’s existing Jira workflow. When team members log time, transition issue statuses, leave comments, complete sprints, or send a teammate a Toast, the App awards XP to a personal “troll” character. Trolls level up, evolve through five stages, and collectively shape a shared team village. No new workflow is imposed - the App observes activity that already occurs inside Jira.
Data Storage (Forge Infrastructure)
All App data is stored exclusively in Atlassian Forge SQL - a TiDB-compatible managed database that runs entirely within Atlassian’s infrastructure. There are no external servers, no cloud buckets, and no off-platform databases of any kind.
What Is Stored and Why
| Table | Contains | Retention |
|---|---|---|
trolls |
Troll profile per user per project: level, XP, lineage, cosmetics, privacy toggles, streak, last active date | Until app uninstall |
xp_events |
Log of XP-awarding actions: event type, XP awarded, quality multiplier, source issue key, timestamp | Until app uninstall |
daily_activity |
Daily XP and action count per user per project - used for the 30-day activity heatmap | Until app uninstall |
kudos |
Sender ID, recipient ID, project ID, optional message (max 280 chars), XP awarded, source issue key | Until app uninstall |
quest_progress |
Personal quest progress: quest ID, current count, target, completion status, timestamps, and what the quest has already counted (the days, or the issue keys) | Until app uninstall |
inventory |
Cosmetic items earned via quests: item type, item ID, acquisition source | Until app uninstall |
team_quests |
Team quest progress per project per sprint, and when an unfinished quest ended with its sprint - no personal data | Until app uninstall |
villages |
Shared village state per project: building levels, defense score, prosperity score, and counts of work in progress and aging work - no personal data | Until app uninstall |
raid_history |
Sprint raid outcomes per project: outcome, defense score, XP bonus, building affected - no personal data | Until app uninstall |
raid_claims |
One row per project and sprint that has been raided, so a repeated sprint event cannot raid twice - project and sprint IDs only | Until app uninstall |
project_settings |
Feature toggle configuration per project; stores the account ID of the last administrator who changed settings | Until app uninstall |
global_settings |
Instance-wide settings (rollout strategy, Global Harmony Mode); stores admin account ID of last modifier | Until app uninstall |
loot_boxes |
Tavern Loot Drops offered to a user in a project: tier, contents, opened state, timestamps | Until app uninstall |
guilds |
Team Village name, configuration, and progression mode; stores the account ID of the admin who created or last changed it | Until deleted by an admin, or app uninstall |
guild_project_bindings |
Which Jira projects belong to which Team Village - project and village IDs only | Until deleted by an admin, or app uninstall |
troll_profiles, active_troll_profiles |
Traveling Troll profile per user per Team Village: level, XP, appearance, streak, and which profile is currently active | Until app uninstall; archiving retires a profile without deleting it |
troll_profile_sources |
Which project trolls were merged into a Traveling Troll, so the merge can be explained back to the user | Until app uninstall |
troll_profile_xp_events, troll_profile_quest_progress |
The Traveling Troll equivalents of the XP log and quest progress above | Until app uninstall |
global_license_projects |
Which projects the free plan currently covers - project IDs only | Until changed, or app uninstall |
product_metric_events |
Installation ID, activation metric name, and timestamp used only to prevent duplicate counter emission | Until app uninstall |
troll_sprint_players |
The account IDs of players who turned on racing teammates in Troll Sprint | Until the player turns it off |
troll_sprint_runs |
For those players only: the UTC date of the daily track, the best time on it, that run’s ghost (the troll’s position 15 times a second), and whether that day’s Sprint Goal XP was paid | The track’s own day plus one day; deleted at once when the player turns racing off |
On Uninstall
When the App is uninstalled from a Jira instance, the Forge platform automatically deletes all associated Forge SQL data, after Atlassian's 28-day retention window. No data remains on any infrastructure we control.
What Data We Process
The App processes the minimum data necessary to deliver the gamification experience. The following describes precisely what is read from Jira and what is derived and stored.
Data Read from Jira (Not Stored)
To detect XP-awarding events, the App receives event notifications from Jira and uses these parts of them, plus a few narrow reads for specific rules:
- Jira Account ID - the Atlassian-assigned opaque identifier for the user who performed the action (e.g.
5f7a3b...). This is not a name or email address. - Project ID - to associate the event with the correct village.
- Event type and timestamp - what happened (e.g. a worklog was created) and when.
- Issue key - the Jira issue identifier (e.g.
PROJ-42) stored alongside the XP event for the activity log. - Status category - whether an issue's new status is in Jira's To Do, In Progress or Done category, so a status counts whatever it is called.
- A sprint's projects and state - the projects of a sprint's issues (a JQL search that returns the project and nothing else), the board's project when a sprint has no issues, and whether a sprint is over, so its raid and team quests reach the right village.
- Counts of work in progress - per project, how many issues are in progress and how many of those have not moved for a week. These are JQL counts with no issue content, used for the village's defence.
- Comment count - how many comments a flagged issue has, the number only, for the blocker bonus.
- Estimate and time spent - of an issue that was just finished, for the Estimation Sage quest.
Jira API Scopes Requested
The App declares the following Forge permission scopes in its manifest. No other scopes are requested.
The App does not request write access to Jira issues, attachments, users, or any other Jira content. All write operations are limited to the App’s own Forge SQL storage.
User-Controlled Visibility
Each user controls what teammates can see via five privacy toggles in the Gear tab of the My Troll issue panel. A save applies to every troll that person owns, not only the project in view. These settings do not affect data storage - they only govern what is displayed to other users within the App.
| Setting | Default | Governs visibility of |
|---|---|---|
| Show in Village | ON | Your troll appearing in the shared team village scene |
| Show Level | ON | Your level on the village leaderboard |
| Show Streak | OFF | Your consecutive active-day streak count |
| Show XP | OFF | Your total accumulated XP |
| Allow Toasts | ON | Whether others can send you a Toast (kudos) |
Admin-Controlled Visibility
A Jira System Administrator can also set Who sees trolls to Only your team. Then the troll is shown only to people who hold Jira’s View Development Tools permission, hiding it from anyone without that permission (such as external or portal customers) across the issue panel and the Team Village. This is a display control only - it does not change what data is stored. It is off by default.
Troll Sprint
Troll Sprint is a short running game in the Team Village. By default no time or result of a run leaves the browser or is kept in browser storage; the game only adds to two counts (the game opened, a run finished), described under Atlassian-Hosted Activation Metrics, and the day’s best time lasts only until the page is reloaded. The My Troll panel remembers in the browser only the date on which it last opened the game, so it invites a player once a day.
A player can turn on racing teammates in the game. It is off until that player turns it on, it is not offered under Harmony Mode or Ethics Mode, and the game shows exactly what is shared before it is turned on. For that player, the best time on each day’s track and its ghost are stored (see the table above). Teammates who can see the player’s troll in a village can race that ghost and see the troll name and the difference in time, never an account ID. Meeting the day’s Sprint Goal earns 10 XP once a UTC day, recorded like any other XP, so teammates see it only if the player shares their XP. A player who shares also sees on the Troll Sprint sign how many teammates ran today’s track, a number and never who. Turning racing off deletes the player’s runs at once. A Jira System Administrator can turn Troll Sprint off for the whole site.
GDPR & Data Rights
For organisations with users in the European Union or European Economic Area, this section describes the GDPR framework governing the App.
Controller and Processor Roles
Your organisation (the Jira Cloud customer) is the Data Controller: you determine the purpose and means of processing personal data by choosing to install and configure the App within your Jira instance.
drinkits DEV acts as a Data Processor operating through Atlassian’s Forge platform. We process only the data necessary to deliver the App’s stated functionality, in accordance with your instructions as expressed through the App’s configuration.
Individual Data Rights
The following rights are available to data subjects. Because the App stores only Atlassian Account IDs (not names or email addresses), identity verification is handled via Atlassian’s existing authentication.
■ Right to Access
View your troll profile, XP history, quest progress, and activity heatmap directly in the App, from the My Troll issue panel. Contact us for a complete data export.
■ Right to Erasure
Atlassian’s standard User Deletion APIs propagate to Forge SQL, removing your records when your Atlassian account is deleted. You may also contact us directly to request erasure of your troll data only.
■ Right to Portability
Contact us via the support portal to request a structured export of your personal troll data in a machine-readable format.
■ Right to Restrict
Use the five privacy toggles in the Gear tab of the My Troll issue panel to restrict the visibility of your data to teammates. For full processing restriction, contact us or ask your Jira System Administrator to remove your troll profile.
Data Retention
Data is retained for as long as the App is installed and active in your Jira instance. The one exception is Troll Sprint runs, which are deleted the day after their track’s day, or at once when the player turns racing off; no other record expires on its own during an active installation. Upon uninstall, all Forge SQL data is deleted automatically by the Atlassian platform after its 28-day retention window with no further action required from you.
International Transfers
The App does not transfer data across borders independently. Any geographic placement of data is determined by Atlassian’s infrastructure and your organisation’s Jira Cloud region selection, and is governed by Atlassian’s Data Processing Addendum and Standard Contractual Clauses where applicable.
CCPA (California)
We do not sell personal information as defined under the California Consumer Privacy Act. California residents have the right to know what data is collected (this policy), to request deletion (contact us or uninstall the App), and to opt out of sale (not applicable - no sale occurs).
Contact Us
For any privacy or security question, request, or concern related to Feed The Troll, contact us through one of the following channels:
| Channel | Details |
|---|---|
| [email protected] | |
| Support Portal | drinkits.atlassian.net/servicedesk - preferred for formal data subject requests |
| Response time | Target initial response within 1 business day; formal data subject requests are completed within the period required by applicable law |
| Security disclosures | Mark your support ticket or email as Security Issue. Critical reports are triaged within 24 hours, contained as quickly as possible, and followed by written status updates. |
Policy Updates
We will update this policy when the App’s data practices change. Material changes will be announced via the Atlassian Marketplace changelog. The effective date at the top of this page will reflect the most recent revision.