Privacy
Privacy notice
StoryMap connects to a Linear workspace and shows it as a product map. This page describes what that involves in data terms: what we store, what we read from Linear without keeping, who else processes it, and how to reach us about any of it.
Last updated Operated by Kriasoft
The short version
- Your issues stay in Linear. We store the map we add on top of them.
- We read issue content from Linear to draw the board. Card text you see is read, not copied into a second backlog.
- We ask Linear for read access only. StoryMap cannot change anything in your workspace.
- We don't sell data or share it for advertising, and we set no tracking cookies.
- Revoking StoryMap in Linear ends our access, and no Linear content has to be migrated back.
The sections below are the precise version, and they govern if the summary above reads more simply than the detail.
1. Who operates StoryMap
StoryMap is built and operated by Kriasoft, which is responsible for the data described here and is the contact point for questions about it.
Legal entity name and registered address: to be confirmed by the owner.
2. What we process
Six categories, and no others:
- Account information
- The identity you sign in with — an email address, and a name and avatar if your sign-in method provides them — plus the StoryMap workspace your account belongs to.
- Your Linear connection
- The access token issued when you authorise StoryMap, and identifiers for the Linear workspace and team you connect, so we can read the issues that belong on your board.
- Issue data from Linear
- Titles, identifiers, statuses, assignees, estimates, cycles, projects and labels, read so that cards can be drawn and placed. What is kept versus read on demand is section 4.
- Your map
- The structure StoryMap adds: boards, journey columns, release slices, and where each issue sits. The review tray is not stored — it is simply the issues Linear returns that have no place on the board yet.
- Technical records
- Request and error logs produced while you use StoryMap, including IP address and request metadata, kept to run the service and investigate faults and abuse. Linear also notifies us when something changes in a connected workspace; those notifications carry the type of change and the workspace id, and are logged.
- Billing and support
- The subscription state of a workspace, and whatever you send us when you get in touch. Card details are handled by our payment provider and never reach StoryMap.
Signing in sets a session cookie, and a second cookie records only that someone is signed in, so the edge knows whether to serve the marketing page or your board. Those are the only cookies StoryMap sets. Product analytics runs with memory-only persistence and writes neither a cookie nor a browser-storage entry, and this marketing site keeps one local-storage entry: whether you chose the light or dark theme. There is no advertising, no cross-site tracking and no cookie banner, because there is nothing to consent to beyond what signing in requires.
Analytics is three events — starting a Linear connection, building a board, and starting checkout. There is no page-view tracking, no autocapture and no session recording. The properties StoryMap attaches to an event can only be numbers and booleans, which is enforced in the code, so no issue title or other text of yours can travel with one. Alongside that, an event carries your account identifier, an opaque identifier for the workspace, and the standard metadata the analytics library collects itself, such as the page address, browser and IP.
3. Why we process it
To sign you in; to read your Linear workspace and draw your board; to keep your map and its placements; to keep the board current as issues change in Linear; to bill a paid workspace; to answer support requests; and to keep StoryMap reliable and secure. We do not use your data to build advertising profiles, and we do not sell it.
4. What we store, and what stays in Linear
This is the boundary the product is designed around: Linear owns the issues, StoryMap owns the map.
StoryMap stores
- Boards and journey columns
- Release slices
- Where each issue sits
- Account and subscription state
Linear keeps
- Titles and descriptions
- Status, assignee, estimate
- Cycles, projects, labels
- Comments and history
- Everything else in your workspace
Issue content is read from Linear to render your board rather than maintained as a second copy of your backlog, and our database has no table for it: what it holds is boards, columns, slices, placements, and account and subscription rows. Those rows are read through a connection pooler that may briefly cache query results, which caches our own tables and never Linear content.
Issue content does live, briefly, in the browser drawing the board: the page keeps what it read for about two minutes before asking Linear again, and closing the tab ends it.
A board opened through a read-only share link is the one place a copy sits on our side. Anyone holding the link can open it, and each opening would otherwise re-read the board out of Linear, so the drawn board is held at our edge for up to a minute and reused. It expires by itself, it is never written to our database, and it is only ever the cards that were placed on the board — not the rest of the backlog. Revoking the link stops it working at once: the link is checked against our database on every request, before that held copy is used.
5. Changes StoryMap makes in Linear
None. StoryMap asks Linear for the read scope and nothing else, so the access you grant cannot create, edit, move, reassign or close an issue even if we wanted it to.
Arranging a board is therefore a change to your map, not to your workspace: moving a card between cells moves the card. Linear notifies us when a connected workspace changes, so that boards can stay current; today those notifications are verified and logged, and nothing acts on them.
6. Who else processes data
Running StoryMap means other companies handle some of this data on our behalf. They act on our instructions, for the purposes below, and not for their own marketing.
- Cloudflare
- Hosting, the edge network that serves this site and the app, and the request and error logs it produces. A board opened through a read-only share link is also held there briefly — see section 4.
- Neon
- The PostgreSQL database holding accounts, boards and placements.
- Stripe
- Payment processing. Stripe is also the merchant of record for StoryMap subscriptions, so it sells the subscription, calculates and remits tax, and appears on your receipt and statement as Link.
- Resend
- Transactional email — sign-in codes and account mail.
- PostHog
- Product analytics, on its EU cloud. Three events, described in section 2.
- OpenAI
- The optional step that names and orders the journey columns on a first board. When it runs, a compact summary of the board being built is sent to the model — the groups your issues fall into, how big each one is, and a sample of shortened issue titles — and what comes back, the column names and which column an issue belongs in, becomes the first draft of your map, which is stored. The issue text itself is not. It is never required: without it the board is built from your workspace's own projects, labels and links.
- Fonts for the app interface are served from Google, so loading the app tells Google your IP address and browser. Google also authenticates you if you choose to sign in that way.
Linear itself is the source of your issue data, and your workspace is governed by your own agreement with Linear rather than by this notice. StoryMap is not affiliated with Linear.
Where each provider stores and processes data is to be confirmed per provider, beyond PostHog, which is on its EU cloud.
7. How long we keep it
Your account, boards and maps are kept for as long as your account exists, because they are the product. Revoking StoryMap in Linear ends our access to it. There is no self-serve delete button yet, so account deletion is a request we carry out by hand — write to us and we will remove the account and the maps it holds. Neither touches anything in Linear.
Retention periods for logs, backups and deleted accounts are a decision that has not been made yet. They should be stated here as real periods once they are.
8. Security
Access to your workspace is granted by OAuth rather than by handing us credentials, the token is stored to read the issues on your boards and nothing else, and it can be revoked from Linear at any time. Traffic is encrypted in transit, and access to production systems is limited to the people who operate StoryMap.
We hold no security certifications and claim none. If you find a vulnerability, write to us at the address in section 12 before disclosing it publicly.
9. Your choices
You can cut off our access to Linear at any time by revoking StoryMap in your Linear workspace's application settings. StoryMap has no disconnect button of its own yet, so that is where it is done. Our access ends when the token we hold expires, within a day at most. The shared-link copy described in section 4 expires by itself within a minute; the copy in a browser already drawing a board lasts as long as that tab does, because it is in the page rather than on our servers. After that your boards keep their layout and stop showing issue content until the workspace is reconnected. You can also ask us for a copy of what we hold about you, ask for corrections, or ask us to delete your account and its maps. Write to the address in section 12 and a person will answer.
Which statutory rights apply, and how StoryMap is characterised under data-protection law for the Linear content it processes on your behalf, depend on the operating entity and the customers it serves. That wording needs legal review before this page is treated as final.
10. Children
StoryMap is a tool for software teams, is not directed at children, and we do not knowingly collect data from them. The age threshold to state here follows from the operating entity and the jurisdictions served, and needs legal review.
11. Changes to this notice
When StoryMap's data practices change, this page changes with them and the date at the top is updated. For a change that materially affects how we handle your data, we will tell account holders directly rather than relying on you to notice the edit.
12. Contact
Questions about this notice, or a request about your data, go to hello@storymap.cc. It reaches the people who build StoryMap.