Integrations Policy

Last updated: 20 October 2026

Storyvote runs inside chat and video apps and connects to issue trackers. This policy sets the rules every integration follows, today's and any we add later, and lists each one: who turns it on, what it reads and writes, what we keep and for how long.

In short: integrations are optional and free, and nothing connects unless someone chooses it. Storyvote reads only what a room needs, writes back only estimates, keeps tokens encrypted on its server and deletes them when the room is disconnected or ends. What it writes into your tools stays there, under your organisation's control.

1. What this policy covers

  • Chat and video apps (Slack, Discord, Telegram, Google Meet): Storyvote runs inside them, and they tell it who you are, so you don't type a name.
  • Issue trackers (Jira Cloud, Trello, Linear, Asana): a room connects to one to import stories and to write their estimates back.

Importing and downloading stories as CSV happens in your browser and involves no third party, so it isn't an integration in this sense. This policy is part of our Terms of Service; the personal data involved is described in our Privacy Policy.

2. Rules every integration follows

  • Optional. Nothing connects by itself. Only a room's host or a facilitator can connect it to a tracker, and they see which account it is connected as. A chat app is added by someone in your workspace, as its admin settings allow.
  • Still no Storyvote account. A chat app tells Storyvote who you are. A tracker connection belongs to the room, not to a person, and ends with it.
  • Least access. We ask for the narrowest permissions the provider offers for what the integration does. Where a provider offers only broader ones, we use them only for what section 7 lists.
  • Reads only what you pick. To show you what to import, Storyvote reads the names of boards, projects or teams and the titles and keys of their items, and doesn't store them. It stores only the items you import, as stories: their title, key, ID and link. It reads no descriptions, attachments or assignees, and reads an item's comments only to find the estimate comment it wrote there before.
  • Writes only estimates. Storyvote writes the final estimate, as one comment on each imported item ending with a link to storyvote.app (updated when the estimate changes) and, where the tracker has one, in its estimate field. It never changes an item's status, assignee or other fields, and never creates or deletes items.
  • Tokens stay on our server, encrypted. Access tokens are encrypted with AES-256-GCM, under a key for each integration that isn't kept in the database. They never reach anyone's browser and are never written to our logs.
  • Short-lived. A tracker connection is deleted when the room is disconnected or ends, and otherwise 30 days after it was last used, and revoked at the provider where the provider lets apps do so. Imported stories are deleted with the room.
  • Used for nothing else. Data from an integration is used only to run the room. It is never used for advertising, never sold, never passed to anyone but the provider it came from, and never used to train AI models.
  • Listed before it goes live. We add an integration only once it follows these rules, and list it in section 7, and so in our Privacy Policy, before anyone can use it. If an integration ever needs something these rules don't cover, we change this policy first.

3. Private and confidential project data

You may import private issues and other confidential project data from Jira, Trello, Linear, Asana or any tool you connect, and you may type them into a room, as long as you are allowed to. That means:

  • your organisation's policies allow you to use the data with Storyvote, and its admin settings allow the integration (if they don't, ask your admin rather than working around it);
  • everyone you invite may see it: anyone with the room's link (and password, if one is set) sees every story, including imported titles and links, and doesn't need an account in the tracker to do so. Links lead back to the tracker, where its own permissions apply;
  • it isn't sensitive personal data (such as health data), passwords, keys or other secrets, or data that the law or a contract requires to be kept only in certified systems.

We treat room content as confidential: we use it only to run the room, and we look at it only when you ask us to (for example, to investigate a problem in your room), when we handle a report of illegal content, or when the law requires it. For sensitive sessions, set a room password and share the link only with the people who may see the stories.

4. What stays in your tools

Comments and estimates Storyvote writes to Jira, Trello, Linear or Asana, and the room cards and replies it posts in Slack, are part of those tools. They stay after the room ends or is disconnected, under the provider's terms and your organisation's settings, and you can edit or delete them there. "End and delete room" deletes everything Storyvote holds, not what it wrote into your tools.

5. Your responsibilities

  • Connect only accounts and workspaces you may use, and follow the provider's terms and your organisation's policies.
  • Storyvote can do in a tracker only what the connected account is allowed to do, so connect an account whose access suits the room.
  • You're responsible for what you import, and for whom you share the room with.
  • Storyvote and its integrations are free. A plan, seat or licence that a provider charges for is between you and that provider.

6. The providers

Each provider runs its own service, under its own terms and privacy policy, as an independent controller of the data it processes. We don't control their services and aren't responsible for them. An integration may stop working when a provider changes its service, its interface or its terms. We may change or remove an integration, for example to keep it secure or because a provider no longer allows it; where we can, we'll say so on the site in advance.

7. The integrations

Each integration, with the same details for every one. Ending a room removes everything listed as kept "with the room" at once; the rest goes as stated.

Jira Cloud

