SwiftTicket

Privacy Policy

SwiftTicket runs support tickets inside your Discord server, so it necessarily stores what happens in those tickets. This page says exactly what that is, how long it is kept, and how to get it out or get it deleted.

Last updated 27 August 2026


The short version

  • We store what the ticket system needs to work: Discord ids, ticket transcripts, form answers and your configuration.
  • We do not sell your data, we do not share it with advertisers, and we do not use ticket content to train AI models.
  • On the free plan, ticket detail is deleted 30 days after a ticket closes. On premium it is kept for as long as the server is subscribed.
  • Any server manager can export the ticket data we still hold as JSON, and can delete all of a server's data from the dashboard.

Who is responsible

SwiftTicket is operated as an independent product. For the content inside your tickets, the server's owners and staff decide what is collected and why — we process it on their behalf so the bot can work. For dashboard sign-in and billing, we are responsible for the data described below.

What we store

Discord identifiers. Server, channel, category, role and message ids, and the Discord user ids of the people who open, join, claim, escalate, rename or close a ticket. Ids are how the bot addresses anything on Discord; there is no way to run a ticket system without them.

Ticket content. Messages posted in ticket channels (kept as transcripts), the form answers a member submits when opening a ticket, and the close reason a staff member records. Renaming a ticket posts a message to your log channel on Discord; SwiftTicket keeps no record of ticket titles.

Dashboard sign-in. Your Discord account id, username and avatar, taken from Discord's OAuth sign-in, plus the session and the access token needed to list the servers you can manage.

Configuration. The panels, ticket types, forms, message templates, limits, roles and permission settings your staff configure.

Billing. For servers on premium: the subscription and order ids, amounts, currency, status, and the buyer's Discord account id and display name. Payment is handled by Polar as merchant of record — card numbers never reach us.

Operational logs. Ordinary request and error logs from our hosting provider, used to keep the service running and to debug failures.

Product usage. Which of our marketing pages were visited, and on what day — a page path, a date and a count, carrying no visitor identity, no IP address and no cookie. Separately, starting the process of adding SwiftTicket to a Discord server records your Discord account id and the server you chose, from the moment you start it — before that server has a row in our database at all, and even if you never finish adding the bot. That record is deleted along with everything else if the server's data is deleted; it is not one of the things kept afterward.

Cookies

We set three cookies of our own, and use them for nothing beyond what is described here:

  • st_attribution. Remembers which marketing link brought you to the site, so an install can be credited to the right one. Signed, kept for 30 days, and only ever set by the first link you follow — a later link does not overwrite it. It carries a source label, not your identity.
  • st_invite_state. A short-lived, one-time cookie, kept for about 10 minutes, that ties an in-progress "add to Discord" attempt to the person who started it so the flow cannot be tampered with. It is consumed and removed the moment that attempt completes.
  • The sign-in session cookie. Keeps a manager signed in to the dashboard between page loads.

None of these is used for advertising, and none is shared with anyone else.

Signing in also uses a handful of short-lived cookies that our authentication library sets on its own, to keep that flow secure — not the three above, and not something we read or act on directly.

Why we store it

To run the ticket system and show transcripts to your staff; to enforce plan allowances such as the monthly ticket cap; to bill premium subscriptions; to prevent abuse; to diagnose faults; and to measure which pages and links lead to an install. We have no other purpose for it.

The AI setup agent

When a manager runs the AI setup agent, we send the description they type together with your server's channel, category and role names and their ids to our AI model provider, so the model can propose a setup that references real channels and roles. When it is asked to change a setup you already have rather than build a new one, we also send the configuration it is editing: your ticket types' labels, emoji, descriptions and channel-name prefixes, the names and ids of the roles and categories each one is wired to, and, for a panel, its title, description, display mode, the channel it lives in and the ticket types it offers. Ticket content is never sent — no transcripts, no form answers, no member messages. The plan the model returns is stored with the run so you can review, revise and apply it.

If a manager uses the premium revision loop, the feedback they type and the plan the model produced last time are sent as well, so it can rewrite it. That is the only addition — ticket content stays out of every request.

How long we keep it

  • Free plan. 30 days after a ticket closes, its transcript, form answers and close reason are deleted and the participant ids on it are removed. The ticket survives as an anonymised row so your counts and statistics stay correct. Open tickets are never purged, however old.
  • Premium. Full ticket detail is kept for as long as the server is subscribed.
  • After premium ends. Premium features stay on for a further 7 days after the paid period ends, and your full ticket history stays available for another 30 days after that so you can export it. Then the free plan's window applies again. A refunded payment ends features immediately but never shortens the retention deadline already set for that subscription.
  • Configuration is kept until a manager deletes the server's data from the dashboard. Sign-in records are kept for as long as your dashboard account exists, and are removed on request — the same support route as any other individual data request. Billing records are kept for as long as tax and accounting law requires, even after a server's data is deleted.

Getting your data out

Any server manager can export a server's tickets, transcripts and form answers as a JSON file from the dashboard, on any plan and at any time. There is no charge and no waiting period.

An export contains everything we still hold, which is not the same as everything that has ever happened. Once a closed ticket has passed its retention window and been redacted, its transcript, form answers and close reason are gone — exporting later, or upgrading later, cannot bring them back.

Deleting your data

Whole server. A server manager can delete all of their server's data from the dashboard. That removes the tickets, transcripts, form answers and configuration for that server, including everything the AI setup agent was asked for and everything it produced.

Four things are kept. Billing records that we are legally required to retain, including the buying manager's Discord account id and display name; they contain no ticket content. A small anti-abuse record of AI setup usage — a Discord account id, a server id and a timestamp for each request, plus whether the one free setup has been used; it holds nothing you typed and nothing we generated, and it is kept so that deleting and re-adding the bot cannot reset the usage limits that keep the AI feature affordable to offer. For the same reason, a running count of the tickets your server has opened on the free plan each month — a server id, a month and a number, and nothing else: no ticket, no member, no content — so that deleting and re-adding the bot cannot hand it a second free monthly allowance. And a deletion marker holding the server id and the time its data was deleted, which is what stops work already in progress from writing new rows for a server that has just been erased. The marker is removed as soon as the bot is added to that server again.

A deletion also sends a short operational notice to our own logs, so we can tell that the request completed and how much it removed. It contains the server id, the time and the number of rows deleted — not the server's name, and nothing about who asked.

One person. An individual whose messages or form answers appear in a server's tickets can request removal of their own data by contacting support. We aim to respond within 7 days. We may need the Discord server id and enough information to confirm the request is genuinely yours before we act on it.

Removing the bot. Taking SwiftTicket out of a server stops it collecting anything new — no further tickets, transcripts or form answers. It does not delete what is already stored: tickets left open are never purged automatically, and the server's configuration stays as it is. To have that removed, a manager must delete the server's data from the dashboard, or you can ask us through a data request.

Who else touches the data

We use a small number of providers to run the service:

  • Discord — the platform SwiftTicket runs on.
  • Vercel — hosting for the bot endpoints and the dashboard.
  • Neon — the Postgres database, hosted in the United States.
  • Polar — merchant of record for premium subscriptions.
  • Our AI model provider — receives only the setup-agent input described above.

Data is stored in the United States. If you are in another region, using SwiftTicket involves transferring your data there.

Children

SwiftTicket is not directed at children. Discord sets a minimum age for its own service, and you must meet it to use SwiftTicket.

Changes to this policy

If this policy changes we update the date at the top of the page and announce anything material on our support server. The terms of service explain the rest of the relationship.

Contact

For anything on this page, including data requests: