PACKET
Sign in

Privacy Policy

Last updated: 2026-10-23 · Packet is in active alpha.

Packet is a Discord bot that runs a community's roles, channels, moderation, leveling, games, and more. You set it up in one editable document, and Packet keeps its earlier versions. This policy explains what we collect, why, who we share it with, how long we keep it, and how to get a copy of your data or delete it.

We do not sell your data, use it for advertising, or build marketing profiles.

Information you provide by signing in

When you sign in with Discord, we request only the identify and guilds permissions — your basic Discord identity and the list of servers you're in. We do not request your email address.

  • Your Discord user ID is stored so we can associate your blueprints, settings, and actions with you.
  • Your Discord access token is kept only in an encrypted, browser-only session cookie. It is never written to our database. The cookie expires after 7 days without use, or sooner if Discord ends your sign-in. We use the token to ask Discord, in real time, which servers you can manage and, when you open Copy emoji from another server, which servers you are in. Packet's bot receives the names and ids on that list only to check them against what you may copy from and to label the servers you can pick, and keeps none of it. While you use the dashboard, we also ask Discord every few minutes whether your sign-in is still valid, and we end your session if it is not. Your server list is not stored in our database.
  • Your session cookie also notes whether your Discord account has two-factor authentication turned on, as Discord reports it when you sign in and each time we check your sign-in. We use it only to keep Packet's own operator accounts out of the dashboard until two-factor is on. It is never written to our database.
  • While you are signed in, your browser also keeps a small appearance cookie (named packet_appearance) with the look you chose in Settings: accent color, glow, background style and motion, and card tint. It lets the dashboard draw your theme on the first frame of every page instead of flashing the default. It holds nothing else, is not your Discord identity, and is never written to our database. It lasts up to a year, is rewritten each time your settings load, and is cleared when you sign out.
  • While you are signed in, your browser also remembers the day it last told Packet you opened the website (in its local storage, named packet.websiteVisitDay), so it tells Packet once a day instead of on every page. It holds that date and nothing else, and stays in your browser.
  • Discord is both our sign-in provider and a data recipient: when you open your server picker, we send your token to Discord's API to fetch your manageable servers, when you open Copy emoji from another server, to fetch the servers you are in, and every few minutes while you use the dashboard to confirm your sign-in is still valid. Pictures from Discord on the dashboard, such as your avatar and your servers' icons, load straight from Discord's servers, so your browser asks Discord for them. Packet does not fetch them for you or keep a copy.

Information about the servers you manage

  • Blueprints — the server structure you author (roles, channels, categories, permission settings, onboarding, automod rules, channel topics and pinned-post text, community settings, and the server's icon, banner, emoji and sticker images, each as the image itself or as a reference to the server's image library), plus Packet feature settings such as the role picker.
  • Blueprint save history — each time a server's blueprint is saved, Packet keeps that version with the Discord ID of who saved it and when, so the server's managers can see who changed what. A private draft keeps no history; it starts when the draft is published. Before a blueprint is applied, the plan shows who saved each change since it was last applied. It also says when someone who saved a change can no longer edit that part of the server.
  • Saved snippets — blocks of blueprint text you save in the blueprint editor to insert again later, either for yourself or for one server's managers; they hold no Discord IDs and a server's do not record who saved them, you can delete one at any time, your own are deleted with your personal data, and a server's are deleted with the server's data, 90 days after Packet is removed from the server.
  • Snapshots and apply history — backups of your structure, taken automatically, before an apply, or when someone makes one, and a record of each apply (what changed, when, the mode, and the Discord ID of who triggered it). Older backups are deleted as newer ones are taken, as the retention table says.
  • Activity log — a record of structure-changing actions (e.g. "applied," "created snapshot") with the Discord ID of who performed each.
  • Daily server counts — for a server's Analytics page, Packet keeps one record per day of numbers about the server only (its member count, how many people joined and left, the total messages and voice minutes its leveling counted, never per member and never for anyone who asked Packet to stop counting them, and how many of the people invite tracking saw join that day were still in the server a week and 30 days later), with no one's name or Discord ID, and deletes each day's record 90 days after that day.
  • Who used each Packet power — before a server's owner limits who can use a Packet power, the Access page shows them which staff used that power in the last 30 days, how often, and whether they would lose it. Packet builds this from the records described here, only when the owner asks, and stores nothing new for it. Only the owner sees it. The same page also shows the owner, per moderator, how many bans, kicks and timeouts in the last 30 days were done in Discord's own menus and how many with Packet, from the moderation cases described below.
  • Schedules — a blueprint set to apply on its own keeps the Discord ID of who turned it on and of who confirmed it. If someone changes the blueprint it runs and Packet can't confirm they may apply blueprints, Packet pauses the schedule and keeps that person's Discord ID on it until someone resumes it, so whoever reviews the change can see who made it. When one of these people asks us to delete their data, their ID comes off, and a schedule that loses the person who turned it on or confirmed it is switched off until someone who can apply blueprints chooses Confirm again and turns it back on. For the arcade Packet keeps up to date (called the casino on servers that added it earlier), that is turning its updates back on from the Status page.
  • Saved posts — the posts you save in the dashboard to use again: for a giveaway, its prize and settings; for an announcement, its message and any embed you add; and for both, the channel it posts in and when it is scheduled. Each keeps the Discord ID of who saved it, who scheduled it, anyone whose change paused it, and, for each time it posted, who posted or scheduled it. A giveaway's reward info stays on the saved post until a giveaway starts from it, and then only on that giveaway. An announcement keeps the text you typed until you delete the post. When one of these people asks us to delete their data, their ID comes off, and a post they scheduled is switched off until someone schedules it again.
  • Images your server uploads — if a server's managers upload images to its image library in the dashboard, for its emoji, stickers, role icons and the server's own icon, banner and backgrounds, Packet keeps each image with its name, who uploaded it and when. A manager can also copy emoji into the library from another server where they can manage emoji: Packet downloads each emoji they pick from Discord and keeps it the same way, with who copied it, and keeps nothing about the server it came from. Images are kept until the server deletes them, and are deleted with the server's data after Packet is removed from it. Packet uses an image only in the server that uploaded it, and images are not at a public web address. Packet's operators can look at uploaded images to find and remove abuse, and can mark an image they have checked as approved. That mark belongs to the image, not to the server or the person who uploaded it. Deleting your data removes your name from images you uploaded or copied. The images stay with the server. Our encrypted backups keep one copy of each image, without the name of who uploaded it. When an image is deleted, its backup copy is kept for 30 days, so an image deleted by mistake can be put back, and is deleted the first time Packet is updated after that. An image we remove because it was reported to us leaves the backups the next time Packet is updated, and we keep its fingerprint so the same image cannot be uploaded again.
  • Advanced direct-call log — if you use the advanced "raw" Discord-API passthrough feature, which works only inside the server it is used in, we store each call's method, path and request, its result, and the size of Discord's answer, but never the answer itself. Because a request can still contain Discord data about other people, we treat these records as sensitive and keep them only briefly (see Retention).
  • Feedback — if you submit feedback, we store your message, your Discord username and avatar at the time, the page you were on, and your browser/screen details, plus any replies — from our team, and any you send back, including a reply you send to our feedback message in a Discord DM. If that reply includes images (up to four), we store only the links Discord gives them, as part of your reply, and never the images themselves; Discord's links stop working after about a day. Other files you attach are not kept, only counted by their file type.
  • Preferences — your per-account settings (theme, default options).
  • Templates you share — if you share one of your templates in the Community library, we store it, the name you choose to show with it (or no name, if you share it anonymously), when you agreed to the sharing rules, and our review decisions about it. Before a template is shared, Packet removes your server's channel, role and member IDs, its images, any game server password and the IDs of the servers in a server group. We look at every shared template before anyone else can see it. Once we list it, the template and the name you chose are shown to everyone signed in to Packet. Your Discord ID is never shown. Packet counts how many times a template is used, not who used it. A blueprint made from a shared template notes which template and which version it came from. The note stays with that blueprint as the server's data, and lets us tell that server if we remove the template because it could harm a server. The person who shared the template never sees which servers used it.
  • Reports about shared templates — if you report a shared template, we store your report, your note if you add one, and your Discord ID so we can act on it. The person who shared the template never sees who reported it.
  • Votes on shared templates — if you vote for a shared template, we store which template you voted for, when, and your Discord ID. Only a signed-in account at least 30 days old can vote. Everyone sees the total number of votes on a template, never who cast them, and the person who shared it never sees who voted. You can take your vote back at any time.