KindIssue tracker, connected by a room
Provider Atlassian (Atlassian Pty Ltd, Australia, and its affiliates), an independent controller under its own privacy policy
Who turns it onThe room's host or a facilitator, from the Stories panel's import window, by signing in on the provider's own page. Nobody else in the room can connect it or use the connection.
PermissionsRead projects and issues (read:jira-work), write to issues (write:jira-work, used only for the estimate), read the account's name (read:jira-user) and stay connected (offline_access).
Storyvote receivesTo pick from: the Jira sites the sign-in allows, their projects, and the keys and summaries of their issues, read when the import window shows them and not stored. For each issue imported: its summary, key, ID, site ID and link. The account's name, asked when it is shown ("Connected as …") and never stored.
Storyvote writes thereEach imported issue's final estimate, in its story points field (where the issue has one that can be edited) and in one comment under the connected account (with the answers to the room's extra questions, such as AI tokens, and a link to storyvote.app), written when the host or a facilitator asks for it: one story at a time, or each estimate as soon as it is set (and again when it changes) once they turn that on (Storyvote reads the comments only to find its own). Nothing else.
Storyvote keepsThe room's access and refresh tokens, encrypted. The imported issues, as stories in the room.
For how longThe tokens until the room is disconnected or ends, and otherwise 30 days after the connection was last used. Imported stories are deleted with the room.
To stop itDisconnect in the import window, or end the room, and Storyvote deletes the tokens. Atlassian gives apps no way to revoke a token, so to withdraw the permission itself, remove Storyvote from your Atlassian account's connected apps. Comments and estimates already written stay in the tool.

Trello

KindIssue tracker, connected by a room
Provider Atlassian (Atlassian Pty Ltd, Australia, and its affiliates), an independent controller under its own privacy policy
Who turns it onThe room's host or a facilitator, from the Stories panel's import window, by signing in on the provider's own page. Nobody else in the room can connect it or use the connection.
PermissionsRead boards (read:board:trello), write to boards (write:board:trello, used only for the estimate comment), read the account's name (read:member:trello) and stay connected (offline_access).
Storyvote receivesTo pick from: the boards, lists and card names the account can see, read when the import window shows them and not stored. For each card imported: its name, ID and link. The account's name, asked when it is shown and never stored.
Storyvote writes thereOne comment on each imported card with its final estimate, the answers to the room's extra questions (such as AI tokens) and a link to storyvote.app, under the connected account, written when the host or a facilitator asks for it: one story at a time, or each estimate as soon as it is set (and again when it changes) once they turn that on (Storyvote reads the comments only to find its own). Nothing else.
Storyvote keepsThe room's access and refresh tokens, encrypted. The imported cards, as stories in the room.
For how longThe tokens until the room is disconnected or ends, and otherwise 30 days after the connection was last used. Imported stories are deleted with the room.
To stop itDisconnect in the import window, or end the room, and Storyvote deletes the tokens. Atlassian gives apps no way to revoke a token, so to withdraw the permission itself, remove Storyvote from your Atlassian account's connected apps. Comments and estimates already written stay in the tool.

Linear

KindIssue tracker, connected by a room
Provider Linear Orbit, Inc. (USA), an independent controller under its own privacy policy
Who turns it onThe room's host or a facilitator, from the Stories panel's import window, by signing in on the provider's own page. Nobody else in the room can connect it or use the connection.
PermissionsRead (read) and write (write). Linear offers no narrower permission for writing an estimate, so its write permission covers the workspace; Storyvote uses it only for what is listed here.
Storyvote receivesTo pick from: the account's teams, and the identifiers and titles of their issues, read when the import window shows them and not stored. For each issue imported: its title, identifier, ID and link. The account's name, asked when it is shown and never stored.
Storyvote writes thereEach imported issue's final estimate in one comment under the connected account (with the answers to the room's extra questions, such as AI tokens, and a link to storyvote.app) and, where the team's estimate scale has the value, as the issue's estimate, written when the host or a facilitator asks for it: one story at a time, or each estimate as soon as it is set (and again when it changes) once they turn that on (Storyvote reads the comments only to find its own). Nothing else.
Storyvote keepsThe room's access and refresh tokens, encrypted. The imported issues, as stories in the room.
For how longThe tokens until the room is disconnected or ends, and otherwise 30 days after the connection was last used. Imported stories are deleted with the room.
To stop itDisconnect in the import window, or end the room: Storyvote asks Linear to revoke the tokens, then deletes them. You can also revoke it in your Linear settings. Comments and estimates already written stay in Linear.

Asana

