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.

Core Principle: Feed The Troll is a 100% native Atlassian Forge application. App data and privacy-safe activation counters are processed on Atlassian infrastructure. The App runtime operates zero external servers, zero external databases, and zero third-party analytics services.

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.

Region parity: Forge SQL stores data in the same AWS region as your Jira Cloud instance. Data never crosses regional boundaries without your organisation’s consent as part of Atlassian’s own platform policies.

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.
We do not use or keep: issue titles, descriptions, comment text, attachment files, code repository content, or email addresses. Jira's event notifications carry some of these, such as an issue's title or a new comment's text, and the App ignores them. Teammates' display names are read only to show them in the Toast list and are never stored. The only personal identifier stored is the Atlassian Account ID.

Jira API Scopes Requested

The App declares the following Forge permission scopes in its manifest. No other scopes are requested.

read:board-scope:jira-software Find a sprint's project from its board when the sprint has no issues
read:issue-details:jira Detect issue status transitions and comment events for XP calculation
read:jira-work Read issue metadata (key, status and its category, assignee account ID, estimate and time spent), a flagged issue's comment count, and JQL counts and searches that return no issue content
read:jira-user Resolve account IDs to link troll profiles, check that a person can browse a project before showing its data, and show teammates' display names in the Toast list
read:sprint:jira-software Receive sprint start and close events, and check whether a sprint is over so its team quests end
storage:app Read and write all App data via Forge SQL (scoped to this App only)

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.

SettingDefaultGoverns visibility of
Show in VillageONYour troll appearing in the shared team village scene
Show LevelONYour level on the village leaderboard
Show StreakOFFYour consecutive active-day streak count
Show XPOFFYour total accumulated XP
Allow ToastsONWhether 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.

Third-Party Sharing

We do not share, sell, rent, or otherwise transfer any end-user data to third parties. This section is unambiguous:

  • No advertising networks or marketing platforms receive any data.
  • No third-party analytics or crash-reporting services (e.g. Datadog, Sentry, Mixpanel) are integrated into the App runtime.
  • No external APIs are called at runtime. The App has no outbound network access beyond Atlassian’s own Jira and Forge platform APIs.
  • No data is shared between different organisations’ Jira instances. Forge SQL storage is scoped to a single tenancy.
Infrastructure: All data is stored exclusively within Atlassian’s Forge SQL, scoped to your Jira instance. No data is transmitted to any external server.

Atlassian-Hosted Activation Metrics

The App emits twelve one-time, installation-level activation counters through Atlassian Forge custom metrics. They indicate whether an installation reached admin onboarding, its first enabled project, its first Team Village, a completed first run, the troll creation screen, a hatched troll, a created Traveling Troll, the choice of “Not now” instead of one, its first positive XP, its first activated quest, its first opened village, and the first teammate seen there.

Three further counters record repeatable plan events: a site moving to the free plan, a site moving off it, and a free-plan limit being reached. Four more count Troll Sprint use: the game opened, the game opened from the My Troll panel, a run finished, and racing teammates turned on. Those are counted in Forge custom metrics only; the App stores no record of them, and a Troll Sprint count carries no person, time, track or result.

The counters do not contain Jira issue content, issue keys, project names, user or account IDs, troll names, comments, worklogs, configuration values, or custom metric dimensions. Atlassian attaches the platform context needed to operate its metrics service, such as the app environment, version, module or function, and installation site. The app developer can view these counters through Atlassian’s Developer Console and App Metrics API.

No third-party analytics service receives this data. Jira administrators can disable custom metrics access for the App through Atlassian Administration. Disabling metrics does not affect product functionality.

Marketplace Storefront Analytics

The public Atlassian Marketplace listing currently has a vendor-configured Google Analytics 4 property for storefront page analytics. It runs on the Marketplace listing, not inside Feed The Troll, and does not receive Forge SQL data or the App’s activation counters.

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.

Lawful basis: Processing is conducted under Legitimate Interest (Article 6(1)(f) GDPR) - specifically, the interest of the organisation in gamifying existing Jira workflows that employees are already performing as part of their employment. No new data collection occurs beyond what Jira already records.

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:

ChannelDetails
Email [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.
For data subject requests (access, erasure, portability), please include your Jira instance URL and the Atlassian Account ID or email address associated with your account so we can locate and verify your records.

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.