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.