KindIssue tracker, connected by a room
Provider Asana, Inc. (USA), an independent controller under its own privacy policy
Who turns it onThe room's host or a facilitator, from the Stories panel's import window, by signing in on the provider's own page. Nobody else in the room can connect it or use the connection.
PermissionsRead the account's name (users:read), its workspaces (workspaces:read), projects (projects:read) and tasks (tasks:read); read and write comments (stories:read, stories:write, used only for the estimate comment); and edit tasks and their custom fields (tasks:write, custom_fields:read, custom_fields:write, used only to find and fill in the story points field). Storyvote never creates or changes a field itself.
Storyvote receivesTo pick from: the account's workspaces and projects, and the names and sections of their open tasks, read when the import window shows them and not stored. For each task imported: its name, ID and link. The account's name, asked when it is shown and never stored. Asana's sign-in also sends the account's ID, name and email address, which Storyvote ignores.
Storyvote writes thereEach imported task's final estimate in one comment under the connected account (with the answers to the room's extra questions, such as AI tokens, and a link to storyvote.app) and, where the task has a number field named Story points (or Points, or Estimate), in that field, written when the host or a facilitator asks for it: one story at a time, or each estimate as soon as it is set (and again when it changes) once they turn that on (Storyvote reads the task's comments only to find its own). Nothing else.
Storyvote keepsThe room's access and refresh tokens, encrypted. The imported tasks, as stories in the room.
For how longThe tokens until the room is disconnected or ends, and otherwise 30 days after the connection was last used. Imported stories are deleted with the room.
To stop itDisconnect in the import window, or end the room: Storyvote asks Asana to revoke the tokens, then deletes them. You can also remove Storyvote in your Asana settings, under Apps. Comments and estimates already written stay in Asana.

Slack

KindChat or video app Storyvote runs inside
Provider Slack Technologies, LLC (USA), an independent controller under its own privacy policy
Who turns it onA member of a workspace adds the app, as the workspace's settings allow. Anyone in the workspace can then type /storyvote in a channel.
PermissionsAnswer the /storyvote command (commands), post messages (chat:write, and chat:write.public for public channels it hasn't joined), preview Storyvote links (links:read, links:write) and look up people's names (users:read). Not email addresses or messages.
Storyvote receivesThe workspace's access token. For whoever types /storyvote or opens a room's card: their Slack user ID and display name. The ID of the channel a room was started in, and the Storyvote links in messages Slack asks us to preview.
Storyvote writes thereThe room's card in that channel, previews of room links, and a reply only its creator sees; the cards are updated until the room ends. Nothing else.
Storyvote keepsThe workspace's ID and its encrypted access token. Your Slack user ID and name, in the rooms you join. The channel and message ID of each of a room's cards.
For how longThe token until the app is removed from the workspace. Card IDs until the room ends, and otherwise 30 days after the room last changed. Names and IDs with the room.
To stop itRemove the app in the workspace's app settings: Slack tells us, and we delete the token. Messages and cards already posted stay in Slack, under your workspace's retention settings.

Discord

KindChat or video app Storyvote runs inside
Provider Discord Inc. (USA), an independent controller under its own privacy policy
Who turns it onAnyone in a voice channel starts the Storyvote Activity. Discord asks each person once to let Storyvote see who they are.
PermissionsYour identity (identify). Not your email address, servers, friends or messages.
Storyvote receivesYour Discord user ID, username and display name, read once with a token Discord issues for it, which is not kept. Discord also relays all traffic between your device and Storyvote through its own servers.
Storyvote writes thereNothing.
Storyvote keepsYour Discord user ID and display name, in the rooms you join. The Activity session's ID, linked to its room's code.
For how longThe Activity's link 30 days after it was made. Names and IDs with the room.
To stop itLeave the Activity. You can remove Storyvote's access in Discord's settings, under authorised apps.

Telegram

KindChat or video app Storyvote runs inside
Provider Telegram, an independent controller under its own privacy policy
Who turns it onAnyone opens the Storyvote Mini App from Telegram.
PermissionsNone to grant: Telegram sends its signed launch data when the Mini App opens.
Storyvote receivesTelegram's signed launch data, whose signature Storyvote checks: your Telegram user ID and name. Not your phone number, contacts or messages.
Storyvote writes thereNothing.
Storyvote keepsYour Telegram user ID and name, in the rooms you join.
For how longWith the room.
To stop itClose the Mini App. Nothing about you is kept outside the rooms you joined.

Google Meet

KindChat or video app Storyvote runs inside
Provider Google LLC (USA), an independent controller under its own privacy policy
Who turns it onAnyone in a call opens the add-on from Activities and starts it for everyone.
PermissionsNone. The add-on doesn't sign you in and gets nothing from your Google account.
Storyvote receivesYour browser turns the meeting's ID into a one-way hash and sends only that hash, never the meeting's ID, code or participants. You type the name the others see.
Storyvote writes thereNothing.
Storyvote keepsThe meeting's hash, linked to its room's code. Your typed name and a random ID, in the rooms you join, and in Meet's local storage on your device.
For how longThe meeting's link 30 days after it was made. Names and IDs with the room; on your device until you clear the site's data.
To stop itClose the add-on, and clear the site's data in your browser to remove your name from the device.

8. Problems and reports

If you think an integration read or wrote more than this policy says, or you want a room's connection removed at once, email hello@storyvote.app with "Integrations" in the subject and the room code, and we'll remove the connection as soon as we can. For security issues, see Security.

9. Changes to this policy

We'll publish any new version here and update the date at the top. A new integration is listed in section 7 before it becomes available, and we'll point out significant changes on the site.