Message content: When Packet manages a channel, it briefly reads recent and pinned messages only to recognize messages it previously posted itself (so it doesn't duplicate them). This is processed in memory and is not stored. Seven optional features also read message text, and each is described below: the ticket conversation view, ticket transcripts, highlight previews, spam watch, purging messages by what they say, custom commands that answer a message, and the swear jar. Member reports, also optional and described below, show a server's staff a short excerpt of a message a member reports. Discord sends Packet that text as part of the report itself.

Game server passwords. If you give a game server board a join password, Packet stores it with that server's blueprint, snapshots and settings. It is shown only where you choose: on the board itself, or privately to members who hold the role you pick. It is removed from any copy that leaves your server, such as a template you share or a blueprint copied to another server.

Palworld game server boards. Palworld servers can't be asked for their status directly, so for a Palworld board Packet looks the server up in Palworld's own public server list, about once a minute. The only thing from your board that Packet sends there is the board's name, as the search term. The list's answer (the server's name, player count, version and whether it has a password) appears on the board and is kept only in memory until the next check. Boards for other games ask your game server directly and send nothing to a third party.

Members of servers you manage

To assign roles automatically when someone joins (the Role Caller's auto-role feature), Packet uses Discord's Server Members access and is notified when a member joins a server Packet is in. It acts on that event in memory to grant the roles you configured. It does not store a member list or roster, with three exceptions. The first is a server that sets a wait before those roles are given: while a new member is waiting, Packet keeps a record of their user ID and when their roles are due, and deletes it as soon as the roles are given, or when the member leaves. If the roles can't be given, the record is deleted then too. The second is a server whose owner turns on member role backups, described below. The third is a server that turns on member verification, also described below. A server can also give those roles to the members who are already there. To do that, Packet reads the server's member list in memory, gives the roles to anyone missing them, and keeps no copy of the list. Packet's role picker also lets members click to add or remove their own roles. Those actions change roles on Discord and aren't kept as personal records, except inside a member role backup where a server's owner has turned one on.

Sticky roles (the optional "restore roles on rejoin" feature). Where a server enables sticky roles, Packet records which roles a member held when they leave, so it can put them back if the member rejoins. It stores only a member's user ID and the role IDs they had. It is deleted as soon as the member rejoins (their roles restored) and, if they never return, is pruned automatically after about 90 days. The feature is off by default.

Member verification (optional). Where a server turns this on, a new member waits with a role the server chose until they pass a simple check (a button, or a question the server wrote) or a staff member lets them in. While a member waits, Packet keeps a record of their user ID, when they joined, when their one reminder is due, and which staff queue message is about them. It does not keep what they type to answer a question. The record is deleted as soon as they pass, a staff member lets them in or removes them, or they leave. Packet never removes a member on its own: only a staff member can, from the queue. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your record in every server at once. The feature is off by default.

Member role backups (optional). Where a server's owner turns this on, Packet records which roles each member of that server holds, once a day, so the owner can give members their roles back after a raid or an accidental deletion. It stores only each member's user ID and the IDs of the roles they hold. It does not store names, nicknames, avatars, or anything members post. It leaves out bots, and it leaves out roles that only show what someone is doing right now, such as activity, voice, looking-for-group, and live roles. Packet keeps the 7 most recent backups for a server. If one shows a sudden large loss of roles, the backups taken after it are kept too (up to 7 more), so a raid cannot push out the good ones. Packet takes no daily backup while a nuke watch alert or a raid alert is open, or in the hour after it closes, so a backup never records the server as the raid left it. Each is deleted within 30 days. All of them are deleted as soon as the owner turns the feature off. When the owner starts a restore, Packet also keeps a record of it: who started it, how far it got, and any members the owner chose to leave out. That record is deleted 30 days after the restore ends. A backup is used only to put roles back in the same server. It is never copied into a template or shared with another server. The feature is off by default, and only the server's owner can turn it on or start a restore.

Ban list backups (optional). Where a server's owner turns this on, Packet copies the server's ban list once a day, and again when nuke watch raises an alert, so the owner can put bans back after a raid or a hijacked account lifts them. Each copy holds only each banned account's user ID and the reason the server gave for the ban. It does not hold names, avatars, or who made each ban or when. When the owner restores bans, Packet reads the server's current ban list and Discord's audit log, to show the owner which bans are missing, which are newer, and who made each newer ban and when. It does not keep what it reads. Packet keeps the 7 most recent daily copies for a server. If a copy shows a sudden large change in the list, the copies taken after it are kept too (up to 7 more), so a raid cannot push out the good ones. A copy taken when nuke watch raises an alert is kept apart from these. Each copy is deleted within 30 days. All of them are deleted as soon as the owner turns the feature off. When the owner starts a restore, Packet also keeps a record of it: who started it, how far it got, and the accounts the owner chose to lift or leave unbanned. That record is deleted 30 days after the restore has ended. A copy is used only to put bans back in the same server. It is never copied into a template or shared with another server. The feature is off by default, and only the server's owner can turn it on, see its copies, or start a restore.

An owner's ban list (optional). A server owner can keep one ban list of their own and choose which of the servers they own follow it. Packet stores the list under the owner's user ID: each listed account's user ID, the reason the owner gave, and when it was added. Adding an account bans it in each server that follows the list. Each of those bans is made with the owner's reason, marked as coming from the owner's ban list, which that server's moderators can see in Discord. Removing an account lifts only the bans the list made, and only where nobody has changed that ban since. To know which bans those are, Packet keeps, for each server that follows the list, the user ID of each account on it and whether the list banned it there, found it already banned, could not ban it, or saw the ban lifted since, and when. That record is deleted when the server stops following the list. Before the owner turns the list on for a server, Packet reads that server's ban list and checks which of the accounts it would ban are members, to show the owner what would happen. It does not keep what it reads. Each server's activity log notes when the list is turned on, turned off or paused there, and when the owner adds or removes an account, without naming the account. Only the owner can see or change the list, and only a server's owner can choose whether that server follows it. A server stops following the list when its owner changes, and the bans the list made there stay as the server's own. The list is deleted when the owner deletes their personal data. It is also deleted 90 days after Packet is no longer in any server the owner owns, so Packet notes when that happens. The feature is off by default.

Temporary roles. Where a server uses them, a role can come off on its own after a set time: a moderator can grant one with /temprole, a role menu can hand one out, and a server's shop can sell one. Packet stores the grant — the member's user ID, the role, who granted it, and when it expires — until the role is removed, then deletes the record. Each is off by default.

Custom name colors. Where a server lets members pick their own name color, Packet stores your user ID, the color role it made for you, and the color you chose (plus a second color, or that you chose holographic, where the server lets members add them), so it can change or remove that role later. If the server lets members name that role, the name is set on the Discord role, and Packet doesn’t keep its own copy. Packet also records whether a moderator set the color for you, so it knows not to remove it automatically. The record is deleted when you clear your color with /color clear or leave the server. If the server requires a role for custom colors, the color is also removed when you no longer have that role. If you press Remember this color after setting your own color, Packet also saves the color on your Packet profile, described below, so it can offer it to you in your other servers. The feature is off by default.

Reminders (the optional /remind feature). Where a server turns on reminders, you can use /remind to have Packet remind you of something later, or press Remind me on a giveaway or tournament post to be reminded by direct message shortly before it ends. Packet stores the reminder: your user ID, the server, what you asked to be reminded of (up to 200 characters; for a Remind me button, a line saying what ends and when, with a link to the post), when it is due, and the channel, if you asked for it there. It is used only to send the reminder, by direct message or in that channel if the server allows it and you can still post there. A reminder is deleted as soon as it is sent or you cancel it, and also if it can't be sent. If the server turns reminders off, or removes Packet, before a reminder is due, it is not sent and is deleted when its time comes. A server chooses how far ahead reminders can be set, up to a year. You can see and cancel yours with /remind list and /remind cancel, and deleting your data in /privacy deletes them all. The feature is off by default.

AFK status (the optional /afk feature). Where a server turns on AFK status, you can use /afk to say you are away, with a reason if you like. Packet stores your user ID, the server, the reason you typed (up to 200 characters) and when you set it, nothing else. While you are away, when someone mentions you in that server, Packet replies with your name, your reason and how long you have been away, at most once every 5 minutes in a channel. It learns who a message mentions from the list Discord sends with the message, and never reads what the message says. Your next message in that server clears your status and deletes the record. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your status in every server at once. The feature is off by default.

Swear jar (the optional /swearjar feature). Where a server turns on its swear jar, the server lists words and picks channels. In those channels only, Packet reads the text of new messages from members, through Discord's "Message Content" permission, to see whether a message holds one of the listed words. It compares the text in memory only and never stores the message, the word that matched, the channel or the time. When a message does hold a listed word, Packet adds one to a count it keeps for you in that server: your user ID, the server and the number, nothing else. Packet can answer in the channel with a short reply or a jar emoji, at most once every 30 seconds for the same member in a channel, and the reply never pings anyone. If the server set a fine, Packet charges it in the server's own currency, and the charge shows in your coin history like any other. You can see your own count with /swearjar mine. Staff can set one member's count, or every count in the server, back to zero. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your counts in every server at once. A server that lists no channel has Packet read no message at all. The feature is off by default.

Party games and the daily word (the optional /party games). Where a server turns on party games, tic-tac-toe, Connect 4, hangman and would-you-rather keep what a game needs in Packet's memory while it runs: who is playing, the board, and for would-you-rather which option each member picked. Packet forgets it when the game ends or Packet restarts, and the results show only how many chose each option, never who. The daily word is the one party game that stores anything. When you guess, Packet stores your user ID, the server, the day and the guesses you made that day (up to six five-letter words), nothing else, so you get one game a day and find your board again if Packet restarts. Days are UTC days, and Packet deletes a day's guesses within about an hour after that day ends. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your guesses in every server at once. You type a guess into a pop-up form that Packet opens, and Packet never reads what you write in a channel for these games. Your guesses are shown only to you. If you press Share after your game, the post shows your result as colored squares and never your letters. These games are off by default.

Suggestions (the optional /suggest feature). Where a server turns on suggestions for a forum, the forum's posts are ideas, and staff can mark each one approved, denied or done. Packet keeps a record of an idea when you post it with /suggest, or when staff give it a status. The record holds the post, the forum, who posted the idea and when, and its status. When you post an idea with /suggest, Packet writes the post for you and names you at the end of it. What you write is posted in the forum, and Packet keeps no copy of it. For each decision, Packet also records which staff member made it, when, and the reason they wrote, if any. Packet posts the decision and the reason in the idea's post without naming the staff member. Staff can see who decided with /suggest log. Packet keeps the 25 most recent decisions on an idea. An idea's record and its decisions are deleted 365 days after the idea was posted with /suggest or last decided, and with the server's data 90 days after Packet is removed from the server. If you delete your data in /privacy, your name comes off the ideas you posted, and Packet changes its own /suggest posts so they no longer name you. The ideas stay in the forum. Decisions you made as staff stay on the server's record, like awards you gave. The feature is off by default.

Forms and applications (optional). A server's admins can post forms with an Apply button. When you apply, Packet stores your user ID, the server, which form you used, your answers (each with the question it answers), when you sent it, and where its card is. Your answers are posted on a card in a staff channel the server chose, where staff accept or deny your application. If Packet cannot post the card, it keeps nothing and you can apply again. When staff decide, Packet records which staff member decided, when, and the reason they wrote for a deny, if any, and sends you a DM with the answer and that reason. If the form gives a role on Accept, Packet gives you that role. You can have one application open per form at a time, and a server can make you wait some days after a deny before you apply again; Packet checks that against the date of your last denied application. An application is kept until staff decide it, then deleted 90 days after the decision, and with the server's data 90 days after Packet is removed from the server. The card is a message in the server's own channel, like any other, and only the server can remove it. Deleting your data in /privacy deletes the applications you sent with a server's form, in every server, open or decided. And your name comes off applications you decided as staff; the decision stays on the server's record. The feature is off by default.

Birthdays (the optional /birthday feature). Where a server turns on birthdays, you can use /birthday set to tell Packet your birthday in that server. Only you can set or clear it, and nobody can set it for you. Packet stores your user ID, the server, and the month and day you give. It never asks for the year you were born and does not keep one. Packet also notes the year it last celebrated your birthday there, so it is not celebrated again that year while it stays set. On your birthday, Packet can post the server's birthday message about you in the channel the server chose, and give you the server's birthday role until the day ends. If the server's owner wrote your level, rank or coins into that message, Packet shows them under the same rules as a welcome message (see "Leveling, games, and coins"). The server's owner can also add a birthday gift: an amount of the server's own currency, given once a year, or faster earning while you hold the birthday role, or both. The gift is added to your balance in that server, and Packet stores the amount and when, like other currency you earn there (see "Leveling, games, and coins"). The year Packet notes for your birthday is what keeps it to one gift a year. If the server has set active hours, the birthday message may wait until the first of them that day; until it posts, Packet keeps on your birthday record only the time it is due. The day starts and ends at midnight in the time zone the server picked. Staff cannot look up or list anyone's birthday: only you see yours, with /birthday show. You set it separately in each server. It is deleted when you use /birthday clear or leave the server. If Packet is offline when you leave, it is deleted on the day of your next birthday instead. It is also deleted with the server's data 90 days after Packet is removed from the server. Deleting your data in /privacy deletes your birthday in every server. A server can also celebrate the birthday on your Packet profile, described next; where you set one in a server, that one is celebrated there. The feature is off by default.

Your Packet profile (/me). You can use /me to tell Packet your birthday (the month and day, never a year) and your time zone, once, for every server. Only you can set or clear them, and nobody can set them for you. You can also see and change this same profile on the Packet website, on the My profile page under Settings, when you are signed in with Discord. It is the same profile, and the website stores nothing more. Packet stores your user ID, the birthday month and day you give, the time zone you pick, and for each one the choice you made about who may use it: only you, the servers you are in that use it, or everyone. It also notes when you last set the birthday, and when the profile was made and last changed. If you set quiet hours, it stores them too, as described below. Nothing is stored until you set it. You can always see your own with /me show and on your own /profile. Other members can see a detail only as you allow. Your birthday (the month and day, never a year) shows on your /profile and on your /level rank card, and your time zone shows as your current local time on your /profile; Packet works that out when /profile is opened and stores nothing more. At "only you", nobody else sees either. At "the servers you are in that use it", they show only in a server where birthdays are on and profile birthdays are not turned off. At "everyone", your time zone shows in every server you are in, and your birthday in every server you are in except one where birthdays are off or the owner turned profile birthdays off. A server's /level rank card is posted in the channel, so everyone who can see the channel can see what is on it. A birthday you hid in a server with /birthday clear is not shown there to anyone but you. No server and no staff member can list or search profiles.

Your quiet hours (/me quiet). You can set a start and an end time of day, such as 22:00 to 08:00. Packet stores those two times on your profile, read in the time zone you set, at every level, "only you" included, so they need a time zone and are cleared with it. Only you can see or change them. They have no sharing choice: they are never shown to any other member, server or staff member, and they never appear on your card or /profile. While they are on, Packet leaves your mention out of its posts that name you and holds some of its direct messages to you until they end. A notice held during your quiet hours is kept at most 24 hours: the finished message, with the kind of notice it is and the time it will be sent. It is deleted when it is sent, or unsent when that time passes. Messages from moderators, safety alerts and your own reminders are never held. Turn quiet hours off with /me quiet off:True, or remove them with the time zone. Erasing your data in /privacy or removing everything with /me clear deletes your quiet hours and any notice held for you.

Your player card. On the My profile page of the Packet website you can choose how your /level rank card looks: the server's look, one of Packet's built-in looks, or your own shape and colors. You can also hide parts of it, such as your coins or your birthday, and choose where things go: the side your picture is on and the order of the boxes and of the line under your name. Packet stores only those choices on your profile: the look you picked, the colors if you chose your own, which parts you hide, and where things go. Nothing you type or upload goes on the card. Anyone who can see your card sees the look. Hiding a part never shows anything your other choices keep private. A server's owner can choose not to use members' own colors in that server; your card then takes the server's look there. The preview on the page is drawn with sample numbers, your Discord name and your avatar, and is not stored. Choosing the server's look with nothing hidden and everything in its usual place removes your choices. Erasing your data in /privacy or removing everything with /me clear deletes them too.

A server whose owner has profile birthdays on celebrates the birthday on your profile the way it celebrates one set in the server: the server's birthday message in the channel it chose, and its birthday role until the day ends. Profile birthdays are on by default in a server that has birthdays on, and the owner can turn them off or choose to celebrate only profile birthdays. Packet does this only if you chose "the servers you are in that use it" or "everyone" for your birthday; at "only you", no server uses it. If you shared your time zone the same way, your day starts and ends at midnight in your time zone, in every server; otherwise it starts and ends at midnight in the server's time zone. A birthday you set for today is first celebrated next year. A server never sees your profile and staff cannot list it: the server learns your birthday only when it is celebrated, as it does for a birthday set in the server, or shown on your card or /profile as described above, and is never told your time zone itself. To find which servers to celebrate in, Packet looks you up among the members it already has and, only for a server where that list is incomplete, asks Discord about just the people whose birthday it is that day; it keeps no list of the servers you are in beyond the notes described next. In each server where it celebrates your profile birthday, Packet keeps the year it did, so it is not celebrated again that year, and, if you use /birthday clear in a server to hide your profile birthday there, a note that you did. These notes hold no date and no time zone. A note about a celebration is deleted automatically after the end of the following calendar year; a note that you hid your birthday stays until you show it again, you leave the server, you remove everything on your profile, or you delete your data in /privacy. A birthday you set with /birthday in a server stays separate: Packet never copies it into your profile for you, or your profile into a server, and where you set one in a server, that one is the one celebrated there.

If you saved a birthday in servers before you had a profile, /birthday show can offer, to you alone, to put it on your profile. To make the offer, Packet reads the birthdays you saved in your servers (the month and day only) and tells you each date and how many servers hold it, never which servers. It copies a date to your profile only when you press that date's button, and its reply says who may use it. Packet remembers that it showed you the offer in memory only, until it next restarts, and stores nothing about it. /me switches shows you, privately, the choices on your /privacy panel, your birthday, your time zone, your quiet hours and your saved name color, with the command that changes each one. It only reads them: it changes and stores nothing.

Your saved name color. Packet saves a name color on your profile only when you press Remember this color after setting your own color in a server with custom colors. It stores the color code (like #FF8800), plus a second color code if your color is a gradient, and nothing else: not the server you set it in. While it is saved, a color you set for yourself replaces it; a color a moderator sets for you does not. In another server with custom colors on, when you press its color button while you have no color there, or use /color set without a color, Packet offers you the saved color, privately. It is applied only if you press Use, and then only as that server's own rules allow. It is never shown to anyone else, no server or staff member can see it, and it is never applied for you. Remove it with /me clear, which deletes it, or by deleting your data in /privacy.

Your profile is kept until you remove it with /me clear or delete your data in /privacy, which deletes it and these notes in every server. It belongs to you and not to a server, so leaving a server, or Packet leaving a server, does not delete your profile. Leaving a server deletes the notes about you in that server; if Packet was offline when you left, they are deleted by the other routes above, or with the server's data 90 days after Packet is removed from the server.

Moderation cases (the optional moderation feature). Where a server enables moderation, a moderator can warn, mute, isolate, kick, or ban a member with the /mod commands. Packet stores a case record — the member's user ID, the moderator's ID, the action taken, the reason the moderator typed, when, and how many strikes the case counts as (one, unless the server's owner sets a higher number or the moderator picks one) — so moderators have history and the automatic escalation ladder works. A moderator can change a case's reason later. Packet keeps each earlier reason with the case, with who changed it and when. A moderator can also mark a case a mistake ("void" it). The case stays on record, with who voided it, when, and the reason they gave, and it no longer counts toward escalation. Where a server has Packet message a member about an action, the server can write that message itself and add a link to its rules and a link to appeal. Packet puts those links in the message as written and never opens them. The message names the moderator who acted only if the server turns that on. When the server turns on the option to also track Discord's own moderation actions, Packet records the same kind of case for a ban / kick / timeout done through Discord's own menu, or a timeout applied by Discord's AutoMod, reading only the action, the target, and the reason from Discord's audit log. Where the server's owner also turns on Packet-only moderation, Packet posts an alert in the server's moderation log channel each time that happens: who acted, on whom, the action, and whether a reason was given. The moderator who acted can add a missing reason, which Packet stores on the case. The owner can lift the timeout or remove the ban from the alert. Packet records that as a case too, and marks the original case pardoned by the owner, so it no longer counts toward escalation. Packet-only moderation is off by default. It also counts how often a member's messages trip AutoMod, and records a case only if that happens repeatedly in a short window — a count, never the messages themselves. It does not store any message content. The feature is off by default.

Reporting a message to staff (part of moderation). Where a server has turned on moderation and picked a moderation log channel, a member can right-click a message and choose "Report to staff". Packet posts one note in that channel for the server's staff: who reported, whose message it was and in which channel, a link to the message, the reason the reporter typed, and the time. Packet keeps none of the message's text and writes the report nowhere else. To stop repeats and floods, it holds the reporter's ID and the message's ID in memory for about ten minutes, and a restart clears them. Staff can also warn, add a note about, time out or read a member's history from that member's right-click menu: these are the same /mod actions and make the same case records.

Member reports (optional, part of moderation). A server's admins can also turn on member reports. They are off by default, and while they are off, reporting works as described just above. Once they are on, a member can report a message, or another member, with "Report to staff" in the right-click menu. Packet posts one card in a staff channel the admins pick, or in the moderation log channel if they pick none. The card shows who reported, who was reported, the reason the reporter typed, and the time. For a message, it also shows the channel, a link, and up to 300 characters of what the message said. Discord sends Packet that text as part of the report itself. Packet holds it in memory only until the reporter sends the form, for 15 minutes at most, then puts it on the card and keeps no copy. The card is a message in the server's own channel, like any other, and only the server can remove it. Staff act from the card with buttons. Warn, time out and open a case do the same /mod actions and make the same case records. Delete removes the reported message, and dismiss closes the report. Packet keeps a short record of each report: the ID of the member reported, the message's ID and channel, where the card is, and who handled it or deleted the message, how and when. It does not keep the reporter's ID, their reason, or any of the message's text. Like a moderation case, the record belongs to the server, so deleting your data does not remove it. Packet deletes it 30 days after staff handle the report, or 90 days after it was made if nobody does.

Isolating a member (part of moderation). A moderator can isolate a member with /mod isolate. Packet moves them into a role that can see no channel and takes the other roles it can take from them. It gives those roles back when a moderator runs /mod release, when the time the moderator set runs out, or when someone takes that role off them in Discord. If the isolation ends within 28 days, Packet also times them out until then, where Discord allows it. Packet keeps the member's user ID, the IDs of the roles it took and of any roles they were given while isolated, the reason the moderator typed, when it ends, and which moderator isolated or released them. A member who leaves while isolated is isolated again if they come back before it ends, and a member released while away gets their roles back when they next join. Packet deletes the record 30 days after the isolation ends.

Honeypot channel (optional, part of moderation). A server's admins can name a channel nobody should post in. When a member posts there, Packet isolates them the same way, for the time the admins set, and posts an alert for the server's staff with the member, the channel and a link to the post. Packet reads who posted and where, never what the post says. It keeps the same isolation record as above, with the reason "Posted in the honeypot channel" and the channel's ID. It deletes nothing, and it never bans anyone on its own: a ban is a staff member's choice from the alert. The record is deleted when any other isolation record is.

Spam watch (optional, part of moderation). Where a server's admins turn on spam watch, Packet reads the text of new messages from members in that server, through Discord's "Message Content" permission, to notice one member posting the same message in several channels, or again and again in one channel, within a short time, such as the same invite link in three channels within 30 seconds. It compares the text in memory only. For each message it keeps a fingerprint, a scrambled code that cannot be turned back into the text, in memory, beside who sent it, the channel and the time. A fingerprint counts only for the window the server picked (five minutes at most). After that it is ignored and is cleared out as newer messages arrive, and a restart clears them all. Neither the text nor a fingerprint is ever written to Packet's database, to a file or to a log. When the rule trips, Packet times the member out for the short time the server picked, if Discord allows it, and records a moderation case: the member's user ID, the IDs of the channels, and how many channels or copies over how many seconds, never the message. Staff can remove the timeout or mark it "not spam" with one click, and "not spam" is recorded on that case. Spam watch never bans, kicks or deletes anything. It is off by default.

Purging messages by what they say (optional, part of moderation). A moderator can delete a batch of recent messages in a channel with /mod purge. Where a server's admins turn on purging by what messages say, the moderator can also give some words, and Packet then reads the text of the messages that purge already looks through (the last 100 in that channel at most), through Discord's "Message Content" permission, and deletes the ones that contain those words. It compares the text in memory, once, and keeps none of it: not what the messages said, not the words the moderator gave, and not which messages matched. The moderation log records that a purge used this filter, who ran it, the channel and how many messages it deleted, never what they said. A deleted message is gone from Discord for good. It is off by default, and while it is off /mod purge never reads what a message says.

Flood guard and automatic slow-mode (optional, part of moderation). Where a server's admins turn on flood guard, Packet counts how many messages each member sends, and how many people and roles they mention, within a short time. It counts from who sent each message, where and when, and from the mentions Discord lists with it. It never reads the text. A count is used only for the window the server picked (five minutes at most). After that it is ignored and is cleared out as newer messages arrive, and a restart clears them all. The counts are never written anywhere. When a member goes over the limit, Packet times them out for the short time the server picked, if Discord allows it, and records a moderation case: the member's user ID, the IDs of the channels and the counts, never a message. Staff can remove the timeout or mark it "not spam" with one click. Where the server turns on automatic slow-mode, Packet counts the same way, per channel, and turns on slow-mode in a channel where many members post at once. It puts the channel back the way it was once the channel has been quiet for the time the server picked, unless someone changed the slow-mode in the meantime, and staff can end it sooner with one click. While the slow-mode is on, Packet keeps the channel's ID, its slow-mode before and during, and when it ends, never who posted, and deletes them when it ends. Neither ever bans, kicks or deletes anything. Both are off by default.

Locking a channel (part of moderation). A moderator can lock a channel with /mod lock. Members then cannot post, react or start threads there, and staff still can. A lock always ends on its own, after 10 minutes unless the moderator picked another time (up to 7 days), and staff can end it sooner with /mod unlock. To put the channel back exactly as it was, Packet keeps the channel's ID, the permission settings it changed there (as they were before and as Packet set them), the reason the moderator typed, when the lock ends, and which moderator locked or unlocked it. It never keeps who posted or what they said. Like a moderation case, the record belongs to the server. Packet deletes the record 30 days after the lock ends. If Packet could not put a setting back, it keeps the record so staff can try again, and deletes it 90 days after the last try.

Freezing the server (part of moderation). Staff can freeze the whole server with /mod freeze, from the Safety page, or with the Freeze button on a raid or nuke alert. Members then cannot post, react or start threads in any channel, and staff still can. A freeze ends on its own after 1 hour unless staff picked another time (up to 7 days), and staff can end it sooner. Staff can also choose to keep it on until they end it. It keeps the same kind of record as a channel lock, for every channel it changed: the channel's ID, the permission settings Packet changed there (as they were before and as Packet set them), the channels and roles staff picked, the reason, when it ends, the alert it was started from, and which staff member froze or unfroze the server. It never keeps who posted or what they said. A channel lock that was on when the freeze started becomes part of the freeze's record. The record belongs to the server and is deleted on the same schedule as a channel lock's.

A freeze's extra steps (optional). Staff can also have a freeze pause invites with Discord's own invite pause, raise the server's verification level, and, where member verification is set up, hold everyone who joins at it. For these, the freeze's record also keeps when the invite pause Packet set ends and the verification level the server had before, so Packet can put both back when the freeze ends. A member who joins during such a freeze waits at member verification like any waiting member, and their waiting record also notes the freeze, until they get in or leave. These are deleted on the same schedule as the freeze's record.

Scam links and message filters (optional, part of moderation). Where a server's admins turn these on, Packet adds rules to the server's own Discord AutoMod: a list of known scam and fake-Nitro link patterns that Packet keeps up to date, and filters for walls of capital letters, emoji or stacked accent marks. Discord checks each message against these rules and blocks a match before it is posted. Packet does not read the message. From Discord's audit log it learns only which rule blocked a message, whose message it was and the channel. When the scam-link rule blocks a message, Packet times the sender out for the short time the server picked, if Discord allows it, and records a moderation case: the member's user ID and the channel's ID, never the message. Staff can remove the timeout or mark it "not spam" with one click. A server can set the scam-link rule to block the message only, and then Packet only posts a notice for its staff, with the same IDs. When a filter blocks a message, Packet only counts it, without who sent it. Where the server chooses, Discord's own AutoMod alert shows the server's staff the blocked message. That alert is Discord's: Packet ignores it and keeps nothing from it. Both are off by default.

Nuke watch (optional). Where a server's owner turns on nuke watch, Packet reads the server's audit log for bursts of destructive actions, such as many channels deleted in a minute. It does the counting in memory and does not store it. It also counts the bans and kicks staff make with Packet using a power the server's owner gave their role, under that staff member's own account, because Discord's log names Packet for those. When it sees a burst, it records the user ID of the account that did it, what kind of actions it took and how many, and when. That includes the owner's own account, which Packet reports and never acts on. Its alert names that account, in a channel the owner picks or in a DM to the owner. If the owner has allowed it, Packet can also act on its own: it removes that account's staff roles, takes back a staff permission just given to everyone in the server, and removes a bot with staff permissions that someone the owner doesn't trust just added. It records the user ID of each member or bot it acted on and what it removed, so the owner can see it and undo it. When the owner, or an account they trust, marks an alert as planned or gives back what Packet removed, Packet records who did it. Where the server also uses Packet's logging, each step appears in that log too. The owner can name trusted accounts that nuke watch leaves alone. Packet keeps those user IDs until the owner removes them or turns nuke watch off, and it keeps the ID of the owner who last changed nuke watch's settings. Nuke watch is off by default, and only the server's owner can turn it on.

Pausing invites and DMs. Where a server's owner has turned on nuke watch, the server's staff can also ask Packet to pause the server's invites, direct messages between its members, or both. Packet uses Discord's own pause, which Discord ends on its own. Packet records which staff member paused them and until when, and who ended the pause if staff ended it early.

Raid protection for joins (optional). Where a server's owner turns on raid protection, Packet also watches how fast people join. For about an hour it remembers, in memory only, who just joined, how old each account is and whether the server's own AutoMod blocked its name. It keeps a count of joins per hour, with no names or IDs, for 14 days. When it sees a raid, it alerts the server's staff and, if the owner has allowed it, pauses the server's invites and DMs and holds the accounts that joined during the raid. By default Packet holds an account by moving it into a role that can see no channel and timing it out until the hold ends; the owner can choose a timeout alone instead. Discord ends each pause and timeout on its own. Packet ends each hold that moved an account into that role at the time it set, at most 24 hours later (or as soon as Packet is back, if it was offline then), and gives back the roles it took. Staff can keep those accounts in that role past that time, and then they stay there until staff release them or ban them. Packet records the user ID of each member it held and when that hold ends, and the IDs of the roles it took and of any roles they were given while held, so it can give them back; which staff member started holding with /raid hold, kept or released members, ended it early, marked it as not a raid, or banned them; how many of the joins that set the raid off were new accounts, had a name the server's AutoMod blocked, or were made within an hour of each other, as counts with no names or IDs; and, when most of a raid came through one invite, that invite and the user ID of who made it. Staff can ban the accounts a raid moved into that role all at once, after typing how many there are. When they do, they can also choose to delete what those accounts posted since the raid began, up to the last 7 days. That choice is off unless they tick it. Raid protection never bans anyone on its own. During a raid, Packet doesn't welcome new joiners. Their joins, including the minutes just before Packet noticed the raid, don't count toward the server's invite counts or rewards unless staff mark it as not a raid. An account it holds gets the server's join roles when the hold ends, or sooner if staff release it or mark it as not a raid. Where the owner chooses, Packet also times out accounts younger than a set number of days when they join, for up to a day. A raid's record closes when staff end it or mark it as not a raid, or once the raid has gone quiet and its pauses have ended. Its timeouts and isolations can run on after that, each to its own end, and until then staff can still release them or mark the raid as not a raid. Packet deletes each record 30 days after it closes, or once nobody it isolated is still isolated, if that is later. It deletes the record of each hold that moved an account into that role 30 days after that hold ends. It is off by default, and only the server's owner can turn it on.

Packet keeps nuke watch and pause records as the server's security record, and deletes each one 30 days after it closes. A nuke watch alert closes when the owner, or an account they trust, marks it as planned or gives back what Packet removed, or after 24 hours with nothing new. A pause record closes when the pause ends.

Snapshots when nuke watch alerts. Where nuke watch is on, Packet also takes a snapshot of the server when an alert opens, unless the server's owner turns this off. It holds what any snapshot holds: the server's channels, categories, roles and their permission settings, its server settings, and Packet's own settings for the server. So that it can include what was deleted just before the alert, Packet keeps the settings of each channel and role deleted in the server in memory for 10 minutes, and stores them only if an alert opens. It never stores messages. No one in the server can delete these snapshots, not even its owner. Packet deletes each one 30 days after it was taken.

Auto-delete (the optional message cleanup feature). Where a server's admins turn on auto-delete for a channel, Packet deletes messages in that channel a set time after they are sent, for example 10 minutes or 24 hours later. It only deletes messages sent after auto-delete was turned on for that channel, and it stops as soon as it is turned off. A server can keep pinned messages, exempt roles or specific people, and choose whether bots' messages are included. To decide what to delete, Packet checks who sent each message, when, and whether it is pinned. It never reads what a message says. Packet does not keep a list of your messages. For each channel it keeps a bookmark of how far it has cleaned up, and a count of how many messages it removed. If a server's admins ask for it, Packet posts a summary to a channel they choose, naming whose messages were removed and when they were sent. Packet holds those names in memory only until the summary is posted, and never writes them to its database. Like any message in your server, that summary belongs to the server, and only the server's admins can remove it. A message removed by auto-delete is deleted from Discord for good. Neither Packet nor the server can bring it back. The feature is off by default.

Channel automation (optional). Where a server's admins turn it on for a channel, Packet acts on each new message posted there. It can publish the message to the servers that follow an announcement channel, add reactions to it, or open a thread on it named after the person who posted it. To decide, Packet checks who sent the message, where, and what kind of message it is. It never reads what a message says, and it does not keep a record of your messages. Publishing sends the message to every server that follows that channel, just as Discord's own Publish button does. Messages from bots and from Packet itself are left alone unless the server chooses otherwise. A channel can also keep a sticky message at the bottom: after new messages, Packet posts the server's text again and deletes its own last copy. For that it stores only the ID of its own current copy in that channel, never anything about you or your messages. The feature is off by default.

Boost thank-you (optional). Where a server's admins turn it on, Packet posts a thank-you in a channel they choose when a member starts boosting the server. It reads only that Discord says the member started boosting. So that it thanks a boost once, Packet remembers for 10 minutes, in memory only, that it thanked that member, and never writes it to its database. The feature is off by default.

Custom commands that answer a message (optional). A server's admins can write their own commands, and they can also give a command some words so that it answers any message that says them, the way an autoresponder does. Only while at least one of a server's commands has such words, Packet reads the text of each new message sent in that server, through Discord's "Message Content" permission, to see whether it says them. It compares the text in memory and keeps none of it: it is not written to Packet's database, to a file or to a log. When a message matches, Packet replies to it in that channel with the text the server's admins wrote, and it does the same things the command does when someone runs it, such as giving the member who sent the message a role. The reply never repeats what the message said, and it pings no one from the message. Packet never answers bots, webhooks or itself, and in a busy channel it answers at most once every few seconds. It is off by default: a command has no such words until a server's admins add them, and a server where no command has any is never read for this.

Activity status (the Activity roles feature). Where a server enables Packet's optional Activity roles feature, Packet uses Discord's Presence access. Through it, Discord shares a member's current activity — for example a game they're playing, or another app or service (such as music) shown in their Discord status. Packet compares that activity to the rules the server configured and adds or removes a role to match, in memory as the activity changes. It does not store any member's activity or status — the assigned Discord role is the only record. The feature is off by default and runs only where a server's admins enable it. A server can also choose to have Packet post a short message in a channel when a member gets an activity role, for example "Sam just started Minecraft". That message names the activity and is visible to everyone who can see the channel. It is off unless the server turns it on, it is posted at most once an hour for each member and rule, and it does not ping anyone. To keep it to once an hour, Packet remembers in memory only that it posted for that member and rule; that is never written to Packet's database and is lost when Packet restarts. If the server also rewards activity through leveling, Packet records the amount earned, not the activity. One more feature reads the same thing: where a server runs temporary voice channels, a room you create can be NAMED after what you are playing, for example "ARK room". Where that server also runs LFG, the room can be listed under the same name on its looking-for-group board. Both are visible to everyone who can see them in the server. Your activity is read once, at the moment the room is created. It is kept in memory, only for as long as the room lasts, and is never written to Packet's database.

A counter channel for active members reads something else from Presence: whether you are online, idle or set to do not disturb, and never what you are doing. Where a server adds one, Packet counts the members with one of those statuses, leaves out bots and anyone who turned off "Use what I'm playing" in /privacy, and writes only the number into the channel's name. It keeps no list of who was counted.

A counter channel for one game reads what you are doing, the way activity roles do. Where a server adds one, Packet counts the members whose current activity matches the game or app the server picked, for example Minecraft or Spotify. It leaves out bots and anyone who turned off "Use what I'm playing" in /privacy, and for them it does not look at what they are doing at all. It writes only the number into the channel's name, keeps no list of who was counted, and never stores what anyone is doing.

You can tell Packet not to use your activity at all, in /level privacy. That turns off every feature described above that reads it, including the voice-room naming and that board listing, leaves you out of any active-members count and any count of one game's players, and removes any activity role you already have.

Server events (optional). A server's admins can have Packet list the server's events in Discord's Events tab, each with an optional reminder before it starts. Packet records which Discord event it made for each of the server's events, and when that event starts. When a reminder goes out, Packet asks Discord who marked the event Interested at that moment, and if the server takes sign-ups for the event, it also reads who is signed up or on the waitlist. It sends each of them one DM and keeps no list of who that was. To stop the DM, remove your Interested mark from the event in Discord, or withdraw your sign-up. A reminder can also be posted in a channel the server chose, where it may mention a role. The feature is off by default.

Event sign-ups (optional). A server can also take sign-ups for one of its events: a post with Join and Withdraw buttons, a set number of places, and a waitlist once the places are taken. If you sign up for a server event, Packet keeps your Discord user ID, the event, when it starts, and whether you have a place, are on the waitlist or withdrew, so it can hold your place and show how many have signed up. It never keeps anything you type. When sign-ups close, Packet checks which of the people signed up are still in the server and withdraws anyone who has left, and it keeps no record of that check. This is deleted 90 days after the event starts. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your sign-ups in every server at once. Signing up does not mark you Interested in Discord. If the event has a reminder, signing up also gets you the reminder DM. Sign-ups are off by default.

Event time polls (optional). A server can let its members vote on when an event happens. Packet posts a Discord poll with the times the server offered, and when the poll ends it reads how many votes each time got and sets the event for the time with the most, or a staff member picks one. Packet keeps the times offered and the number of votes for each, never who voted, and not which staff member picked. The poll is Discord's own, so Discord shows everyone in the channel who voted for each time, as it does for any poll. Packet deletes this record 30 days after the event starts. Time polls are off by default.

Teams for events (Brackets, optional). A server can also put the people who sign up for an event into teams. Either Packet draws the teams when sign-ups close, or each person picks one of the teams the server named. If you sign up for a server event that has teams, Packet keeps your Discord user ID, the event and the team you are on, or that you are a substitute, so it can show the roster. When sign-ups close, the teams are posted in the server's channel with each member's name, without pinging anyone. Staff can move people between teams. Then a bracket of the teams' matches is posted in the same channel, and staff record which team won each match. Packet keeps each result and the Discord user ID of the staff member who recorded it. It never keeps anything you type. This is deleted 90 days after the event ends. If you delete your data, in Discord with /privacy or in Settings, Packet deletes your places on teams in every server at once, and removes your name from bracket results you recorded. The results stay, because they are the server's record. A roster or bracket already posted in the server's channel is the server's message, and deleting your data does not edit it. A server can also give each team a private thread in that channel, which only the team and the server's staff can see, and a voice room only the team can join. Packet adds and removes the members by their user IDs and keeps only the thread's and the room's IDs, never a message. When the event is over, Packet archives and locks each thread, which stays as the server's record, and removes each room once it is empty. Teams are off by default.

Looking for a group (the optional LFG feature). Where a server turns on LFG, Packet lists voice rooms that have space. A member can also switch on "looking for group" from the board or /lfg, and optionally name a game and pick tags the server offers, such as "Ranked". While it's on, their name, game and tags show on the board so others can find them. Packet keeps this in memory only and stores nothing. It clears when the member switches it off, joins a room, or it times out, and when Packet restarts. A server can also choose a role Packet gives members while they're looking. That setting is off by default. Where the server also turns on the status tag, Packet checks a member's custom status for that tag (such as #LFG) and treats it the same as switching on. It reads only whether the tag is there, and never stores the status.

Where a server turns on voice roles, Packet reads which voice channel you're in so it can give you a role while you're there and take it off when you leave, and it stores nothing: the role, which others in the server can see, is the only record.

Server logging (the optional Logging feature). Where a server enables logging, Packet mirrors its server's activity into a channel the server's admins choose in Discord, and into a shorter-lived activity feed on the server's Status page in the dashboard. Admins choose what's included, and these are on by default: members joining and leaving; nickname changes; a member's roles being added or removed; bans, unbans, kicks, and timeouts (including ones AutoMod hands out on its own); channel changes; other server changes (roles, emoji, invites, threads, and similar settings); a member using one of Packet's own features, like the role picker or a custom color; and Packet's own dashboard actions, such as applying a blueprint, attributed to whoever ran them. Four more kinds of entry are off by default, and an admin has to turn each on. When a message is deleted, the entry holds the channel, the author if Packet had seen the message, when it happened, and whether it had attachments. It never holds what the message said: Packet does not read the text of a deleted message for this, and no entry keeps a copy of it. When many messages are deleted at once, such as in a purge, there is one entry with the count. Messages Packet deleted itself, and deletes in a channel Packet's auto-delete cleans, are not listed. When a member joins a voice channel, leaves one or moves between two, the entry holds who, which channel or channels, and when, and nothing said in the call; when Packet moves a member out of a join-to-create channel into the room it made for them, that move is not listed. Each entry names who did it, when there's a "who" to name, and what happened; an edit — a channel or role update, say — also lists what changed. On a member's join entry in the log channel, Packet also shows how old their account is, marks it when it is newer than the age the server uses for raid protection (7 days unless the owner changed it), and, where the server has invite tracking on, names the invite they used and who made it. The dashboard activity feed does not include these lines. Admins can exempt specific channels and roles. Changes to an exempt channel are not logged, nor are messages deleted in it or voice activity in it (a move between channels is left out if either one is exempt), and neither are the joins, leaves, nickname and role changes, bans, kicks and timeouts, voice entries, and deleted messages of a member Packet sees holding an exempt role. The exemption does not apply to Packet's own moderation and raid protection entries. Admins can also choose whether each entry posts under the name of the person who did it, under "Packet Logs," or under a custom name they set. When staff make an invite through Packet that gives roles, or that only named people can accept, the log entry names who made it, the invite, its channel and the roles it gives, and counts the people it names without listing them.

What we keep, and for how long, depends on where it lands. The copy Packet keeps in the dashboard's activity feed is deleted automatically after the server's chosen retention period (1–365 days, 30 by default). The copy posted to your server's Discord channel is different: it's a message in your server like any other, we don't keep a separate copy of it, and we have no way to edit or retract it once it's sent — only your server's own admins can remove it there. The same is true of the ticket-opening staff summary below, when a server routes ticket activity to a log channel. The feature is off by default.

Support tickets (the optional tickets feature). Where a server enables tickets, a member can open a private support channel, or a private thread, from a panel. Packet stores ticket metadata — who opened it, the staff member who claimed or closed it, its status and timing, the close reason, and (if the panel asks for one) the short subject line the member types when opening. If a desk asks for feedback when a ticket closes, Packet stores the 1–5 star rating and the optional comment the member chooses to leave. A server can choose to have its closed tickets deleted a set number of days after they close, and their ratings and comments go with them. When a ticket is a private thread, Packet also stores which channel the thread is in. Packet never deletes a ticket thread: when the ticket closes, the thread is archived and locked, and it stays in the server even after its record is deleted. Your rating is recorded against the staff member who handled the ticket, and the server’s owner and administrators can see each staff member’s average, never who gave which rating. If that server’s owner switches it on, a staff member can also see their own average, a number only, never the individual comments and never who left them. Where a server turns it on, you can also send its owner feedback about a staff member without opening a ticket. Packet stores what you wrote, who you wrote it about, and that it came from you. Only that server’s owner can read it, not its administrators, and the staff member it is about never sees your name or your words. It is that server’s record, not Packet’s, and it is deleted 90 days after Packet is removed from the server. To power support signals like "awaiting a reply" and first-response time, Packet sees that a message was sent in a ticket — who sent it and when — but not its text.

A staff summary when a ticket opens. Where a server also routes ticket activity to a log channel, opening a ticket posts a short staff-only summary there too — how long the member has been in the server, how old their Discord account is, how many roles they hold, their prior ticket history, and, if Moderation is on, a short summary of their case history. It's a snapshot from the moment the ticket opened, not a live view; a moderator can always pull a fresh one from the ticket itself. This only ever goes to the channel your admins chose for it, never to the ticket the member can see, and — like anything else Packet posts to a server's own channels — we can't take it back once it's there.

Separately, a server's admins can turn on an optional conversation view so support staff can read and reply to a ticket's thread from the dashboard — kept scoped to ticket channels only, for easy management of your support and your own record-keeping of those conversations. When a staff member opens a ticket, Packet reads that ticket channel's latest messages, and older ones a page at a time when staff ask for them — including their text — live, on demand, only to display them, and stores none of it: an edit or deletion on Discord is reflected the next time the thread is loaded, and image attachments are shown straight from Discord's servers and other attachments as links (Packet never downloads them). This uses Discord's "Message Content" permission, and is off unless a server's admins turn it on for their server.

A server can also choose, desk by desk, to have a transcript of each closed ticket posted to a staff channel it picks. When such a ticket closes, Packet reads that ticket channel's messages once (the newest 500 at most), including their text, and posts them to that channel as a text file with a short summary: the ticket number, who opened and closed it, when, and how many messages it holds. Attachments are listed by name and link, and Packet never downloads them. Packet keeps no copy of a transcript: it is built in memory, sent, and not stored or logged. The copy in that channel is the server's, a message in its server like any other, and only its own admins can remove it. This uses the same "Message Content" permission and is off unless a server's admins turn it on for a desk.

Discord grants that permission to Packet as a whole rather than channel by channel, so it is worth saying where else message text is seen. The first other place is when Packet plans or applies a server structure: it checks whether a pinned message it created itself is already up to date, by comparing it against a marker in its own message. That check reads only in order to compare, discards what it read straight away, and stores, logs and shows nothing. It exists so that applying the same setup twice does not post duplicates, and so a plan does not list a message that is already in place. The others are features a server turns on, and each is described in its own place: spam watch and purging messages by what they say (see Moderation above), custom commands that answer a message (see above), the swear jar (see above), and highlight previews (see Leveling below). Spam watch compares each new message's text, in memory, with the same member's recent messages, and keeps only a short-lived fingerprint, never the text. Purging and custom commands compare the text, in memory, with words the server chose, and keep none of it. The swear jar does the same with the server's word list, in the channels the server picked, and keeps only a count. The conversation view and ticket transcripts above, highlight previews below, and the excerpt on a member report (see Moderation above) are the only places Packet ever shows anyone a member's message. A member report's excerpt is the one of these Packet does not read through that permission: Discord sends the reported message's text with the report itself.

The tickets feature as a whole is off by default and runs only where a server's admins enable it.

Leveling, games, and coins (the optional Engagement feature). Where a server enables leveling, Packet stores the XP you earn there. It does not store how many messages you've sent or how many minutes you've spent in voice, and it never stores the content of anything you say. That XP powers your level, rank, and the server's leaderboards. A server's owner can also bring members' levels over from another bot, from that bot's public leaderboard or from a file they upload. Packet then raises your XP on that one server to match, and keeps nothing else from the import: not the file, and not the other bot's leaderboard. It never changes your global or server-group rank, and if you asked Packet to stop counting you, it leaves you out. A server can also show a board of the XP members earned from one source, such as messages or voice, over today, this week or this month. It shows your name and that XP, which Packet reads from the record of XP you earned, kept for 180 days. It never shows how many messages you sent or how long you were in voice. It covers that one server only. If you pressed Stop counting me you are not on it. If you turned off "Use what I'm playing" in /privacy, you are not on the board of XP from activity. A server's owner can also turn on a weekly digest: once a week Packet posts one summary in a staff channel the owner picks, with counts about the server and the members who earned the most XP that week. It names members the way that server's own leaderboards do, from the same record of XP you earned, and leaves you out if you pressed Stop counting me. The only thing Packet stores to make it is the date of the last digest it posted for the server. Your global rank aggregates your XP across the leveling-enabled servers you're in; on global and server-group leaderboards you appear as "Anonymous" unless you opt in to being named. A server's owner can also put that server's leaderboards on a public page on Packet's website, which anyone with the link can open. It is off unless the owner turns it on. It shows each place's level and amount, and your name only if you chose to be named on leaderboards shared with other servers. Otherwise you show there as "Anonymous". The website also has a page for the leaderboards every Packet server shares, with the same rule. These pages never show your Discord account ID, they ask search engines not to list them, and Packet stores nothing new to make them. A server's welcome message, its welcome DM, its birthday message, or the reply of one of its custom commands can also say your level, rank and coins, when you join, on your birthday, or when you run the command or write a message that sets it off, if the server's owner wrote those into it. On a server that shares the Packet-wide economy these are your numbers across all Packet servers, unless the server keeps levels to itself, and then your level and rank are your numbers on that server. Packet shows the Packet-wide numbers only if you chose to be named on leaderboards shared with other servers. If you didn't, the message shows a ? in their place. On any other server they are your numbers on that server. Packet looks them up at the moment it sends the message, and doesn't store the message, the lookup or what it found. If you asked Packet to stop counting you, what you already have still shows. Where a server also turns on coins and games, Packet additionally stores your coin balance, your record of bets and payouts, your daily and streak progress, and your tournament scores and lottery tickets. When you answer a trivia question that reveals its winners on a timer, Packet keeps that you answered, whether you were right and when, until the question reveals, so it can still pay you if Packet restarts in between. A server can also run its own currency, spent in its own shop. Where a server rewards time spent in an activity it chose, reactions to your messages, playing its games, a birthday gift, or awards from its staff, Packet stores the amounts you earned and when. That record never says which activity it was, which reaction, or which message. Where a server rewards reactions, Packet counts how many people reacted to each of your messages. It records which message and channel, never what the message says, who reacted, or which emoji they used. If one of your messages reaches the server's highlights, Packet posts a link to it there that names you as its author. You can turn off being featured in /level privacy. A server can also turn on previews, which show what a highlighted message says. Your message's text shows only if you allow it too: in /privacy, turn on Show my message text in highlights. It is off until you do, and only messages in channels everyone in the server can see show their text. Packet reads the text from your message when it posts or updates the highlight, and does not store it. If you turn it off, Packet takes the text off your highlights that are already up. Where a server rewards forum posts, Packet also records when a post of yours made the server's poll, won it, passed its follow-up vote, or was tagged by its staff. Where a server's staff give awards, Packet keeps a record of each one: who gave it, who received it, the amount, the kind of award, any note the staff member wrote, and, if it was taken back, who took it back and how much came back. Like a moderation case, that record belongs to the server. If you delete your data, your name comes off the awards you received. Awards you gave or took back as staff stay on the server's record. Award records are deleted after 180 days. Where a server's staff correct a balance with /award remove, /award set or /award reset, Packet keeps a record of each correction: who made it, whose balance and which currency, what they asked for, what the member had before and what changed, any note they wrote, where it was made, and, if it was undone, who undid it and what moved back. A reset of everyone is one record with how many members it reached and the total. Like an award, that record belongs to the server. If you delete your data, your name comes off the corrections made to your balance. Corrections you made as staff stay on the server's record. Correction records are deleted after 180 days. Where a server's shop sells requests, like picking the next movie night, Packet keeps a record of each request you make: the item, what it cost, anything you wrote with it, when you made it, and whether it was done, withdrawn, or given back, with the staff member who did that. Packet keeps an open request until it ends, then keeps the record for 180 days. If you delete your data, your requests are deleted too. The price of a request that's still open doesn't come back then, because your balance is deleted with everything else. Packet also changes its own posts about your requests so they no longer name you. Where a request gives you your own section of the server, Packet records which channels a shop request made for you: the server, the item, the request, the name it gave the section, and the IDs of the category and channels it made. Packet keeps that record until you delete your data, or until the server's data is deleted after Packet leaves it. If you delete your data, the record is deleted but the channels stay in the server, because other members may have written in them. The server's staff can remove them. Where a server's shop sells items you keep, like something to use later, a title for your rank card or a lootbox, Packet records the items you keep in your shop inventory: which item, what it cost, when you bought it, and which title you wear. An item you use is deleted once Packet has told the server's staff. When you open a lootbox, Packet records which reward it gave you until you have it, then deletes the box. A title stays until you delete your data. If you delete your data, your inventory is deleted too, and an item you had not used doesn't come back as coins, because your balance is deleted with everything else. Where a server runs quests, Packet records how far you got on each quest each day, week or month, and what a quest you claim gives you. A server's own quests count only what Packet already counts for earning, like a message or a minute in voice, and the games you play against the house. On a server that uses the shared economy, Packet's own quests count each message you send, each minute in voice, each reaction your messages get and each game you play against the house, even past what earns coins, in every server that uses it and has not turned them off, so that record belongs to no one server. Packet deletes progress five weeks after it last changed. Progress on one of Packet's one-time quests, or on one run of a Packet event, is kept until five weeks after that quest or that run ends, so a quest you can finish once pays you once. A quest can also count something you do on the Packet website: when you save a change to your settings or your profile there, Packet notes that you did, and on which day, so that a quest can count it. Packet also notes the day you open the website while signed in, but not which pages you open or when. Saving without changing anything is not noted. Packet deletes a day's note five weeks after it was made, and keeps one note for each of these that you have done it at least once, so a quest that counts it once counts you once. A badge you earn from a quest is kept, with when you earned it, and shows on your rank card and your profile in that server. A badge from Packet's own quests shows only if you chose to be shown across servers. On a server's own leaderboards, the title you wear is shown after your name, or if you wear none, your newest badge from that server's quests. Neither shows on a leaderboard that covers more than one server. If you delete your data, your quest progress, these notes and your badges are deleted too. Where a server offers weekly or monthly rewards, Packet records when you claim a weekly or monthly reward: which week or month, what it pays, and whether it was paid, so that you are paid once. On a server that uses the shared economy, one claim covers every server that uses it, so that record belongs to no one server. Packet deletes these records 40 days after the claim. Where a server gives new members a starting balance, Packet records that you were given it, so it is only given once, and keeps that record until you delete your data. If you delete your data, these records are deleted too. Where a server runs a giveaway, Packet records which giveaways you entered so it can pick a winner from the entrants, and nothing else about you. Entries are deleted when the giveaway is deleted. If you delete your data, your entries go with it, which also takes you out of any giveaway still running. Packet also records which staff member started each giveaway, cancelled it or picked a new winner. Where a server turns on invite tracking, Packet notes which invite a new member used to join, so it can credit whoever invited them and warn staff if a burst of joins through one invite looks like a raid. It records the invite’s creator, the code, when the join happened, and whether it arrived during a raid. Where the server also has logging on, that invite and who made it also appear on the member's join entry in the log channel. A join that arrives during a raid, or just before Packet noticed one, doesn't count toward invite counts or rewards unless the server's staff mark it as not a raid. Some joins cannot be matched to one invite, such as a vanity link, joining through Discord’s own server discovery, or two invites used at once, and those are recorded as unknown rather than guessed. An invite staff made through Packet is credited to nobody. If you delete your data, your name comes off the join Packet recorded, though the record itself stays: whoever invited you keeps credit for it, and staff may still need the count to look into a raid. Invites you sent stay on the server’s record the same way. Where a server pays members XP or its own currency for invites, Packet also notes on the join's record when it paid the member who invited you, so you never earn them that payment twice, even if you leave and come back. Packet reads how old your Discord account is from your user ID to check the server's minimum account age, and doesn't store it. In the inviter's history the payment reads as an invite and doesn't name you. Where a server rewards forum posts that win its poll, Packet looks at who voted for the winning post to check that the votes counted toward that reward come from established members. It uses that list only to count, and doesn’t store it or write it to a log. For the server’s all-time board, Packet also keeps a running total of how many people have reacted to your messages there. It’s deleted when you delete your data. Where a server runs a shared goal, Packet records what you put into it and when, so it can give it back if the server’s staff cancel the goal before it’s reached, or if the goal runs out of time before it’s reached (a deadline the server set, or a goal that starts over each week or month). Packet keeps that record while the goal is open and for 180 days after it closes. If you delete your data, what you put into a goal that’s still open doesn’t come back, because your balance is deleted with everything else. Where a server lets its members send each other coins, or its own currency, Packet records each payment: who sent it, who received it, the amount, the server it was sent in, and when. You both see it in your coin history. Packet posts a note about the payment in the channel naming you both, unless either of you has set your replies to private. If the server keeps a log of how members use Packet's features, the payment appears there too. Packet keeps the payment record for 7 days after the payment completes, and your coin history for 180 days. If you delete your data, your name comes off payments you sent or received, and the other member's history shows "a member" instead. Where a server shows recent big wins, Packet records a win above the server's threshold: the game, the amount, and when. The server's wins card names you unless your replies are set to private. Packet keeps that for 7 days. If you delete your data, your wins come off the card. Run /level privacy in any server to see exactly what's stored, control your visibility, or delete all of it — your coins included — permanently and irreversibly. The feature is off by default and counts activity only in servers whose admins enable it.

You can stop being counted. In /privacy, press Stop counting me and Packet stops counting you in every server. It no longer counts your messages, your voice minutes, your Discord activity or the reactions to your messages, and it leaves you off every leaderboard and the richest members list. What you already have stays as it is. Games, daily rewards, the shop, awards from staff and invite rewards keep working, and a game contest you play in, such as a tournament, still lists you on its own board. Vote boards keep their own switch. The server's record of who you invited stays, and /invites stats still shows how many members you invited. Press Count me again and Packet counts you again from then on. Deleting your data does not undo this: Packet keeps your user ID and that one switch, and nothing else, so it can keep leaving you out.

Vote rewards (the optional /vote feature). When you vote for Packet on top.gg or discordbotlist.com, Packet pays you coins into your global wallet. So that a vote pays once, Packet keeps a record for each site: when it last paid you, your vote streak, and how many votes it has paid you in total. Deleting your data in /privacy deletes that record. Three switches in /privacy build on it, and all three are off until you turn them on.

Vote DMs (also the notify option of /vote). Packet sends you a direct message when it pays one of your votes. The message names the site and the coins, and your streak if you are on one. Packet only does this for votes it finds on its own, never for one you claim with /vote, and it can only reach you if your Discord settings allow messages from server members. Packet does not store the message or keep a list of who it has messaged.

Vote reminders (the "Tell me when I can vote again" switch). Packet sends you one direct message when the wait to vote for it again is over on top.gg or discordbotlist.com. It names the site and links to its vote page. Packet only does this if you have voted for Packet before and turned this switch on, and it can only reach you if your Discord settings allow messages from server members. It sends one for each wait, and a single message if both sites are ready at once. To send each reminder only once, Packet keeps one extra date on your vote record for each site: the vote it last reminded you about. Packet does not store the message or keep a list of who it has messaged. This is its own switch, separate from vote DMs, which message you when a vote pays.

Vote boards (the board option of /vote). Anyone in a server can use it to see which of that server's members voted for Packet in the past day, with their total number of votes. A member is shown by name only if they turned on "Name me on vote boards". Everyone else appears as "Anonymous", with a vote count and no name. This is its own switch, separate from the leaderboard switches. People who voted but are not in that server are not listed there at all. The board appears in the channel where it was run, so people in that channel can see it unless the server or the person who ran it set replies to private. A server's admins can also keep a vote board in a channel they choose. Packet updates that board every hour and it follows the same rules, so anyone who can read that channel can see it. If you turn your switch off or delete your data, that board catches up at its next update, within the hour. Like any message in your server, a vote board belongs to the server.

A server's admins can also set a weekly goal for that board. The board then shows how many of that server's members voted in the past week, as a number with no names. When the goal is met, Packet posts one thank-you with that number in the board's channel, and does not post another for a week. The post names and pings no one. Packet works the number out from the vote record above and stores no list of who voted. The only thing it keeps is which thank-you message it posted and when.

Vote boosts (optional, off until a server's owner turns them on). On a server with this on, the vote buttons on its vote board take two steps. You press a button, Packet asks the list site whether you have voted, and then gives you the link. If you vote within 30 minutes, that vote boosts that server for 24 hours. Packet keeps which server's button you pressed, which list and when, and for a boost, which server it went to and when you voted. If a press cannot count, for example because you voted recently, Packet keeps nothing. The press record is deleted once your vote is matched or after about 14 hours, and a boost record is deleted about an hour after it ends. Both are also deleted when Packet's data for that server is purged. A server never learns who boosted it, only how many boosts it has, unless you turned on "Name me on vote boards". Deleting your data removes these records.

Voter badge (on /profile and the /level rank card). If you voted for Packet in the past week, your own /profile shows a voter badge, your vote streak and your total votes. Other members see the badge and streak, on your /profile or your rank card, only if you turned on "Name me on vote boards", and never if you pressed Stop counting me. Packet reads this from the vote record above and stores nothing new.

Packet keeps all three switches with your other /privacy settings until you change them or delete your data.

Games on /profile. Where a server runs coins and games, /profile can show your best win streaks, your daily-claim streak and how many games you played recently (the span /profile names). Any member can see your best win streaks on your /profile, as they already can on the server's win-streak board (/game streaks). Your daily-claim streak and your games played show on your own /profile only. Packet reads all three from the records described above when /profile is opened and stores nothing new. The games-played count comes from your record of bets and payouts, so it only ever covers as far back as that record is kept.

Tester badge (on your own /profile). If you hold a Tester badge the Packet operator gave you, Packet keeps it under your user ID with who gave, changed or revoked it and when, its end date and the operator's note, and deletes it when you delete your data in /privacy.

Activity tester list. If Packet's operator adds your Discord user ID to the list of people who may open Packet's Activity while it is being tested, Packet keeps your user ID on that list and in the record of changes to it, with which operator made each change and when, and deleting your data in /privacy takes your user ID off the list and out of that record.

Packet's operator testing in a server they own. Packet's operator can open a page that shows what Packet sees in a server whose owner is the operator's own Discord account, to check that a Packet update works. It works only while Discord says the operator owns the server (Packet asks Discord again at least every 30 seconds), so it never reaches any other community, and it only reads: it changes nothing in Discord. It shows Packet's own posts in a channel, the server's channels, roles and permissions, its scheduled events and audit log, the coin records, invite credits and ticket records Packet keeps for that server (a ticket's status and times, never anything typed into it), and, for one member at a time looked up by their user ID, that member's roles, nickname, join date and timeout. It never asks Discord for a list of a server's members. It never shows a member's message. Discord sends a channel's newest messages together, and Packet looks only at who sent each one, keeps the ones Packet itself posted, and drops the rest unread, without keeping or showing any of them. Where one of Packet's own posts quotes a member's message (a highlight preview, or the excerpt on a member report), the page shows only how long the quote is. Attachments are listed by name and size and are never downloaded.

Packet keeps no record of what a reading showed. It counts readings and refusals, and holds the last reading in memory for 5 seconds so that two open pages cost Discord one request. When the operator asks for a before-and-after copy of something Packet can see, Packet keeps that copy for 24 hours, then deletes it automatically. It holds IDs, the names of channels and roles, permission settings, times and one-way fingerprints of Packet's own posts and events. It holds no message text and no member's user ID: a permission setting for one member is kept under a scrambled value that cannot be turned back into the ID, and that stops matching when Packet restarts.

Packet's operator testing as a test account. In a server the operator owns and has listed as a test server, the operator can also have Packet act as if one of the operator's own test accounts had used a command, pressed a button, joined or sent a message, to see what Packet would do. This is switched off unless the operator turns it on, and Packet asks Discord who owns the server before each test. Nothing is sent to Discord as that account. A test acts only as the operator or an account the operator listed, and only while that account is a member of the server. A test never names anyone else as its target, and never runs in a server on the shared economy. A dry test sends nothing to Discord and puts Packet's own database back as it was, but it does not put back what Packet holds only in memory or in its short-lived cache (cooldowns, locks and counters), and it says so. A live test lets Packet's own posts, roles and channels really happen in that test server. Packet records each test, which account it acted as and what it did, in its audit record of that server, and marks anything a live test changed (a coin record, an audit entry, a log message) as a test. Packet keeps the result of each of the operator's most recent tests for 24 hours so it can be looked at again, then deletes it automatically. A kept result holds Packet's replies and the calls it made, and no other member's user ID and no member's message, though a reply can show a member's name the way Packet's own post would (a leaderboard, for example). The operator's list of test accounts holds your user ID only if the operator put you on it, and deleting your data in /privacy takes your user ID off it and out of the record of changes to it.

Packet's Activity in Discord. When you open Packet's Activity, Discord asks whether Packet may see your basic Discord identity (the identify permission only). Packet uses it to learn your Discord user ID and whether your account has two-factor on, and to check that you may open the Activity. Your Discord access token, the token that renews it, your user ID and that two-factor answer are kept only in an encrypted cookie inside Discord's app, for up to 24 hours. They are never written to our database. While you use the Activity, Packet asks Discord every few minutes whether your sign-in is still valid, and ends it if it is not.

To show the right screen, Packet asks Discord where the Activity was opened (the server or chat, and who is in it). Packet keeps that answer in memory for about 30 seconds and never stores it.

Inside the Activity, Discord hides your IP address from Packet. So Packet's records of requests made there name your Discord user ID instead of an address, and a block there is on your Discord account, never on an address.

Games in the Activity. When you play a game in the Activity, Packet keeps a short record of each round: your Discord user ID, a random key your device made for that press, the game, the bet, the result, and, for a game you play over several taps, the choices you made (the tiles you picked, or the automatic cash-out you set), the server it was played in (or that it was played outside a server), and when. Packet uses it only so a round that loses its connection is never charged or paid twice and shows you the same result when your device asks again, and so a round still in play when you reload the Activity can be picked up where you left it. Only you are shown your own rounds and their keys. It is deleted about 24 hours after the round ends, at once if you delete your data in /privacy, and with Packet's data for that server when it is purged. Where a board's mines or a tower's falls are, and where a crash round will end, are kept only in memory while the round is played, as in chat. Once the round is over, what chat's result shows of them is saved with the result. Packet does not store which DM or group DM you played in. Your coins, wins and the shared prize pot work exactly as they do in chat. In a server, a big win or a jackpot can be posted in that server's chat, where the server keeps its game posts (the game's own channel or the games channel), or else in the channel where the Activity is open. The server's owner can turn these posts off. Nothing is posted if your game replies are private, and nothing is posted in a DM, a group DM or a server Packet is not in. Packet deletes every post after a short time, the same time the server sets for its temporary game replies. If Packet restarts in that time, that one post stays up. The post shows your name, the result and your balance, as a result in chat does, and mentions no one. Packet keeps no copy of it. When several people play together in one Activity, Packet keeps each player's latest result in any game (their user ID, the game, whether it was a win, what it paid and, for crash, the multiplier it ended at) in memory for ten minutes, only so the others in that same Activity can see it on the game screens. Names are shown by Discord, not sent by Packet. It is never written to our database, and nothing is shown for a player whose game replies are private.

Your profile in the Activity. My profile in the Activity shows you what /profile and /economy history show you in Discord: your card, your level and coins, your games and coin history, and the details you set with /me. Outside a server, it shows your card on the all-server ladder, your shared coins and your own details. Only you see it. A payment in your coin history shows the other person's Discord name, as /economy history does. Changes you make there are saved the same way as changes on the website's My profile page. Apart from the request records described above, Packet keeps no extra record of what you looked at or changed in the Activity.

Starting the Activity for others. When you start the Activity with the Launch command, Packet posts one short message in that channel or chat saying you started it, with a Join button. It shows your name and pings nobody, and it stays up like any other message. So that it posts only once, Packet remembers which Activity or chat it posted in, but not who started it, for up to two hours. When you press a Play in Activity button, Packet remembers which screen to open for you in that channel for up to five minutes, then forgets it. Both are kept in memory only, never in our database, and Packet keeps no other record of either.

Watch together. Watch together lets people watch YouTube videos together, on packet-app.com or from Packet's Activity. While a room is open, Packet keeps its queue (each video's YouTube ID, its title and length, and who added it), who is in the room with their Discord name and avatar, whether each person has it open on the website or in the Activity, who may control playback, and where the video is. For a room started from a link, Packet also keeps the link's key and who joined with it. For every room, it keeps the people its starter removed. All of it is kept in memory only, never in our database, and none of it is written to a log. It is gone when the room ends: when its starter ends it, when nobody signed in has had it open for 10 minutes, when its channel is deleted, Packet leaves the server or the server turns the Activity off, when Packet's operator turns Watch together off, when Packet restarts, and in any case once the room is 7 days old. Because none of it is stored, there is nothing of it for /privacy to download or delete, and Packet keeps no record of what anyone watched, except a playlist you choose to save (see Saved playlists below).

When you open the player from the Activity, Packet makes a one-time code that is good for 2 minutes, and your browser trades it for a cookie named __Host-packet-watch. The cookie holds your Discord user ID, the room, the Activity it came from, whether your account has two-factor on, and when it was made. It lets your browser into that one room and nothing else, for 6 hours at most, and stops working sooner when the room ends or you leave the Activity. It is encrypted, kept only in your browser and never written to our database.

If you open a room's link without signing in, you can watch as a guest. Packet then gives your browser a cookie named __Host-packet-watch-guest. It holds a random number for your seat, the room and when you came in, and nothing that names you: no Discord account, no name and no address. It lasts at most 6 hours from when you came in, and stops working sooner when the room ends, its starter ends guest access or changes the link, or you leave. Others in the room see guests only as a count. So that one internet address cannot take many seats, Packet counts how often each address comes in as a guest and how many guest streams it has open. It keeps those counts in memory only, under a code made from the address rather than the address itself, and forgets them when it restarts.

A room's link carries its key after the #, which your browser never sends to any server, and the page takes it out of the address bar at once. The page keeps that key in this tab's session storage (named packet-watch-key: and the room) until you join the room signed in, so the link still works after you sign in. Your browser deletes it when you close the tab. The page also remembers in your browser's local storage whether you chose its smaller view (named packet.watch.layout). Both stay in your browser.

Corrections and bars on the shared economy. Packet's operator can correct the shared coins in an account's global wallet, by removing coins or by giving back what one removal took, and can bar an account from the shared economy. While barred, an account cannot spend, send or play with its shared coins and earns no new ones, until the bar is lifted. Coins on their way to it still arrive: a refund, a payment another member sent, or a prize it won before the bar. A contest that pays shared coins and picks its winners while an account is barred leaves that account out and picks from everyone else. A bar never touches a server's own XP, levels or currency. Only Packet's operator can do either, and nothing does them automatically. Packet keeps a record of each: the account's user ID, which operator made it, the amount asked for and the amount removed, the reason given, and when, and, for an undo or a lift, who did it, why and when. These records are kept for as long as Packet runs, and deleting your data does not remove them, so an account cannot clear a correction or lift a bar by deleting its data.

Service usage

We keep basic operational records to run and monitor the service: which servers Packet is in and when it was added or removed, and aggregate counts (number of servers, total members, work-queue depth). These describe service operation, not individual people.

While you are signed in, Packet counts how many times each dashboard page is opened, by the kind of page (for example, a server's Configure page), never which server's page or whose. A count holds no Discord ID, session, server or address, so it cannot tell who opened a page. Each day's page counts are deleted 90 days after that day.

Information we collect to keep the service secure

To detect and prevent abuse, we record, per request: your IP address and approximate country (from our edge provider; inside Packet's Activity, your Discord user ID instead of both, see Packet's Activity in Discord), your browser user-agent, the page or route requested, the response status, and timing. For a page that does not exist, we also note whether another website made your browser ask for it.

A watch together page you open without signing in is recorded the same way. The record names the room in the page's address, never the link's key, which stays after the #. The requests a guest's page then makes inside the room are not recorded, unless they set off one of the blocks described below.

How we store your IP address: as-is, in plain form, for security and abuse-prevention purposes — for example, to recognize and block abusive sources. It is not anonymized or hashed in our records, and it may also appear in our operational logs. (Internally we sign a short-lived token that includes your IP to prevent tampering in transit; that is a transit-only protection and does not change how the IP is stored.)

If an address or a Discord account is blocked for abuse, we keep a security record of it indefinitely, even after the block ends: the blocked value (IP address, range, or Discord user ID), why it was blocked, the page or file it asked for that set off the block, how many times it has been blocked, and when.

Some blocks are automatic. An address that asks our website for files no visitor needs, such as configuration, password, or database files, is blocked at once. So is an address that asks for many pages that do not exist within a minute, the way scanning tools do. An automatic block stays until we lift it, or until our blocklist is 90% full. Then we end the oldest blocks first, starting with addresses blocked the fewest times. An address blocked four times or more is never ended this way. Two kinds of block end sooner. If another website made your browser ask, the block lasts an hour and does not count. If the requests claimed to come from a search engine, the block ends after a day. An address that comes back after a block ended and only asks for pages that do not exist is blocked again for a day, a week or a month, by how many times it was blocked before, or until we lift it after four. If you think your address was blocked by mistake, email us.

Who we share data with

We share data with the infrastructure providers needed to run Packet, with YouTube for a server's YouTube alerts and for watch together, with Spotify when someone pastes a Spotify song link into watch together, and with bot-listing sites only when you ask us to:

  • Discord — your sign-in provider; we call Discord's API with your token to provide the service, and we write the structure you approve back to your server.

  • Cloudflare — our security and edge provider. When we block an IP address or range, by hand or automatically, we send Cloudflare that address or range so it can turn the visitor away before they reach us, and we take it back when the block ends. If we turn that off, the addresses already there stay in our Cloudflare account, unused, until we turn it back on. When we want Cloudflare to check that a visitor is a real browser, we send it that address too. We also read back records of requests its protections acted on (which include client IP addresses), and a count of the requests our blocks turned away.

  • Our hosting provider — runs the servers and databases.

  • YouTube — for a server's YouTube alerts, we send YouTube the channel ID the server entered and the IDs of that channel's videos, and nothing about you. For watch together, we send it the ID of each video someone adds, or of a YouTube playlist someone adds whole, and the text of a song name someone types, and nothing about anyone. The player itself loads from YouTube in your own browser. See YouTube below.

  • Spotify — when someone pastes a Spotify song link into watch together, we ask Spotify's public embed service for that song's name, sending only the link to the song, and nothing about anyone.

  • Bot-listing sites — top.gg and discordbotlist.com. These are the only ones you trigger yourself.

    What we send. When you run /vote, we send your Discord user ID to the site you are claiming on, to ask whether you have voted for Packet there, so we can pay the reward. When you press a vote button on a server's vote board that has vote boosts on, we send it to that button's site, to ask whether you have already voted, so a vote made before the press is not counted toward that server's boost. We send nothing else, we send it only when you do one of those two things, and we never send it for anyone who does not. If you never run /vote or press a vote board's button, nothing about you ever reaches either site.

    What we receive. Once an hour we ask each site for its own list of recent voters, so a vote pays even if you never run the command. That request names nobody. The answer contains the Discord IDs of people who voted, and we keep a record that a vote was paid so the same vote cannot pay twice.

    Separately, we tell these sites how many servers Packet is in, so our listing shows an accurate count. That is a single number about Packet itself. It contains nothing about you, your server, or anyone in it.

No Packet feature sends your data to an AI or large-language-model provider. The "AI Blueprint" feature only gives you a prompt to copy into an AI chat of your own choosing — Packet itself transmits nothing, and what you paste there is between you and whichever service you picked. If you take the prompt in steps, the answers you paste back into Packet's page are sent to Packet to be checked. Packet does not keep them. The page holds them in your browser until you copy the finished blueprint or start over.

YouTube

Packet uses YouTube API Services. Google's handling of the requests Packet makes to YouTube is described in the Google Privacy Policy. Using a Packet feature that uses YouTube also means agreeing to the YouTube Terms of Service, as our Terms say.

Packet does not use YouTube or Google sign-in. It never asks for access to your YouTube or Google account, and it cannot see or change one.

YouTube alerts. A server's admins can set up an alert for a YouTube channel under Social alerts. For new videos, Packet reads the channel's public video feed on YouTube. For an alert that announces when the channel goes live, Packet also asks the YouTube Data API about the videos in that feed, to learn whether one is on air. Packet sends YouTube only the channel ID the server entered and the IDs of that channel's videos. It sends nothing about you, your Discord account or the members of the server. The requests come from Packet's servers, not from your browser.

From YouTube's answers, Packet uses a video's title, its channel's name, its thumbnail, when a stream is scheduled to start or started, and how many people are watching, to write the alert. It keeps those answers in memory only, never in its database, and forgets them when Packet restarts, and never keeps one longer than 30 days. For each alert, its database holds at most two things from YouTube: the ID of the newest video it has seen on the channel, so it posts each video once, and, while a stream is on air, that stream's ID, so it announces the stream once. The stream's ID is removed when Packet sees the stream end. Both are deleted when the alert is removed, and with the server's data after Packet is removed from the server. The channel ID is part of the server's settings, like the rest of its blueprint. The alert Packet posts is a message in your server like any other, and only the server can remove it.

Watch together's player and lookups. Videos in a watch together room play in YouTube's own embedded player, which your browser loads straight from YouTube's privacy-enhanced address (www.youtube-nocookie.com). YouTube collects data from you when the player loads and plays, under the Google Privacy Policy, and Packet does not see what it collects. When someone adds a video, Packet asks the YouTube Data API about that video's ID and sends nothing else: no name, account or address of anyone. When someone adds a whole YouTube playlist by its link, Packet first asks the YouTube Data API for the IDs of the playlist's videos, sending only the playlist's ID, and then asks about those videos the same way. It reads no more videos than the room has room for, and it does not keep the playlist's ID. Pasting several links at once is the same as adding each one: only the video IDs are sent. A link to any other site is never opened and is sent nowhere. For each video it learns the video's title, its length, whether its owner lets it play outside YouTube, and whether it is made for kids. The request comes from Packet's servers. Packet keeps the title and length only with the room, in memory, and forgets them when the room ends, which is never later than the limit Watch together above states.

Finding a song by its name. When someone types a song's name instead of a link, Packet sends that text to YouTube's search, from Packet's servers, and nothing else: no name, account or address of anyone. Before it is sent, the text is tidied (lower case, extra spaces and quotes removed). When someone pastes a Spotify song link, Packet asks Spotify's public embed service for the song's name, sending only the link to that song, and then searches YouTube for the name the same way. Packet reads nothing else from Spotify and keeps nothing Spotify sends. A Spotify playlist or album link and an Apple Music link are never opened. So it does not search for the same song twice, Packet remembers which YouTube video it found for 30 days: it keeps the video's ID and a one-way code made from what was typed or from the Spotify link, never the text itself, and nothing about who asked or in which server. After 30 days the entry is deleted. To keep searches fair, Packet counts how many each person makes in a day, in memory only, and forgets the count when the day ends.

Saved playlists. If you save a watch together playlist, Packet keeps it under your Discord user ID: the name you gave it and, for each video in order, its YouTube video ID, with the song name you typed or the Spotify song's ID when you added it that way. It never keeps a video's title or length, and it names no server. Only you can see, load, rename or delete your playlists. You can save and load them on packet-app.com or in the Activity, in any room you can add videos to, and rename or delete them on packet-app.com. Loading one asks YouTube about its videos again, the same way as adding them, and a song with no video ID is looked up again from its name or its Spotify song ID. When a video's ID came from YouTube itself (a song found by its name, or a video read from a YouTube playlist), Packet keeps that ID for 30 days, then deletes it: the song's name or Spotify song ID stays, and a video from a YouTube playlist leaves the playlist. A playlist you have not saved or loaded for 365 days is deleted. You can delete a playlist yourself at any time. All of them are deleted if you delete your data in Discord with /privacy or in Settings, and they are included when you download your data.

Fixing problems

When something breaks we may look at logs and configuration to fix it. Those can contain Discord IDs and the shape of your server. We look at what the problem needs and nothing else, and we sometimes use developer tools — including AI assistants — while diagnosing it.

This is separate from the AI note above, which is about what Packet's own features do: no feature sends your data anywhere for AI processing. This paragraph is about us fixing a fault, by hand, when one happens.

Error records. When something fails while you use Packet, for example a dashboard page that could not load or a command or button that stopped with an error, Packet keeps a short record so we can find and fix the fault. Only the Packet team can see these records. A record holds what failed, the kind of error, one short line of the error's own text, the place in the code where it happened, and the ID of the server it happened in, if any. Packet takes links, email addresses, quoted text, long numbers, and anything that looks like a password, key or ID out of that line before keeping it. A record does not include your Discord ID, and Packet keeps the name of what failed, never the request or the command options you sent. If a dashboard page crashes in your browser while you are signed in, your browser sends Packet a short report for these records. It names the page by its pattern, never its full address, so no server or user ID in the address is sent. It says the kind of error, whether the whole page stopped or only part of it, and the reference code the page shows you, if there is one. Without a reference code, it carries one line of the error's text instead, which Packet cleans the same way before keeping it. The report holds nothing else from the page. If you are not signed in, your browser sends nothing. When the same failure happens again on the same day, Packet adds to that day's count instead of keeping a new record, and the record names the server where it happened most recently. Each day's records are deleted 30 days after that day begins.

Backups

Packet backs up its database each time it is updated, so it can recover from a failure. A backup is a copy of the data Packet stores, as it was at that moment, so it holds the stored data this page describes. The images a server uploads are backed up separately, as described above. Backups are kept on Packet's own server. A copy sent off that server, to cloud storage, is encrypted first, so the storage provider cannot read it.

A backup is deleted the first time Packet makes a new backup after the old one turns 30 days old, or sooner. A copy deleted from cloud storage can stay in the provider's trash, still encrypted, for up to about 30 more days before the provider removes it. Packet always keeps its 3 most recent backups, even when they are older, so it can still recover after a long time without an update. Deleting your data removes it from Packet's live database at once. A backup made before then still holds it until that backup is deleted. When Packet starts again after restoring a backup, it repeats every deletion request made after that backup, going back 60 days, before it comes back online, so the restore does not bring that data back. If one cannot be repeated then, Packet keeps it, and we repeat it as soon as we can. The one exception is losing Packet's server entirely, since the requests made after its most recent backup would be lost with it. We use backups only to recover Packet after a failure, never for anything else.

How long we keep your data

DataRetention
Security request events (IP, country, user-agent, route)90 days, then deleted automatically
Cloudflare edge-security events30 days, then deleted automatically
Advanced direct-call log30 days, then deleted automatically
Activity log30 days, then deleted automatically
Error records (what failed, and the server it happened in)30 days, then deleted automatically
Session cookie / Discord access token7 days without use (cookie expiry), or until Discord ends your sign-in; never stored on our servers
Appearance cookie (your theme choices, kept in your browser)Up to a year, rewritten each time your settings load, cleared when you sign out; never stored on our servers
Blueprints and a server’s templatesUntil you delete them, or 90 days after Packet is removed from the server
Snapshots (backups of a server’s structure)Packet keeps the newest 50 backups a person made or Packet took before an apply, and deletes older ones. A backup taken before an apply that moved something into Pending deletion is also kept while that item is still there (at most another 50), and deleted once it is not. Automatic backups are kept up to the number the server’s owner sets. If a newer automatic backup shows a big loss of channels or roles, the one before it is kept for up to 30 days. The last automatic backup taken before a nuke watch alert opened is also kept while that alert is open and for up to 30 days after it closes, and never once it is more than 30 days older than the newest automatic backup. A server’s admins can delete a backup a person made sooner. Any of these still left are deleted 90 days after Packet is removed from the server. Snapshots taken when nuke watch alerts have their own row below
Blueprint save historyEach blueprint keeps its 50 most recent saves. Deleted with the blueprint, or 90 days after Packet is removed from the server. The ID of who saved each one comes off if they delete their data
Saved snippets in the blueprint editorUntil you delete them. Yours are deleted if you delete your data, and a server's are deleted 90 days after Packet is removed from the server. You can keep 50, and a server can keep 50
A server's first-time setup checklistWhich of the setup steps Packet lists for a new server have been done (taking the tour, getting a blueprint, making a change, applying it), and when, and whether the owner hid the checklist on the dashboard. Never who did them. Deleted with the server's data, 90 days after Packet is removed from the server
Saved posts and their run historyUntil you delete them, or 90 days after Packet is removed from the server. Each post keeps its 50 most recent runs
Images a server uploads (its image library)Until the server deletes them, or 90 days after Packet is removed from the server. A backup copy is deleted the first time Packet is updated 30 days after that, or the next time if we removed the image after a report. The name of who uploaded each one comes off if they delete their data
Preferences and your own templatesUntil you delete them
Templates you share in the Community libraryUntil you stop sharing them or delete your data. A template we remove is deleted 90 days after we remove it
Reports about shared templatesUntil we act on them, then deleted 180 days later. Deleted sooner if you delete your data
Votes on shared templatesUntil you take your vote back, the template is removed or you stop sharing it, or you delete your data
Our review decisions about shared templatesDeleted 1 year after the template is gone. Your Discord ID comes off them if you delete your data
A ban from sharing templatesKept as a security record, even after you delete your data
Moderation casesKept as the server’s moderation record. A pardon marks a case inactive and a void marks it a mistake; neither removes it. A case’s earlier reasons are kept with it. Deleted with the server’s data, 90 days after Packet is removed from the server
Server freezes (moderation)One per freeze: for every channel it changed, the channel's ID and the permission settings Packet changed there before and during the freeze, plus the channels and roles staff picked, the reason, the alert it was started from, when it ends, and which staff member froze or unfroze the server. Where staff chose them, also when its invite pause ends and the verification level before it. Never who posted. Deleted 30 days after the freeze ends (if a setting could not be put back, 90 days after the last try), and with the server's data, 90 days after Packet is removed from the server
Channel locks (moderation)One per /mod lock: the channel's ID, the permission settings Packet changed there before and during the lock, the reason, when it ends, and which staff member locked or unlocked it. Never who posted. Deleted 30 days after the lock ends (if a setting could not be put back, 90 days after the last try), and with the server's data, 90 days after Packet is removed from the server
Automatic slow-mode records (moderation)One per channel while Packet's automatic slow-mode is on there: the channel's ID, its slow-mode before and during, and when it ends. Never who posted. Deleted when the slow-mode ends, and with the server's data, 90 days after Packet is removed from the server. Off by default
AutoMod rules Packet manages (moderation)One per protection a server turns on (scam links, message filters): the AutoMod rule's ID, the version of Packet's list it carries, whether it is working and when Packet last updated it. Never message content and never who posted. Deleted when the server turns the protection off, and with the server's data, 90 days after Packet is removed from the server. Off by default
Member reports (moderation)Kept as the server's moderation record: the ID of the member reported, the message's ID and channel, where the staff card is, and who handled it or deleted the message, how and when. Never the reporter, their reason or the message's text, which are on the card in the server's own channel. Deleted 30 days after staff handle the report, or 90 days after it was made if nobody does, and with the server's data, 90 days after Packet is removed from the server. Off by default
Isolation records (moderation)The member's user ID, the IDs of the roles Packet took and of any roles they were given while isolated, the reason, when it ends, and which staff member isolated, kept, released or banned them. Raid protection's holds, and the honeypot channel's, are kept here too. Kept while the isolation lasts, and deleted 30 days after it ends
Nuke watch and pause records (optional)Kept as the server's security record: the account nuke watch flagged, the members and bots Packet acted on and what it removed, the pauses staff set, and which staff member paused, ended or undid each one. Each is deleted 30 days after it closes. An alert closes when it is marked as planned or what Packet removed is given back, or after 24 hours with nothing new. A pause record closes when the pause ends. Nuke watch is off by default
Join raid records (optional)Kept as the server's security record: the members Packet held and when each hold ends, the IDs of the roles it took from a member it moved into its no-channel role and of any roles they were given while held (so it can give them back), which staff member started a hold, kept or released members, ended it early, marked it as not a raid or banned them, how many of a raid's joins were new, had a name the server's AutoMod blocked or were made within an hour of each other (counts only), and the invite most of a raid came through with the user ID of who made it. Deleted 30 days after the record closes (later only while an account the raid isolated is still isolated), and each hold's roles 30 days after that hold ends. Off by default
Recovery records (the guided recovery on the Safety page)One per recovery a server's owner starts: the alert it recovers from, the snapshot it rebuilds from, the IDs of the blueprint, apply and restores it ran, how far it got, and the owner's user ID. Deleted with its alert's record. One started from a snapshot with no alert is deleted 30 days after it last changed. Any still left are deleted 90 days after Packet is removed from the server
Raid protection join counts (optional)Joins per hour, how many came from new accounts, and the busiest minute, with no names or IDs. Deleted after 14 days. Off by default
Nuke watch settings (optional)The owner's choices, the user IDs of any accounts they trust, and which owner last changed them. Kept while Packet is in the server, and deleted 90 days after Packet is removed from it. Turning nuke watch off deletes the trusted accounts at once. Off by default
Snapshots taken when nuke watch alerts (optional)The server's structure when an alert opened, with the channels and roles deleted just before it. Deleted 30 days after it was taken. Taken only where nuke watch is on, unless the owner turns it off
Auto-delete bookmarksOne per channel where auto-delete is on, holding a message ID and counts, never message content or who sent anything. Deleted when auto-delete is turned off for that channel or the channel is deleted, and 30 days after Packet leaves the server
Server logging — dashboard activity feed (Logging)Per-server setting, 1–365 days (30 by default), then deleted automatically
Server logging, the ticket-opening staff summary, ticket transcripts, and auto-delete summaries, posted to your server's Discord channelNot stored by us at all; it's a message in your server like any other, and only your server can remove it
Support ticketsUntil deleted, or 90 days after Packet is removed from the server. A server can choose to have closed tickets deleted automatically, between 1 and 3650 days after they close
Feedback about a server’s staff (a server’s own record)Until deleted, or 90 days after Packet is removed from the server
Sticky roles (Role Caller)Kept as the server’s record of the roles you held when you left, so they can be put back. Deleted as soon as you rejoin; if you never do, pruned automatically after about 90 days. Off by default
Member role backups (optional)Kept as the server's record of which roles its members held, so they can be put back after a raid. The 7 most recent are kept. If one shows a sudden large loss of roles, the backups taken after it are kept too (up to 7 more), so a raid cannot push out the good ones. No daily backup is taken while a nuke watch alert or a raid alert is open, or in the hour after it closes. Each is deleted within 30 days, and all are deleted when the server's owner turns the feature off. Off by default
Ban list backups (optional)Kept as the server's record of which accounts it banned and why, so the bans can be put back after a raid. Copied once a day, and again when nuke watch alerts. Each copy holds only a banned account's user ID and the reason given for the ban. The 7 most recent daily copies are kept. If a copy shows a sudden large change in the list, the copies taken after it are kept too (up to 7 more), so a raid cannot push out the good ones. Each is deleted within 30 days, and all are deleted when the server's owner turns the feature off. Off by default
An owner's ban list (optional)Each listed account's user ID, the reason the owner gave, and when it was added, kept under the owner's user ID until the owner removes it or deletes their personal data, or 90 days after Packet is no longer in any server the owner owns. For each server that follows the list, what the list did to each account there, deleted when the server stops following it and with the server's data. Off by default
Delayed join roles (Role Caller)Kept only while you wait for the roles a server gives new members: deleted as soon as they are given (or can't be), or when you leave. Off by default
Member verification (Role Caller)Kept only while you wait to be verified: your user ID, when you joined, when your one reminder is due, and the staff queue message about you. Deleted as soon as you pass, staff let you in or remove you, or you leave. Deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Temporary roles (/temprole, role menus, the shop)Kept as the server’s record of a timed role you were given, picked or bought, until the role expires and is removed. Off by default
Custom name colors (Color Roles)Kept until you clear your color, lose the role your server requires for it, or leave the server. Off by default
Event sign-ups (server events)Your user ID, the server, the event, when it starts, and whether you have a place, are on the waitlist or withdrew. Never anything you type. Deleted 90 days after the event starts. Deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Event time polls (server events)The times a server offered for an event and the number of votes each got. Never who voted, never anything you type. Deleted 30 days after the event starts. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Teams for events (Brackets)Your user ID, the server, the event, when it starts, and the team you are on or that you are a substitute. For staff, your user ID on each match result you recorded. Never anything you type. Deleted 90 days after the event ends. Deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Swear jar counts (/swearjar)Your user ID, the server and how many of your messages held a word the server listed. Never the message, the word, the channel or the time. Kept until staff reset it, and deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
AFK status (/afk)Your user ID, the server, the reason you gave and when you set it. Deleted as soon as you send your next message in that server. Deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Daily word guesses (/party dailyword)Your user ID, the server, the day and the guesses you made that day, nothing else. Deleted within about an hour after that day (UTC) ends. Deleted sooner, in every server, if you delete your data in Discord with /privacy or in Settings. Deleted with the server's data 90 days after Packet is removed from the server. Off by default
Sticky messages (Channel automation)One per channel that keeps a sticky message: the ID of Packet's own current copy, never anything about members or their messages. Replaced each time Packet posts it again, and deleted with the server's data 90 days after Packet is removed from the server. Off by default
Reminders you have waiting (/remind)Until the reminder is sent or you cancel it, then deleted. If the server turns reminders off or removes Packet first, it is not sent and is deleted when it is due. Deleted sooner if you erase your data via /privacy. Off by default
Suggestions: ideas and staff decisions (/suggest)365 days after the idea was posted with /suggest or last decided, then deleted automatically. The 25 most recent decisions on an idea are kept. Deleted with the server's data 90 days after Packet is removed from the server. Your name comes off sooner if you erase your data via /privacy. Off by default
Applications you sent with a server's formsYour user ID, the form, your answers, where the staff card is, and the decision: who made it, when, and a deny's reason. Kept until staff decide the application, then deleted 90 days after the decision. Deleted with the server's data 90 days after Packet is removed from the server. Deleted sooner, in every server, if you erase your data via /privacy. Off by default
Your birthday in a server (/birthday)Only the month and day, never the year. Kept until you clear it with /birthday clear or leave the server, then deleted. If Packet is offline when you leave, it is deleted on the day of your next birthday instead. Deleted with the server's data 90 days after Packet is removed from the server. Deleted sooner, in every server, if you erase your data via /privacy. Off by default
Your Packet profile (/me)Your birthday month and day (never the year), your time zone, the choice you made about who may use each, when you last set the birthday, your quiet hours if you set them (two times of day, never shown to anyone else), a name color (and its second color, if it is a gradient) if you asked Packet to remember one, and your player card's look, hidden parts and layout if you chose them. Kept until you remove it with /me clear or erase your data via /privacy. Not tied to any server, so leaving a server, or Packet leaving one, does not delete it
A notice held during your quiet hoursA direct message Packet held for you during your quiet hours: the finished message, the kind of notice it is, and when it will be sent. Kept at most 24 hours. Deleted when it is sent, or unsent when that time passes. Deleted sooner if you erase your data via /privacy or remove everything with /me clear. Not tied to any server
Notes about your profile birthday in a serverFor each server that celebrated your profile birthday, the year it did, and a note if you hid your birthday there with /birthday clear. No date and no time zone. A celebration note is deleted after the end of the following calendar year. Both are deleted when you leave that server, when you remove everything on your profile or erase your data via /privacy, and 90 days after Packet is removed from the server. A hide note also goes when you show your birthday there again
XP, coin balances, and vote-reward records (Engagement)Until you erase them via /level privacy (a server Packet leaves prunes after 90 quiet days)
Your privacy switches, including vote DMs, vote reminders and vote board naming (Engagement)Until you change them or erase your data via /level privacy. If you asked Packet to stop counting you, erasing keeps your user ID and that one switch
Vote boosts (a server's vote board buttons)A press: which server's button you pressed, for which list and when, deleted once your vote is matched or after about 14 hours. A boost: which server your vote went to and when you voted, deleted about an hour after it ends. Both are deleted sooner if you erase your data via /privacy, and when Packet's data for that server is purged. A press that cannot count keeps nothing. Off by default
XP, game and coin history (Engagement)180 days, then deleted automatically. Deleted sooner if you erase your data via /level privacy
Games in the Activity (a record of each round)Deleted about 24 hours after the round ends. Deleted sooner if you delete your data via /privacy, and when Packet's data for that server is purged
Latest game result shown to others in the same ActivityIn memory only, gone after ten minutes or when Packet restarts. Never stored
Where Packet posted a Join message for the ActivityWhich Activity or chat it posted in, never who started it. In memory only, gone after two hours (ten minutes when Discord does not say which Activity) or when Packet restarts. Never stored. The message itself stays in the channel like any other
The screen a Play in Activity button opensYour user ID, the channel and the screen. In memory only, gone once the Activity opens it, after five minutes, or when Packet restarts. Never stored
Watch together rooms (the queue, video titles, who is in the room and their names)In memory only, until the room ends: when its starter ends it, when nobody signed in has had it open for a while, or at most 7 days after it started. Gone when Packet restarts. Never stored
Watch together cookies (the room cookie from the Activity, or a guest's cookie)At most 6 hours after it was made, kept only in your browser and encrypted. Never stored on our servers
Watch together's one-time code from the ActivityIn memory only, gone once used, after 2 minutes, or when Packet restarts. Never stored
Watch together's song search memory (the YouTube video found, and a one-way code made from the song name or Spotify link searched for; no text, no person, no server)Deleted 30 days after the search
How many song searches each person made today in watch togetherIn memory only, gone at midnight Pacific time or when Packet restarts. Never stored
Watch together saved playlists (your user ID, each playlist's name, and its YouTube video IDs, typed song names and Spotify song IDs; never a title or a length)Until you delete the playlist. A video ID that YouTube gave Packet is deleted 30 days after it was given, and a playlist not saved or loaded for 365 days is deleted. Deleted sooner if you delete your data in Discord with /privacy or in Settings
Before-and-after copies on the operator's testing page (Packet's operator)24 hours, then deleted automatically. They hold no message text and no member's user ID
What a reading on the operator's testing page showed, and who Discord says owns the serverNot stored. The last reading is kept in memory for 5 seconds and the owner answer for 30 seconds, and both are gone when Packet restarts
Kept results of the operator's tests as a test account (Packet's operator)24 hours, then deleted automatically. They hold Packet's replies and the calls it made, and no other member's user ID and no member's message (a reply can show a member's name, as Packet's own post would)
The operator's list of test accounts (Packet's operator)Until the operator takes the account off. Deleting your data via /privacy takes your user ID off the list and out of the record of changes to it
Answers to timed trivia questions (Engagement)Until the question reveals its answer, normally within a few minutes, then deleted. Deleted sooner if you erase your data via /level privacy
Payments between members (Engagement)7 days after the payment completes, then deleted automatically. Your name comes off sooner if you delete your data
Recent big wins (Engagement)7 days, then deleted automatically. Deleted sooner if you delete your data
Invite attribution (Engagement)Until you erase them via /level privacy (a server Packet leaves prunes after 90 quiet days)
Staff awards (Engagement)180 days, then deleted automatically
Staff corrections to a balance (Engagement)180 days, then deleted automatically. Your name comes off sooner if you delete your data
Corrections and bars on the shared economy (Packet's operator)Kept for as long as Packet runs, as Packet's record. Deleting your data does not remove them
Shop requests (Engagement)While open, then 180 days, then deleted automatically. Deleted sooner if you delete your data
Member sections from the shop (Engagement)Until you delete your data. Deleting your data removes the record, not the channels, which stay in the server. Deleted with the rest of a server's data after Packet leaves it
Shop inventory (Engagement)Until you use the item. An opened lootbox is deleted once you have its reward. A title stays until you delete your data. Deleted with the rest of a server's data after Packet leaves it
Quest progress and badges (Engagement)Progress: five weeks after it last changed, then deleted automatically. Progress on one of Packet's one-time quests or one run of a Packet event: five weeks after that quest or run ends. Notes of a change you saved on the Packet website, or of a day you opened it while signed in: five weeks after the day they were made, then deleted automatically, except one note for each that you did it at least once, kept until you delete your data. Badges: until you delete your data. A server's own quests and badges are deleted with the rest of its data after Packet leaves it
Weekly and monthly reward claims, and the starting balance record (Engagement)Weekly and monthly claims: 40 days after the claim, then deleted automatically. The starting balance record: until you delete your data. A server's own records are deleted with the rest of its data after Packet leaves it
All-time reaction totals (Engagement)Until you delete your data (a server Packet leaves prunes after 90 quiet days)
Shared goal contributions (Engagement)While the goal is open, then 180 days, then deleted automatically. Deleted sooner if you delete your data
Reaction counts and highlight links (Engagement)90 days after the last counted reaction, or until you erase them
Apply historyUntil you delete it (or request deletion), or 90 days after Packet is removed from the server
FeedbackUntil you delete it (or request deletion)
Install / usage records (servers joined/removed, aggregate counts)Kept for the life of the service
Blocklist records, including each address's block historyIndefinitely, as a security record
Packet's own backups of its databaseMade each time Packet is updated, so it can recover from a failure, and used for nothing else. Each is deleted the first time Packet makes a new backup after it turns 30 days old, or sooner, but the 3 most recent are always kept. Deleting your data does not change a backup already made; your data leaves it when that backup is deleted
Deletion requests (/privacy, deleting your data in Settings, and removals you ask for by email)Your user ID, whether you asked in Discord or on the dashboard (or, for a removal you asked for by email, which kind of record it was, and which server, when you asked about one server's copies), and when you asked, nothing else. Kept so that restoring an older backup does not bring your data back. Kept 60 days from your latest request, then deleted automatically

Your choices and your data

  • Sign out at any time to end your session.
  • Download your data — in Settings → Privacy & data, export a copy of the personal data listed in the next item (for advanced calls, the method, path and result, not the full request and response).
  • Delete your data — in Settings → Privacy & data, permanently delete your personal data: your security/request logs, activity, advanced-call records, feedback, preferences, your server-role grants, your personal draft blueprints, your own ban list, your templates shared in the Community library (copies other people made of them are theirs, and are not deleted), your reports about shared templates, your votes on shared templates, your saved Blueprint snippets, your record of waiting to be verified in a server, your AFK status in every server, your daily word guesses in every server, your swear jar counts in every server, your event sign-ups in every server (with your places on teams, and your name on bracket results you recorded), and your saved watch together playlists.
  • Stop being counted — in Discord, run /privacy and press Stop counting me. Packet stops counting you in every server and leaves you off the leaderboards, as described under leveling above. Deleting your data keeps that choice.

A few things are handled separately, and we'll tell you plainly:

  • Server structure is the server's data, not personal data. Deleting your personal data does not delete a server's published blueprints, snapshots, or apply history — other admins of that server may rely on them. Delete a blueprint or a backup a person made as server data, or they are deleted 90 days after Packet is removed from the server. Snapshots are also deleted as newer ones are taken, as the retention table says. Packet waits 90 days so a server that adds it back, for example after a raid, still has them. Your ID comes off the saves you made in a blueprint's save history, and the saves stay. Your own draft blueprints are different: only you can see them, so they are deleted with your personal data and included when you download it.
  • Member role backups belong to the server. Deleting your personal data does not remove you from a server's member role backups, for the same reason it does not delete that server's snapshots. Each backup is deleted within 30 days anyway. To have your entry removed sooner, email us and we will remove it.
  • Ban list backups belong to the server. Deleting your personal data does not remove you from a server's ban list backups, or from the record of a restore, for the same reason it does not remove a moderation case. Each copy is deleted within 30 days anyway. A restore's record is deleted 30 days after it ends. To have your entry removed sooner, email us and we will remove it.
  • An owner's ban list belongs to that owner. Deleting your personal data does not remove you from another owner's ban list, for the same reason it does not remove a moderation case. To have your entry removed, email us. The bans already made stay, as each server's own. If the list is yours, deleting your personal data deletes it, and the bans it already made stay as each server's own.
  • Nuke watch and pause records belong to the server. Deleting your personal data does not remove you from a server's nuke watch, pause or join raid records, or from its list of trusted accounts, for the same reason it does not remove a moderation case. Each one is deleted 30 days after it closes anyway (a join raid's record waits while an account it isolated is still isolated). To have your entry removed sooner, email us and we will remove it.
  • Isolation records belong to the server. Deleting your personal data does not remove you from a server's isolation records, for the same reason it does not remove a moderation case. Each one is deleted 30 days after the isolation ends anyway. To have your entry removed sooner, email us and we will remove it, unless the isolation is still in force: that record holds the roles Packet gives back when it ends.
  • Channel lock records belong to the server. Deleting your personal data does not remove your name from a server's channel lock or freeze records, for the same reason it does not remove a moderation case. Each one is deleted 30 days after the lock ends anyway, and a freeze's on the same schedule. To have your name removed sooner, email us and we will remove it.
  • Corrections and bars on the shared economy are kept. If Packet's operator corrected the shared coins in your global wallet or barred your account from the shared economy, that record is kept as Packet's record, even after a personal-data deletion, so an account cannot clear a correction or lift a bar by deleting its data. Deleting your data still deletes your coins. To ask about a correction or a bar, email us.
  • A ban from sharing templates is kept. If we stopped you from sharing templates, that record is kept as a security record, even after a personal-data deletion, so deleting your data cannot lift it. Our review decisions about templates you shared are kept for 1 year after each template is gone, without your Discord ID.
  • Abuse records are retained. If your account or IP was blocked for abuse, that record is kept as a security record (so a blocked source can't simply reset it), even after a personal-data deletion.

You can also email us (below) to request a copy or deletion of your data, and we will honor it.

Changes

Packet is in active alpha, so this policy may change as the service evolves. We'll update the date at the top when it does.

Contact