Privacy Policy
Last updated: 30 October 2026
This Privacy Policy explains how Sleipnir collects, uses, and protects personal data. We are committed to protecting your privacy and processing your data lawfully under UK and EU data protection law.
Sleipnir is a trading name of Ryan C, a sole trader registered in the United Kingdom, with correspondence address: Belfast BT1 1AA. For the purposes of UK GDPR and the Data Protection Act 2018, the data controller is Ryan C trading as Sleipnir.
For all privacy-related enquiries, contact: [email protected].
1. About this Policy
This Policy applies to personal data we collect when you:
- Visit sleipnir.tv
- Create an account on Sleipnir
- Use Sleipnir to relay streams to third-party platforms
- Pay for a Sleipnir subscription
- Contact us by email
If you do not agree with this Policy, please do not use the Service. Use of the Service constitutes acknowledgement of this Policy.
This Policy does not cover:
- Third-party platforms you stream to (Twitch, YouTube, Kick, etc.), which have their own privacy policies that govern their handling of your account and viewers
- Third-party services that process data on our behalf, listed in Section 4 below
2. Personal data we collect
We collect the following categories of personal data:
2.1 Information you provide directly
| Data | When collected | Why |
|---|---|---|
| Email address | At signup, password reset | Authentication, account recovery, service notifications |
| Name | At signup | Personalisation of emails and dashboard greeting |
| Password (as Argon2id hash) | At signup, password reset | Authentication. We never store your plaintext password and cannot retrieve it. |
| Stream key (auto-generated) | At signup | Authenticates your encoder when you publish a stream. Treated as a credential and not exposed in dashboard responses by default. |
| Destination configurations | When you add a streaming destination | Forwarding your stream to the destination. Destination URLs may include your third-party platform's stream keys, which we store securely (see Section 10). |
| Support correspondence | When you email us | Responding to your enquiry |
2.2 Information collected automatically
| Data | When collected | Why |
|---|---|---|
| IP address | Every request, especially signup, login, stream publish | Authentication, rate limiting, abuse detection, security logging |
| Browser user agent | Every request | Compatibility and abuse detection |
| Request log at our web proxy: the time, method, path, status, duration, response size, protocol, your browser user agent, and whether the request arrived through Cloudflare. The query string is removed, the secret part of any link you follow (a claim, join or overlay address) is removed, and no IP address or other header is kept. | Every request to sleipnir.tv | Error counting (an outage shows as a run of failed requests), capacity planning and telling automated traffic from people. Kept for 14 days in rotating files on the server, then deleted. |
| IP addresses in security logs: the address behind a security-relevant action (a password reset request or change, a stream key reset, an account deletion, a sign-up link or quote created by an agent, a rate limit being hit, or a publish attempt with a stream key we do not recognise), and the address of each connection made to our streaming ingest ports | When such an action or connection happens | Spotting and investigating abuse, password guessing and unauthorised access. Written to our server logs; the separate addresses kept on your account record are described in the next row. Each service keeps at most 30 MB of rolling log files, which are deleted when the service is replaced, and nothing is kept for more than 90 days. Ordinary page requests are not logged with an address. |
| Upgrade path counts: which door led to the billing page or to a checkout (for example the allowance email, the dashboard card or the locked chat button), the plan chosen, and new subscriptions by door. A count with a time stamp only, not linked to your account. | When you open the billing page from a tagged link, start a checkout, or a subscription begins | Knowing which prompts people actually use. Kept 13 months. |
| Session cookie | When you log in | Maintaining your authenticated session |
| Stream session metadata | When you publish a stream | Enforcing plan limits, generating dashboard usage data, detecting abuse. Includes session start time, end time, duration, peak/average bitrate, the video and audio codecs and whether an audio track was present (never the content), end reason, destinations forwarded to, and total bandwidth relayed per billing period. For a browser stream it also records whether you streamed your screen or your camera, and a coarse device and browser type such as "iphone/safari" or "desktop/chrome" (never your full browser identifier). A stream that restarts within a minute of the last one is linked to it, so the two count as one stream. |
| Destination fingerprint | When you add or change a streaming destination | A keyed one-way hash of the destination address, used to spot duplicate accounts created to get around plan limits. The address itself is stored only in encrypted form and the hash cannot be reversed to recover it. |
| Destination reliability records: when a destination has stayed live for a minute, and a record of each email we sent, or would have sent, about a destination that keeps failing to start (the platform, how many attempts failed, and the times) | While a destination is live or failing | Telling you when a destination keeps being refused, and not emailing you after it has recovered. Linked to your account and the destination. Kept 90 days. |
| Platform broadcast identifiers: the identifier Twitch or Kick gives your current broadcast (Twitch) or its start time (Kick), when we first and last saw it, and how many checks saw it | When you have connected Twitch or Kick and your channel is live | Checking whether a reconnect kept one broadcast on the platform. Linked to your account. Kept until you delete your account. |
| Notice records: that we sent you a notice about a change to our terms, and when | When we send such a notice | Making sure each notice is sent once. Linked to your account. Kept until you delete your account. |
| A simplified form of your email address (capital letters ignored, and for Gmail addresses dots and anything after a plus sign ignored) | When you sign up | Recognising the same mailbox when you sign in, and spotting duplicate accounts created to get around plan limits. Stored with your account record and deleted with it. |
| IP addresses on your account record: the address you signed up from, the address of your most recent publish to our streaming ingest (replaced at each publish), and the address that started a sign-in or two-step check that was in progress | When you sign up, publish, or start such a sign-in | Spotting duplicate and abusive accounts and checking that a sign-in matches the person who started it. Not shown to you or to any other user. Kept on your account record until you delete your account. |
| Bitrate kick records | When a stream exceeds your plan's bitrate cap | Enforcing repeat-violation rules and account suspension thresholds |
| Browser-streaming usage events: that you opened the Go Live page, that you pressed Go Live, and the type of any error that stopped a go-live attempt (for example no destination enabled, or screen sharing refused) | When you use going live from your browser | Understanding whether browser streaming works for people and fixing the errors they hit. Each event is linked to your account and a timestamp. It does not include your IP address, your browser identifier or anything you typed. |
| Camera and Go Live diagnostics, for accounts in our camera-mode test group and, once camera mode opens to your plan, for your account: while you stream from your browser, technical readings every few seconds and when something changes. They cover video and audio rates, frame rate and resolution, the encoder in use, connection quality (round-trip time, packet loss, available bandwidth), whether the camera and microphone are running, muted or ended, the microphone volume as a number (never the sound), whether the front or back camera is in use, the names your device gives the camera and microphone in use (for example "iPhone Microphone"), screen orientation, whether the page was in the foreground, whether battery saver and test options were on, whether you tapped the iPhone tip, and the first 160 characters of your browser's user agent. Never any picture or sound. Our test group can also run a separate codec-support test that reports the same kind of device facts (browser identifier, processor cores, memory, screen size) with its results | While a camera-mode stream is live | Finding and fixing faults on phones (streams that stop, freeze, lose video or lose audio). Linked to your account and a time stamp. It does not include your IP address. Kept 30 days. |
| Destination change history: when a destination was added, switched on or off, edited or removed, whether it was on or off before and after, and which route made the change (the website, the Odin assistant, a platform reconnect, or our admin tools) | When you change a destination | Showing you and us exactly what was changed and when, so a destination that streams when it should not (or the other way round) can be investigated and fixed. Linked to your account. It stores the destination name only, never its address or stream key. |
| Destination request history: each attempt to add, change or remove a destination, with the kind of request, which destination, the answer code the server gave (for example 200, or an error code), and the time | When you add, change or remove a destination | Finding out why a change did not save, including requests that failed before anything changed. Linked to your account. It stores no addresses, stream keys, request content or IP address. |
| Stream wrap-up: for each stream, its duration, which destinations were reached and how many times each dropped, chat message counts per platform (plans with combined chat) and peak viewer counts per platform (Standard and Pro), plus whether we emailed you about it | When a stream ends | Showing you how your stream went on your dashboard and, if you keep it switched on, in one email after streams of 20 minutes or more. Linked to your account. Counts only, no message content and no viewer identities. |
| Allowance email record: your account ID, the usage period and which allowance email (the heads-up, or the allowance-reached notice) we have sent you | When we send you an allowance email | Making sure you receive each allowance email at most once per usage period, even if a technical fault stops our normal marker from saving. Linked to your account. It stores no email address and no message content. |
2.3 Information from third parties
| Data | Source | Why |
|---|---|---|
| Stripe customer ID and subscription details | Stripe | Linking your account to your subscription and plan limits |
| Google account email and basic profile data | Google (only if you sign in with Google) | Creating or linking your Sleipnir account when you choose Sign in with Google |
| Twitch profile data and IRC chat messages | Twitch (only if you connect Twitch for combined chat) | Reading your channel's chat to display in your combined chat dashboard |
| YouTube channel name and ID, live chat messages, your YouTube stream key and the live viewer count of your broadcast | YouTube / Google (only if you connect YouTube) | Showing your live chat in your combined chat, adding YouTube as a destination in one click, and showing viewer counts and your stream wrap-up (see 4.3) |
| Kick channel data and chat messages | Kick (only if you connect Kick for combined chat) | Reading your channel's chat to display in your combined chat dashboard |
| Whether your channel is live, and the game or category it shows while live | Twitch and Kick public APIs (only if you have connected Twitch or Kick) | Showing your live status on StreamTeam pages, and recording which games Sleipnir streamers play so we can offer game-based discovery (see 2.5). This is the same information anyone can see on your channel while you stream; we read it from the platform, never from your video. |
2.4 Combined chat data
If you connect a Twitch, YouTube, or Kick account to enable the combined chat feature, we additionally collect and process the following data:
- OAuth access and refresh tokens for the platform, stored encrypted at rest (see Section 10).
- Your channel ID or username on the platform.
- Chat messages sent in your channel, by you or your viewers, while you are actively connected. These messages may contain personal data of third parties (your viewers), including display names, message text, and platform-internal user IDs.
We use this data solely to display your combined chat feed in your Sleipnir dashboard. We do not analyse, profile, or share chat content with any third party other than the originating platform.
You can disconnect any platform at any time from your Account page. Disconnecting a platform revokes our access there and deletes your stored tokens and channel details for it immediately. Captured chat messages are retained for the period stated in Section 6 and then automatically deleted; you may also request earlier deletion by contacting us.
We have no technical means to access chat messages in channels you have not explicitly connected to Sleipnir.
Streamer.bot integration: Sleipnir provides an optional integration with Streamer.bot, a third-party chatbot you may run on your own computer. If you choose to enable this integration, Streamer.bot uses an API token (which you generate on your Account page) to periodically poll Sleipnir's servers for new chat messages, fetching the combined chat data to your local machine so that Streamer.bot can act on it (for example, to trigger sound effects, scene changes, or run automated commands). This flow is initiated and controlled entirely by you: Sleipnir does not send chat data to Streamer.bot unsolicited, we do not have any data-sharing relationship with the makers of Streamer.bot, and your API token can be regenerated or revoked at any time from your Account page, which immediately stops Streamer.bot from receiving further data. The chat messages transmitted through this integration are the same messages already captured under Section 2.4; we are not collecting additional data, only making the existing combined chat feed available to software running under your control.
We do not collect special category data (such as data revealing race, ethnicity, political opinions, religious beliefs, health, biometric, or sexuality) and we do not knowingly process data of users under 16.
We do not record, store, or analyse the audio or video content of your streams. We process only the metadata listed above.
2.5 StreamTeam (team profiles and public pages)
If you create or join a StreamTeam, we process additional data to operate that feature:
- Team information you provide, including the team name, display name, description, any banner image you upload, and your membership of the team.
- Public visibility. StreamTeam includes public team pages (at sleipnir.tv/team/...) and a public team board. When you create or join a team, the following becomes publicly visible to anyone, including people who are not logged in: your display name or chosen nickname, your live or offline status, which streaming platforms you are currently live on, links to your channels on those platforms, and the team's branding. You can hide yourself from every public page at any time with the "Hide me from public pages" switch on your Account page (your teammates still see you inside Sleipnir), or leave a team from your dashboard, which removes your information from that team's public page.
- Follower relationships. If you follow a team, we record that association so that we can display follower counts and operate the feature.
- Team page analytics. We record a count of daily visitors to each team page. Visitors are identified only by a salted hash derived from request attributes. We do not store raw visitor IP addresses for this purpose, and the count cannot be used to re-identify individual visitors.
- Activity timing. The public team board shows when a team was last active, whether it has streamed in the last 7 days, and its place in the ranking, all derived from stream session timing. The hours any member streamed are not published.
- Games you stream. If you have connected Twitch or Kick, we record the game or category your channel shows while you are live (see 2.3). Today this is used only to count which games Sleipnir streamers play. If we launch public game pages that list streamers under a game, they will show only what your team page already shows, the "Hide me from public pages" switch on your Account page keeps you off them, and we will update this Policy first.
2.6 AI assistant (Odin)
Sleipnir offers an optional, in-dashboard AI assistant called Odin. Odin can answer questions about your account and, if you ask it to, make a limited set of changes on your behalf: enabling, disabling, or renaming a destination, and creating or updating a StreamTeam. Odin only acts on your typed instructions, and every account change it proposes requires your explicit confirmation before anything happens.
When you use Odin, we process the messages you type to it, Odin's replies, and the account information Odin retrieves to answer you (such as your destinations, your stream status, and your team details). This is sent to Google Vertex AI (Gemini) to generate Odin's replies. Google does not train its models on this data, though it may retain it briefly for abuse monitoring purposes.
Odin does not read the audio or video content of your streams, and it does not read your combined chat feed. We do not use Odin for marketing or profiling. Odin is entirely opt-in: if you never open it, none of this processing happens.
2.7 Enforcement and copyright records
If we receive a copyright notice about your stream, we record the notice, including the complainant's name and contact details (which they give us), the material they identify, what we did in response, and any counter-notice from you. We also record when your stream is cut for exceeding your plan's bitrate cap (see Section 9). If you delete your account, we do not keep the account, but we keep the limited records described in Section 6, linked to a one-way hash of your email address instead of to your account. This means deleting an account does not reset a repeat-infringer count or the automatic suspension count. The hash is still personal data and we treat it as such. We use these records only to apply our Terms and to establish, exercise or defend legal claims. We do not share them except as described in Section 4.2.
3. How we use your personal data and our lawful basis
Under UK GDPR, we must have a lawful basis for each purpose for which we process your personal data. The basis depends on the purpose:
| Purpose | Lawful basis |
|---|---|
| Creating and authenticating your account | Contract performance (Article 6(1)(b)) |
| Forwarding your streams to your configured Destinations | Contract performance |
| Processing your subscription payments | Contract performance + Legal obligation |
| Enforcing plan limits (bitrate, destinations, fair-use bandwidth allowance) | Contract performance |
| Sending you transactional emails | Contract performance |
| Operating Odin, our optional AI assistant, including the account changes it makes at your direction | Contract performance (Article 6(1)(b)) |
| Rate-limiting signups by IP address | Legitimate interests (Article 6(1)(f)) |
| Detecting and preventing abuse, fraud, or violation of our Terms | Legitimate interests |
| Auto-suspending accounts that repeatedly violate bitrate caps | Contract performance + Legitimate interests (see Section 9) |
| Sending operator-internal monitoring alerts | Legitimate interests |
| Responding to copyright complaints | Legal obligation |
| Keeping a short record of enforcement history after an account is deleted, so that deleting does not reset it | Legitimate interests (Article 6(1)(f)) |
| Keeping records of copyright notices and our response, to apply our repeat-infringer policy and defend legal claims | Legitimate interests (Article 6(1)(f)) |
| Tax and accounting records | Legal obligation (UK statutory record-keeping) |
| Operating StreamTeam public team pages and the team board | Contract performance (Article 6(1)(b)) for the member who opts in, and Legitimate interests (Article 6(1)(f)) in providing discovery and display |
| Counting team page visitors (salted hash, not re-identifiable) | Legitimate interests (Article 6(1)(f)) in understanding feature usage |
| Recording team follower relationships | Contract performance |
| Recording the game or category shown on a connected Twitch or Kick channel while it is live | Legitimate interests (Article 6(1)(f)) in offering game-based discovery; the information is already public on your channel |
| Recording browser-streaming usage events (page opened, Go Live pressed, error type) linked to your account | Legitimate interests (Article 6(1)(f)) in understanding whether browser streaming works and fixing the errors people hit |
| Recording destination change history linked to your account | Legitimate interests (Article 6(1)(f)) in investigating and fixing incorrect streaming and in protecting your account |
| Recording destination request history linked to your account | Legitimate interests (Article 6(1)(f)) in investigating failed changes and keeping the service reliable |
| Keeping a wrap-up of each stream (duration, destinations, drops, chat and viewer counts) linked to your account | Legitimate interests (Article 6(1)(f)) in showing you how your streams went; the email can be switched off on your Account page |
| Recording which allowance emails we have sent you, linked to your account | Legitimate interests (Article 6(1)(f)) in not sending you the same service email repeatedly |
We do not process your personal data for marketing, advertising, or profiling purposes. We do not sell or rent your personal data to anyone.
4. Who we share your personal data with (subprocessors)
We use the following third-party services to operate Sleipnir. Each is bound by data processing terms requiring them to protect your data and use it only to provide their service to us.
4.1 Subprocessors
| Subprocessor | Role | Data shared | Location |
|---|---|---|---|
| Hetzner Cloud GmbH | Hosting (server infrastructure, database) | All data stored by Sleipnir is on Hetzner servers | Germany (EU) |
| Stripe Payments UK, Ltd. (with US-based infrastructure operated by Stripe, Inc.) | Payment processing | Email address, Stripe customer ID, subscription metadata. Card details are entered directly into Stripe's secure form and never reach our servers. | UK contracting entity; US-based infrastructure (transfer covered by adequacy mechanism; see Section 5) |
| Resend Inc. | Outbound transactional email (verification, password reset, quota warnings, suspension notices, etc.) | Email address, your name, the email content | United States |
| Cloudflare, Inc. | DNS hosting, reverse proxy and CDN for web traffic, Web Application Firewall (WAF), inbound email forwarding, domain registrar | DNS queries (IP address only). All HTTP/HTTPS requests to sleipnir.tv pass through Cloudflare's network, so they see request URLs, headers (including IP addresses), and response bodies in order to proxy traffic to our origin server. They also apply default DDoS protection and WAF rules. Inbound email content forwarded to operator. Cloudflare does not have access to data stored in our database, only data in transit through the proxy. | Global infrastructure with UK and EU presence |
| Google LLC | OAuth Sign-in (only if you choose "Sign in with Google") | We request the following Google API scopes: openid, email, and profile (your verified user ID, email address, display name and profile picture URL). We do not request access to your Google Drive, Gmail, Calendar, or any other Google service. |
United States |
| Twitch Interactive, Inc. | Twitch chat ingestion (only if you connect Twitch for combined chat) | We request the chat:read scope, which lets us read messages in your channel's chat. We do not request scopes for posting, moderation, channel editing, or any other action. |
United States |
| Google LLC (YouTube Data API) | YouTube connection (only if you connect YouTube) | We request only the youtube.readonly scope. It lets us read your channel name and ID, your live chat during broadcasts, your YouTube stream key (only when you add YouTube as a destination in one click) and the live viewer count of your broadcast. It cannot post, upload, delete or change anything on your channel. |
United States |
| Google LLC (Google Cloud / Vertex AI) | Powers the optional Odin AI assistant (only if you use it) | Your messages to Odin, Odin's replies, and the account information Odin retrieves (destinations, stream status, team details). We do not send your stream key, payment details, or password to Vertex AI. | Google's global infrastructure; may be outside the UK and EU |
| Kick.com (Kick API) | Kick chat ingestion (only if you connect Kick for combined chat) | We request the user:read, events:subscribe, and chat:write scopes. These let us read your channel's chat events to display in your dashboard and, when you send a message from the combined chat dashboard, post it to your Kick chat on your behalf. We do not request moderation, channel-editing, or other scopes. |
United States |
4.2 When we share data outside subprocessors
We may share personal data outside this list only:
- When required by law, court order, or other valid legal process
- To respond to copyright takedown notices (the user identified in the notice may be informed; the complainant receives only what is necessary to acknowledge the notice)
- To protect our legal rights, the rights of users, or to investigate fraud or safety threats
- In connection with a sale, merger, or transfer of the Service (for example, formation of a successor UK Ltd company operating Sleipnir), in which case we will notify users in advance
We do not share your personal data with advertisers or data brokers. We use Cloudflare Web Analytics as a processor for aggregate, cookieless website measurement; it does not receive information that identifies you and does not build a profile of you.
4.3 Google and YouTube data
Sleipnir uses YouTube API Services. When you connect a YouTube channel, your use of those features is also subject to the YouTube Terms of Service, and Google handles your data under the Google Privacy Policy.
What we access. We request only the youtube.readonly scope. With it we read your channel name and channel ID; the live chat of your channel while you are live; your YouTube stream key, if you add YouTube as a destination in one click; and the live viewer count of your current broadcast (Standard and Pro). If you sign in with Google, we also receive your Google account ID, email address, name and profile picture.
How we use it. Only to provide the features you turned on: showing your chat in your combined chat, sending your stream to YouTube, and showing viewer counts and your stream wrap-up. We do not use Google or YouTube data for advertising, we do not sell it, and we do not use it to train AI models.
How we store it. On our servers in Germany. OAuth tokens and your stream key are encrypted at rest. Chat messages are kept for 7 days. YouTube peak viewer counts are kept with your stream records for 12 months, or until you revoke access. Your channel details and tokens are kept while YouTube stays connected.
Who we share it with. No one, except YouTube itself when we send your stream or read your chat. Our hosting provider stores the encrypted data on our behalf.
How to revoke access. Disconnect YouTube on your Sleipnir Account page: we revoke our access at Google and delete your YouTube tokens, channel details and YouTube viewer counts immediately. Chat messages already received are deleted on their normal 7-day schedule. You can also remove Sleipnir at myaccount.google.com/permissions; we then delete that data within 30 days.
Sleipnir's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
5. International data transfers
Sleipnir is operated from the United Kingdom and most processing happens in the EU (Hetzner Cloud, Germany). Some of our subprocessors are based in the United States:
- Stripe (payment processing): UK contracting entity, US infrastructure
- Resend (outbound email)
- Google (OAuth sign-in)
- Google Vertex AI (Odin AI assistant, if you use it)
Odin, described in Section 2.6, is the exception to our default EU-based processing: using it sends your messages and the retrieved account information to Google Vertex AI, which may process outside the UK and EU. This transfer is covered by the UK extension to the EU-US Data Privacy Framework.
When data is transferred to these subprocessors in the United States, the transfer is protected by:
- The UK extension to the EU-US Data Privacy Framework (where the subprocessor is certified), or
- Standard Contractual Clauses approved by the UK Information Commissioner's Office, where the framework does not apply
Cloudflare's infrastructure is global; their UK and EU presence handles UK-originated traffic by default. Hetzner Cloud's infrastructure is in Germany.
You may request a copy of the safeguards applied to international transfers by contacting [email protected].
6. How long we keep your personal data
We keep different categories of data for different periods:
| Data | Retention period |
|---|---|
| Account record (email, name, password hash, stream key) | Until you delete your account, then permanently deleted within 30 days |
| Accounts whose email address is never verified | Deleted automatically 30 days after signup. We send one reminder first. |
| Destination configurations | Until you delete them or your account |
| Destination fingerprint | Stored with the destination it belongs to; deleted when you delete that destination or your account |
| Stream session metadata | 12 months from session start, then automatically deleted (or sooner if you delete your account) |
| Browser-streaming usage events (page opened, Go Live pressed, error type) | 12 months from the event, then automatically deleted (or sooner if you delete your account) |
| Destination change history | 12 months from the change, then automatically deleted (or sooner if you delete your account) |
| Camera and Go Live diagnostics | 30 days from the report, then automatically deleted (or sooner if you delete your account) |
| Destination reliability records | 90 days from the record, then automatically deleted (or sooner if you delete your account) |
| Platform broadcast identifiers, notice records, the simplified email form and the IP addresses on your account record | Until you delete your account |
| Destination request history | 30 days from the request, then automatically deleted (or sooner if you delete your account) |
| Stream wrap-ups | 12 months from the stream, then automatically deleted (or sooner if you delete your account) |
| Request log at our web proxy (time, method, path, status, user agent; no IP address) | 14 days, in rotating files on the server, then automatically deleted |
| IP addresses in server security logs | Rolling log files of at most 30 MB per service, deleted when the service is replaced, and never kept for more than 90 days |
| Upgrade path counts (not linked to your account) | 13 months from the event, then automatically deleted |
| Allowance email record | 12 months from the email, then automatically deleted (or sooner if you delete your account) |
| Monthly usage totals (hours streamed, bandwidth relayed) | 12 months from the end of the month they cover, then automatically deleted (or sooner if you delete your account) |
| Captured chat messages (Twitch / YouTube / Kick) | 7 days from receipt, then automatically deleted |
| OAuth tokens and channel details (YouTube) | Until you disconnect YouTube (deleted immediately) or delete your account; within 30 days if you remove Sleipnir in your Google settings |
| OAuth tokens and channel details (Twitch / Kick) | Until you disconnect the platform (deleted immediately) or delete your account |
| Odin conversation history | Until you delete your account. There is currently no separate option to clear Odin's history without deleting the account. |
| Encrypted database backups | 30 days, rolling. Stored in a separate Hetzner facility in Nuremberg, Germany. |
| Bitrate kick records | Until you delete your account. If your account had recent enforcement activity when you delete it, see the next row. |
| Enforcement history kept after account deletion: a one-way hash of your email address, the times of any bitrate kicks in the previous 24 hours, and the date and reason of any bitrate warning or kick in the previous 30 days | Up to 12 months from deletion, and only if your account had such activity. If you sign up again with the same email address within that time, we apply it to the new account and remove it from this record. |
| Copyright notice records: the notice, the complainant's name and contact details, the material identified, the action we took, and any counter-notice | 3 years from the date we received the notice, then deleted. During that time they are kept after account deletion, linked to a one-way hash of your email address instead of your account. |
| Email verification tokens | 24 hours, then automatically deleted |
| Password reset tokens | 1 hour, then automatically deleted |
| Session cookies | Up to 24 hours of inactivity; deleted on logout or expiry |
| IP-based rate limit records (signups) | Held only in process memory; reset every 24 hours and on every container restart. Not persisted to the database. |
| Stripe customer and subscription records on our side | Until you delete your account |
| Stripe payment records on Stripe's side | Per Stripe's retention; outside our control |
| Overlay credit purchases and usage (ledger of top-ups and deductions) | For as long as your account exists, and afterwards as long as required for tax and accounting purposes |
| Financial records (invoices, payments) | 6 years from end of relevant tax year (UK HMRC) |
| Support correspondence | Up to 3 years, then deleted unless ongoing matter |
| StreamTeam membership, team name, description, and banner image | Until the team is disbanded, you leave the team, or you delete your account |
| Team follower relationships | Until you unfollow, the team is disbanded, or you delete your account |
| Team page visitor counts (salted hash) | Retained as aggregate daily counts, not linked to identifiable visitors |
| Game or category records from connected Twitch / Kick channels | 12 months from when that game was last seen on your channel, then automatically deleted (or sooner if you delete your account) |
Account deletion is initiated by you from the Account page in your dashboard, with a typed-confirmation step to prevent accidental deletion. After confirmation, your account and associated data are queued for deletion. Deletion completes within 30 days. Financial records required by UK tax law are retained beyond account deletion as required by HMRC (~6 years), but in a separated form not linked to active service identifiers. The other exceptions are the enforcement and copyright records described in this section.
7. Cookies and similar technologies
Sleipnir uses cookies and similar technologies for essential functionality and settings you choose only. We do not use any analytics, advertising, or tracking cookies.
| Cookie | Set by | Purpose | Lifetime |
|---|---|---|---|
| Session cookie | Sleipnir | Keeps you logged in to your dashboard | 24 hours of inactivity |
| Stripe checkout cookies | Stripe | Necessary for processing payments during the checkout flow | Set by Stripe; varies |
| sleipnir_ios_tip | Sleipnir | Remembers that you dismissed the iPhone tip on the Go Live page | 1 year |
The session cookie is HTTP-only (not accessible to JavaScript), Secure (transmitted only over HTTPS), and uses SameSite=Lax scope.
The Go Live page also remembers settings you choose in your browser's local storage on that device: battery saver, which chat sources are shown or collapsed, whether to keep the microphone on while the page is hidden, the microphone you picked and its name, and that you dismissed the iPhone tip. They stay in your browser; we receive them only as described for camera and Go Live diagnostics above.
We use Cloudflare Web Analytics to measure aggregate traffic to our website, such as page views, top pages, referrers, and visitor country. This service is cookieless. It sets no cookies, does not track you across other websites, and does not build a personal profile of you. It records only aggregate measurements and cannot be used to identify you individually. We do not use Google Analytics, Facebook Pixel, advertising trackers, or any cross-site tracking technology.
8. Your rights
Under UK GDPR, you have the following rights regarding your personal data. To exercise any of them, contact [email protected]. We will respond within one calendar month.
8.1 Right of access
You can request a copy of the personal data we hold about you. Most of this is already visible in your dashboard (account info, destinations, usage history). For a full export including data not visible in the dashboard, email us.
8.2 Right to rectification
You can correct inaccurate personal data. Most fields are editable directly from the dashboard (name, password, destinations). For email address changes, email us.
8.3 Right to erasure ("right to be forgotten")
You can delete your account at any time from the Account page in your dashboard. This removes your personal data within 30 days, except for financial records required by UK tax law and the limited enforcement and copyright records described in Section 6.
If you would like erasure of specific data without deleting your whole account, email us.
8.4 Right to restrict processing
You can ask us to limit how we process your data in specific situations (for example, while we investigate a rectification request). Email us to request this.
8.5 Right to data portability
You can request a machine-readable export of personal data you provided to us (email, name, destinations, stream history). Email us to request this; we will provide it within one month, in JSON or CSV format. We are working on a self-serve export feature for the dashboard; once available, this will replace the email-based process.
8.6 Right to object
You can object to processing based on legitimate interests. We will stop unless we have compelling legitimate grounds that override your rights. Email us to object.
8.7 Right not to be subject to automated decision-making
See Section 9 below.
8.8 Right to withdraw consent
Where we rely on consent (which is rare in our processing; most is contract-based), you can withdraw it at any time. Withdrawal does not affect the lawfulness of processing before withdrawal.
8.9 Right to lodge a complaint
If you believe we have not handled your personal data correctly, you have the right to complain to the UK supervisory authority:
0303 123 1113
ico.org.uk
We would appreciate the chance to address your concern first: please email [email protected] before contacting the ICO.
9. Automated decision-making
Sleipnir uses one form of automated decision-making that may significantly affect you: automatic account suspension after 20 bitrate-violation kicks within a 24-hour rolling window.
This is a fully automated decision. When triggered, your account is suspended (you cannot publish streams), and you and the operator are both notified by email. The decision is based on objective measurements (your stream's bitrate compared to your plan's cap, recorded by our enforcement system).
Under Article 22 of UK GDPR, you have the right to:
- Obtain human intervention. If you believe the suspension was triggered in error, contact [email protected]. The operator will review the suspension manually and reactivate your account if appropriate.
- Express your point of view. Your email response is your opportunity to provide context (e.g., "my encoder was misconfigured, I've fixed it now").
- Contest the decision. If you disagree with the suspension after human review, you may contest the decision and we will investigate further.
Odin, our optional AI assistant described in Section 2.6, is not automated decision-making or profiling under Article 22: it only acts on your typed instructions, and every account change it proposes requires your explicit confirmation before it takes effect. Aside from Odin, used as described, we do not use any other form of automated decision-making, profiling, or AI-based decision systems for processing your personal data.
10. Security
We take reasonable technical and organisational measures to protect your personal data:
- All web traffic between you and Sleipnir is encrypted using HTTPS (TLS). Stream ingest (the connection from your broadcasting software to Sleipnir) is encrypted using RTMPS (TLS-protected RTMP). RTMPS is the recommended ingest endpoint shown in your dashboard. We also accept plain RTMP as a fallback for older encoders that don't support RTMPS, but recommend RTMPS whenever possible.
- Passwords are hashed with Argon2id, a memory-hard password hashing function. We never store plaintext passwords.
- Hetzner Cloud's data centre infrastructure includes physical security, network protection, and full-disk encryption on storage volumes, so all data we hold benefits from infrastructure-level protection at rest.
- Database access is restricted to the operator and the Sleipnir application service. The database is not exposed to the public internet.
- The session cookie is HTTP-only, Secure, and SameSite=Lax to mitigate cross-site attacks.
- We rate-limit failed login attempts to defend against brute-force attacks.
- We rate-limit signups per IP address to defend against bot abuse.
- Stripe payment card details never reach our servers; they are entered directly into Stripe's secure form.
OAuth token handling. Access and refresh tokens for connected third-party platforms (Twitch, YouTube, Kick, Google) are encrypted at rest using Fernet (AES-128-CBC + HMAC-SHA256). The encryption key is held in environment variables on our server, separate from the database itself. Tokens are decrypted in memory only when needed to contact the platform's API on your behalf.
Encrypted off-site backups. Database backups are taken daily, encrypted with OpenPGP (ECDH-Curve25519) on the primary server before transfer, and stored in a separate Hetzner facility in Nuremberg, Germany, separate from the Falkenstein facility where the primary database lives. Backups are retained for 30 days, then permanently deleted. The decryption key never leaves our control; even Hetzner cannot read the backup files.
Stream-key handling. Your inbound Sleipnir stream key and the outbound destination URLs you configure (which may contain third-party stream keys) are encrypted at rest in our database using application-level Fernet encryption (AES-128-CBC + HMAC-SHA256). The encryption key is held in environment variables on our server, separate from the database itself. Stream keys are additionally stored as a SHA-256 hash to enable lookup during stream authentication; the hash is one-way and cannot be reversed to recover the original key. We treat all stream keys as sensitive credentials regardless of encryption: if you suspect any have been compromised, rotate them via your dashboard (Sleipnir keys) or at the third-party platform (destination keys). We also keep a keyed one-way fingerprint of each destination address so we can detect duplicate accounts; it is never shown, logged or shared, and cannot be turned back into the address.
No security measure is perfect. If we become aware of a personal data breach affecting you, we will notify you and the UK ICO as required by UK GDPR (within 72 hours of becoming aware, where the breach is likely to result in a risk to your rights).
11. Children
Sleipnir is not intended for use by children under 16. We do not knowingly collect personal data from children under 16. If you believe we have inadvertently collected data from a child, please contact [email protected] and we will delete it.
By creating an account, you confirm that you are at least 16 years old. Accounts identified as belonging to users under 16 may be terminated.
12. Changes to this Policy
We may update this Policy from time to time. The "Last updated" date at the top of the page reflects when changes took effect.
For material changes, those that meaningfully affect how we process your personal data, we will notify you by email at least 30 days before the change takes effect. Continued use of the Service after that date constitutes acknowledgement of the updated Policy.
For non-material changes (clarifications, formatting, contact-detail updates), the updated Policy takes effect when posted.
We will keep an archive of previous versions of this Policy available on request.
13. Contact
For all privacy-related enquiries:
- Email: [email protected]
Belfast BT1 1AA
United Kingdom
(Sleipnir is a trading name of Ryan C. The data controller is Ryan C. Correspondence may be addressed to "Sleipnir" at the above address.)
For copyright complaints (a separate process from privacy), see Section 11 of our Terms of Service.
For complaints to the UK supervisory authority, see Section 8.9.