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. 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.
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. This is the one Role Caller feature that stores
member-specific data, and only this: 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.
Temporary roles (the optional /temprole feature). Where a server enables temporary
roles, a moderator can grant a role that auto-expires. 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. The feature is off by default.
Moderation cases (the optional Magistrate feature). Where a server enables moderation, a
moderator can warn, mute, 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, and when — so moderators have history and the automatic escalation ladder works. 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. 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.
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.
Support tickets (the optional Concierge feature). Where a server enables tickets, a
member can open a private support channel 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. 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.
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 recent messages — 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 any attachments are shown as links only (Packet never downloads them). This
uses Discord's "Message Content" permission, applies only to ticket channels, and is off unless a
server's admins turn it on for their server. The tickets feature as a whole is off by default and
runs only where a server's admins enable it.
Leveling and leaderboards (the optional Engagement feature). Where a server enables
leveling, Packet stores activity counts — how many messages you've sent and minutes you've
spent in voice there — never the content of anything you say. Those counts power your
level, rank, and the server's leaderboards. Your global rank aggregates your counts 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 — run /level privacy in any server to see exactly
what's stored, control your visibility, or delete your progression data entirely. The
feature is off by default and counts activity only in servers whose admins enable it.