Privacy Policy
This Privacy Policy describes how [Company Legal Name] (“we”, “us”, or “our”) collects, uses, stores, and shares information when you use our Discord ticket and support tooling, including the web dashboard, API, Discord bot, and related background services (collectively, the “Service”).
If you are in the European Economic Area, the UK, Brazil, or another region with privacy laws, additional rights may apply as described below. This policy is designed to align with common transparency expectations (including GDPR-style and LGPD-style disclosures), but it does not replace legal advice for your jurisdiction.
1. Who we are
Data controller: [Company Legal Name]
Contact (privacy): [Privacy Contact Email]
Postal address: [Mailing Address]
If we appoint a data protection officer or EU/UK representative, we will list them here: [DPO / Representative — optional]
2. What the Service does (in brief)
The Service helps Discord server operators run support tickets (private channels), manage configuration from a dashboard, optionally generate transcripts of ticket conversations, and (for eligible plans) use analytics, backups, automation (including outbound webhooks you configure), and billing via Stripe.
3. Information we collect
We collect information you provide, information generated when you use Discord and the Service, and limited technical data needed to run and secure the Service.
3.1 Account and authentication (Discord OAuth)
When you sign in with Discord, we receive and store:
- Your Discord user ID
- A display name (we store a name derived from your Discord profile, such as global name or username)
- Your avatar URL (if you have a Discord avatar)
We request Discord OAuth scopes needed to identify you and list servers you are in (as implemented: identify and guilds). We use this to link your account to a workspace (“tenant”) and to show linked Discord servers in the dashboard.
We do not store your Discord OAuth access token in our database after login completes in the current implementation; we use it during the callback to sync linked server information where applicable.
3.2 Workspace, membership, and roles
We store:
- A workspace record (e.g. workspace name)
- Membership linking your user to a workspace
- Role records within a workspace (e.g. administrator)
3.3 Session and security cookies / tokens
We use:
- A
sessioncookie (HTTP-only, SameSite=Lax, and Secure when configured for HTTPS) containing a random session identifier. The same identifier is stored in our database with an expiry (currently up to about 7 days from creation). - A short-lived
oauth_statecookie during Discord OAuth to help prevent login CSRF (typically cleared after callback). - CSRF protection for certain dashboard/API actions: a short-lived token may be issued and sent by your browser (e.g. in a request header) bound to your session. The CSRF token is not used for advertising.
3.4 Discord server (guild) metadata
We store Discord server IDs and server names for servers linked to your workspace (to power server selection, access checks, and configuration).
3.5 Ticket and support content
When tickets are created and used in Discord, we may store:
- Ticket metadata: internal ticket ID, Discord channel ID, opening user’s Discord user ID, claiming user’s Discord user ID (if any), status (open / locked / closed), and timestamps.
- Ticket events in a structured log, including payloads such as:
- Optional subject and description from a ticket opening form (when enabled)
- Close reasons and staff user identifiers for close/claim-related events
- Messages associated with tickets (for transcript generation and related features), including:
- Discord message ID
- Author Discord user ID and a display name at time of processing
- Message content
- Attachments metadata (e.g. file name and URL as provided by Discord’s API)
Important: Anything users write in ticket channels (or in forms that post into tickets) may be processed and stored as part of the ticket record or transcript features. Do not submit payment card numbers, government ID numbers, health data, or other special categories of data unless you have a lawful basis and appropriate safeguards.
3.6 Transcripts
For closed tickets, our systems may generate an HTML transcript from Discord message history and store it. Transcripts may be subject to retention limits based on your plan and server configuration (see Retention).
If you enable options that archive transcript material into Discord channels you designate, transcript-related content may also appear inside your Discord server in addition to our database.
3.7 Server configuration you set in the dashboard
We store configuration you save, such as:
- Discord role IDs and channel/category IDs you select (for permissions, panels, staff notifications, storage categories, etc.)
- Ticket workflow settings (e.g. whether an opening form is enabled and label text)
- SLA targets and transcript retention settings (within product limits)
These values are operational data; they may indirectly reflect how your community is structured.
3.8 Analytics (eligible plans)
For workspaces with access to analytics features, we compute aggregated metrics from ticket records (for example counts opened/closed over a period, averages derived from timestamps, and staff performance metrics tied to Discord user IDs where those users exist in our user records). This is Service analytics, not third-party ad analytics.
3.9 Backups of configuration
If you use backup features, we store a cryptographic hash of a backup key (not the plain key) and metadata needed to validate restore operations. Generating a backup may expose a plain backup key once for you to copy—treat it like a password.
3.10 Audit logs
We may record audit log entries for certain administrative actions (for example backup and some configuration changes), including who performed the action (as our user ID), what action occurred, and related metadata.
3.11 Automation and webhooks (if you use them)
If you configure automation rules that call webhooks, we will send HTTP requests to the URLs you provide, including payloads derived from ticket events (which can include Discord user IDs, channel IDs, and event-specific fields). Those destinations are controlled by you or your organization.
3.12 Billing (Stripe)
If billing is enabled, we use Stripe to process subscriptions. We store Stripe identifiers (such as customer ID and subscription ID) and subscription status fields needed to enforce plan features.
Stripe may receive information needed to complete checkout and billing. We may send non-secret metadata to Stripe (for example workspace and user identifiers) to associate payments with the correct account.
3.13 Technical, security, and operational logs
Our API may log request metadata such as request ID, HTTP method, URL path, response status, and duration.
Our bot and worker processes may log operational messages (for example high-level interaction context and errors). We design these logs to avoid printing secrets (such as tokens), but they may include identifiers like Discord user or channel IDs when needed to debug issues.
3.14 Browser local storage (dashboard and marketing site)
Our web app may store non-authentication preferences locally in your browser, such as:
- Your selected Discord server in the dashboard UI
- Marketing site theme preference (light/dark)
This data stays on your device unless your browser syncs it through browser features outside our control.
4. How we use information (purposes)
We use information to:
- Provide, operate, and improve the Service (including tickets, transcripts, dashboard configuration, analytics features, backups, automation)
- Authenticate users, maintain sessions, enforce workspace boundaries, and apply permission checks (e.g. administrator-only actions)
- Prevent abuse, secure accounts, debug failures, and protect our infrastructure
- Bill and administer subscriptions (where Stripe is used)
- Comply with law and respond to lawful requests
5. Legal bases (where applicable)
Depending on your region, we may rely on one or more of the following:
- Contract: processing necessary to provide the Service you request (accounts, tickets, configuration, billing).
- Legitimate interests: securing the Service, troubleshooting, preventing fraud/abuse, improving reliability, and internal reporting in aggregated form—balanced against your rights.
- Consent: where required (for example, certain optional integrations or marketing communications if we offer them separately).
- Legal obligation: where we must retain or disclose information to comply with the law.
6. How we share information
We share information with:
6.1 Discord
Discord processes data under its own policies when you use Discord. We interact with Discord’s APIs to operate the bot and related features. Discord may be located outside your country.
6.2 Stripe
If you purchase a paid plan, Stripe processes payment-related data under Stripe’s terms and privacy notice.
6.3 Infrastructure providers
We host the Service on infrastructure chosen by the operator of the deployment (for example servers, databases, and networking). Those providers may process technical data (including logs) as part of hosting.
6.4 Automation destinations you configure
If you set up webhooks or similar outbound integrations, information is sent to destinations you specify.
6.5 Legal and safety
We may disclose information if we believe in good faith that disclosure is required to:
- comply with law, regulation, or legal process
- protect the security or integrity of the Service
- protect users or the public where reasonably necessary
We do not sell your personal information as a commodity. We do not use third-party advertising/analytics SDKs in the codebase as part of profiling users for ads.
7. International transfers
If you access the Service from outside the country where our systems are hosted, your information may be transferred across borders. Where required, we use appropriate safeguards (such as contractual clauses) depending on the deployment and providers in use. Contact us for details specific to your deployment.
8. Retention
Retention depends on the data category and your configuration:
- Sessions expire after the configured lifetime (currently on the order of days).
- Transcript HTML and related stored messages may be deleted or cleared according to transcript retention rules (including plan-based caps). Some retention settings may allow immediate deletion of transcript material depending on configuration.
- Other records (such as ticket metadata, configuration, audit logs, and billing records) may be retained as needed to operate the Service, meet legal obligations, resolve disputes, and enforce agreements.
When Discord channels are deleted or inaccessible, some automated processes may mark related transcript export attempts as failed and stop retrying.
9. Security
We implement reasonable technical and organizational measures appropriate to the risk, including:
- HTTP-only session cookies (reducing exposure to JavaScript)
- CSRF protections for selected state-changing API operations
- Tenant and permission checks on API routes
- Storing hashed backup keys rather than plain keys in the database
No method of transmission or storage is 100% secure. If you believe your account is compromised, revoke bot access in Discord and contact us.
10. Your rights and choices
Depending on your location, you may have rights to:
- Access personal data we hold about you
- Correct inaccurate data
- Delete certain data, subject to legal exceptions
- Object or restrict certain processing
- Data portability where applicable
- Withdraw consent where processing is consent-based
You may also:
- Disconnect the Service from your Discord server by removing the bot and stopping use
- Log out (session removal) using the logout flow where available
To exercise rights, contact [Privacy Contact Email]. We may need to verify your request.
Discord data: You can also review Discord’s settings and permissions for your account and servers.
11. Children’s privacy
The Service is not intended for children under the age required by applicable law to consent to data processing in your region. If you believe a child has provided us personal information, contact us and we will take appropriate steps.
12. Changes to this policy
We may update this Privacy Policy from time to time. We will post the updated version and revise the “Last updated” date. If changes are material, we will provide additional notice as required by law.
13. Contact
Questions about this Privacy Policy: [Privacy Contact Email]
Postal: [Mailing Address]
Implementation notes (for operators — not part of the user-facing policy)
Fill before publishing:
| Placeholder | What to insert |
|---|---|
[Company Legal Name] | Legal entity operating the Service |
[Privacy Contact Email] | Dedicated privacy inbox |
[Mailing Address] | Registered or business address |
[Effective Date] / [Last Updated Date] | Publication and revision dates |
[DPO / Representative — optional] | If applicable under GDPR/UK GDPR |
Accuracy checks against your deployment:
- List your actual hosters (VPS, cloud region) under Section 6.3 and 7 if you want the policy to name them.
- If you add email support, error reporting (e.g. Sentry), or marketing emails, update Sections 3, 6, and 5 accordingly.
- Automation webhooks: remind customers they are controllers for URLs they configure; you act on their instructions when POSTing payloads.
- Stripe: link to Stripe Privacy Center in your public site copy if desired.
- Discord: link to Discord Privacy Policy where you describe login.
Optional tightening (product/policy):
- Shorten session duration or add idle timeout if you want stricter security language to match behavior.
- Document a data deletion SLA and internal process for workspace offboarding.
This document was drafted to reflect the application’s implemented behavior as of the repository state used for review. It is not legal advice.