Privacy Policy
This policy explains how Ticket Relay, including the Discord bot TicketCraft, handles your information.
1. Who we are
Ticket Relay (the “Service”), including the Discord bot TicketCraft and the web console at tickets.devmesh.xyz, is run by the operator of tickets.devmesh.xyz (“we”, “us”). This policy explains what we collect, why, who it is shared with and how long we keep it. Contact: the administrators of the Discord server where you use the bot, who can pass your request on to us.
2. What we collect
When you open a ticket
- Your Discord user ID, username and display name.
- The Discord server’s ID and name and the channel ID where you opened the ticket.
- What you submit: the app and ticket type you pick, the title, the description, your answers to the form’s other questions (for example your operating system), and any screenshots you attach.
- The time of the submission, its status, the GitHub issue it became, and a keyed fingerprint of the text used to spot duplicate submissions.
- A short-lived token from Discord that lets the bot update your private confirmation message.
When you verify as a contributor
- Your GitHub account ID and username, from the GitHub sign-in you start.
- The number of merged pull requests or commits you have in the server’s repositories, and the role you were given.
- Your Discord user ID and name, linked to that GitHub account for this server.
We use the GitHub sign-in only to confirm which account is yours. We don’t keep your GitHub access token, and we never post or change anything on GitHub on your behalf.
When you use the console
- Your Discord user ID, username, display name and avatar, and your role in each workspace.
- A session cookie that keeps you signed in, and an encrypted Discord access token used to list the servers you manage.
- Actions you take, for example who closed or retried a ticket or revoked a role.
- Workspace settings: the connected GitHub account and repositories, the Discord server, channels and roles, and the panel text.
When a server uses AI triage
- The model’s assessment of each ticket: its priority, possible duplicates, spam, a short reason and the tokens used.
- The server’s triage settings and its Claude API key, stored encrypted and never shown again after it’s saved.
To find duplicate tickets
- A copy of the issues in the GitHub repositories the server connected, including issues opened directly on GitHub: their number, title, the start of their description (up to about 1,500 characters), whether they’re open or closed, labels, dates, and which issue they duplicate. It’s searched on our own server; no other company receives it for this.
- A record of the server’s running processes and their memory use, to keep the service healthy. It contains no personal information.
What we don’t collect
The bot doesn’t read messages in your server. It only receives the panel interactions you start. We don’t use analytics, advertising or tracking cookies. The only cookies are the ones needed to sign in and keep forms secure.
3. How we use it
- To file your ticket as a GitHub issue, send you a private confirmation and retry if GitHub is unavailable, without filing the same ticket twice.
- To limit spam and duplicate submissions.
- To check contributions and give or remove contributor roles.
- If the server turned on AI triage, to suggest a priority and spot duplicates or spam.
- To let server administrators and moderators manage tickets and settings.
- To keep the Service secure and fix problems.
4. Who we share it with
- GitHub. The issue contains your ticket’s title, description and answers, links to the files you attached, the app and type, your Discord display name and username, your Discord user ID, the server’s name and ID, the channel ID, the submission time and a reference number. If the repository is public, the issue is public. The form tells you which before you submit.
- Discord. To show panels, send your confirmation and add or remove roles.
- The server’s administrators and moderators can see the tickets and contributor verifications for their server in the console.
- Anthropic, only if the server’s administrators turn on AI triage. The ticket’s app, type, title, description and answers, plus the titles and short excerpts of the most similar existing issues in the server’s connected repositories, are sent to Anthropic’s Claude API to assess the ticket. Administrators can also re-run triage on tickets that are already filed, which sends the same information again. If they also turn on triage for issues opened directly on GitHub, the title and description of those issues (in the server’s connected repositories) are sent the same way; only the triage result is stored, not the issue’s text. Anthropic processes them under its commercial terms and privacy policy.
- Our hosting provider stores the data on our behalf.
- Authorities, if the law requires it.
We don’t sell your personal information or use it for advertising.
5. How long we keep it
- Ticket text is stored encrypted. Once the GitHub issue is created, we delete the description from our database; it lives on in the issue. The remaining text (the title) is deleted after the retention period the server sets (30 days by default). Text of tickets that couldn’t be filed is kept for at least 90 days so administrators can retry them.
- Attached files are stored on our server under a long random link, which the GitHub issue uses to show them. Anyone with the link can open a file, so in a public repository attached files are public too. Only PNG and JPG images are accepted, up to 10 MB in total per ticket, and before one is saved we remove location and camera data from it. Files are kept until the server’s administrators or moderators delete them, or until the server’s cleanup rules remove them (for example some days after the issue is closed). Deleting a file removes it from our server, and the issue then shows that it was removed.
- Ticket records (reporter, status, issue link and reference) are kept as the server’s ticket history until the workspace is deleted, or until you ask us to delete them.
- Confirmation tokens from Discord expire after 15 minutes. Console sessions expire after 7 days.
- Contributor verifications and the link to your GitHub account are kept until an administrator revokes them or the workspace is deleted.
- Triage results are kept with the ticket record.
- The copy of repository issues used to find duplicates is kept up to date with GitHub every few minutes. An issue’s copy is deleted when the issue is deleted or moved on GitHub (we check weekly, and whenever it comes up as a possible duplicate), and a repository’s copies are deleted when no app uses it any more.
- Server logs record technical events such as request paths and errors, but not cookies, tokens, OAuth codes or what you submit. Our web server may keep standard access logs, including IP addresses, for a limited time for security.
Deleting data here doesn’t delete GitHub issues or Discord messages. Those are controlled by the repository owners and by Discord.
6. Security
Ticket text and access tokens are encrypted at rest (AES-256-GCM), all traffic uses HTTPS, and console access is limited to people the server’s owner invites, with roles and permissions. No system is perfectly secure, but we work to protect your information and only keep what the Service needs.
7. Your choices and rights
- You can ask us for a copy of your information, or ask us to correct or delete it, by contacting the administrators of the Discord server where you use the bot, who can pass your request on to us. We may ask you to confirm that the Discord account is yours.
- You can ask a server’s administrators to close your ticket, delete files you attached, or revoke your contributor role and unlink your GitHub account.
- To remove a GitHub issue, contact the repository’s owners. To revoke the Service’s access to your GitHub account, go to GitHub › Settings › Applications.
- Depending on where you live, you may have more rights, such as objecting to processing or complaining to a data protection authority.
8. Children
The Service is not meant for anyone below Discord’s minimum age in their country. If you believe a child has given us personal information, contact us and we will delete it.
9. Where data is processed
The Service runs on servers that may be in a different country from yours. Discord and GitHub process data under their own privacy policies: Discord Privacy Policy and GitHub Privacy Statement.
10. Changes to this policy
We may update this policy. When we do, we change the date at the top of this page.
11. Contact
Questions or requests about your information: the administrators of the Discord server where you use the bot, who can pass your request on to us.