1. Who we are
Lunara is a Discord bot and this website, run by LunaraBot (“we”). We decide what Lunara stores and why, which makes us responsible for it. You can reach us at support@lunarabot.gg.
Lunara is not Discord. Discord’s own privacy policy covers what Discord does with your account; this one covers what Lunara does.
2. What Lunara stores when you play
Only what the game needs to work. Your account is keyed to your Discord user ID, and everything else hangs off it:
- Progress: when you first used a command, level and experience, daily, weekly and monthly claim times and streaks, quest, season and puzzle progress, adventures sent, fishing and digging totals, gym and gauntlet runs, how many pulls you have made on each banner, and your chosen titles, frame and background.
- What you own: balances of each currency, cards and their levels, equipment and ability training, items, pets and any nickname you gave one, upgrades, custom-character slots.
- A ledger: every currency movement (amount, balance after, reason, time, and the server it happened in), including one line for each minute of chat or voice that paid a reward (those minute lines are kept for 60 days), and every game result (game, bet, payout, time, and the server it was played in).
- What you did with others: trades, gifts, payments, auctions and bids, duels and battles, friendships, marriages and family links, referrals (who invited whom), raid damage, people you blocked, Black Market claims (what you claimed, its price and outcome, and any note an admin left), and role rewards Lunara gave you (which role, in which server, when).
- Clans: the clan you are in, your role and when you joined; each clan you were in before, when you left and how, for about 90 days; invites and requests; reports you filed, with your reason; the clan’s log of who did what; and for a clan you founded, its name, tag and emblem.
- Weekly leaderboard records: for the weekly boards, global and each server’s, the top finishers’ Discord ID and score, and on a server’s board the name they went by there.
- Chat levels: in each server that has chat levels on, your chat level there, its XP and when it last rose — never what you wrote — and any chat role a moderator there took off you, and when, so Lunara does not give it back. It pays nothing, and it is deleted with your account.
- Activity counters: how many of your messages earned chat rewards (at most one a minute) and how many seconds of voice you were rewarded for — counts, never contents (see the next two sections).
- Votes: a line for each vote you cast on top.gg, for Lunara or for the Lunara server — see Votes on top.gg — and the Vote Crates and Star Pouches those votes banked: when each was banked and opened, and what it paid.
- A Starlight Tonic you drank: when it started and ends, and how many bonus coins it has paid so far. Only the latest is kept; the next one replaces it.
- Home days: the dates (UTC days, one line each) on which you played in the official Lunara server.
/homecounts them. - Tutorial progress: which tutorial lessons you have seen and finished, and when, the card XP each one paid and which of your cards took it. It is used to resume the tutorial and to pay each lesson’s reward once. Only you see it, and it is deleted with your account.
- Settings you chose: your privacy switches, which reminders you turned on, any gambling pause you set, whether Lunara may remind you about voting (with how many of those reminders went unanswered and when the last was shown, so they back off) or send you a note when a vote banks, and how often the tip about the Lunara server was shown and whether it is paused or you hid it.
- Things you made: custom characters — the name, series, bio and other text you wrote, the stats you chose, the Discord link to any image you attached, and for one you publish, which server you published it from — plus likes, and reports you file (with your reason).
- Moderation: whether the account is banned, and why.
- Value sent by new accounts: a record of each payment, gift, trade, auction sale or won stake from an account that is still new — see Keeping rewards for real players.
- Days of Crescent perks you were given, for example from a chest: the tier, how many days, when they start and end, and where they came from.
- Purchases: see Purchases.
- A supporter tier on Patreon, if you support Lunara there: your Patreon link, your membership’s status and charge dates, each paid period, and the gems and shards it delivered or took back. No payment data: see Supporter tiers on Patreon.
- Moon Reliquaries, if you use them: your 18+ (or parent) confirmation date, your next relic (Moonlens), your own Sigil limit, every relic you open and every copy you own with its serial. See Moon Reliquaries.
- The market, if you use it: your listings and bids, watches, Gem Vouchers, when you last opened your market inbox, and any market freeze or flag that names you. See The market.
- Coinflip, if you play it: each flip you post or join, the offers you make, your stakes and their results, and any coinflip flag that names you. See Coinflip.
- Staff pay, if Lunara’s team pays you (see Staff pay): so pay is sent once and only to the right people.
- Chat drops you caught, your drop counts for each UTC day, your catch phrase, any drops block on your account, and any chat drop flag that names you (see Chat drops): so each player’s daily limits hold in every server, and so automated clicking can be spotted. Drops, daily counts and the catch phrase are deleted after 400 days; a block is kept until Lunara’s team lifts it or you delete your account, and a flag names you until you delete your account.
- Errors: when something goes wrong while you use Lunara, a record of it for 30 days — the reference you were shown, what failed and where, and your account, with Discord IDs taken out of the error’s text — so the reference can be looked up if you quote it. Deleting your account clears the record’s link to it at once.
- Tickets: if you open a ticket with a server’s help desk, or staff add you to one, what Ticket desks describes. It is kept against your Discord ID, not your account.
- Community pages: if you upvote, review or report a server’s page on this website, or help run one, what Community pages, upvotes and reviews describes. It is kept against your Discord ID, not your account.
- Moonlit Confessions: if you write a confession, send a moonbeam or a Kind Word, or report a post, what Moonlit Confessions describes. It is kept against codes made from your Discord ID, not your account.
An account is made the first time you use a command or one of Lunara’s game buttons, and also the first time you send a message that counts toward a server’s chat level, vote for Lunara on top.gg, link Patreon on this website, or are named by another player in a command, even if you have never used a command yourself. Opening a ticket, with /ticket or a server’s ticket panel, does not make one. Nor does signing in on this website to follow your tickets or send an appeal. Nor does writing a confession with /confess, sending a moonbeam or a Kind Word, or reporting a post.Until you have used a Lunara command, chatting counts only toward that server’s chat level (the coins, experience, quests and titles start with your first command), and voice rewards are for players only. Accounts that existed before this rule began count as players from the day they were made.
We do not store your email address or any payment details, and we never ask for your real name. Lunara does not ask Discord for your email at all. When you write to support@lunarabot.gg, for example to report a community page, your email address comes with your message: a report sent that way is kept in Lunara’s support mailbox for a year, or longer if the law requires it, never in the game’s database. Your IP address is not kept in the game’s database; the one exception is the address and browser of anyone who tries to sign in to Lunara’s own operator console. Discord names are kept in four places: an administrator’s username beside each administrative action; the server display name of weekly leaderboard finishers; the other player’s username in the ledger lines of a payment made with /pay; and both players’ display names in the record of a battle between them.
3. What Lunara reads but does not keep
Messages. Lunara can read messages in channels it can see, for six reasons: to recognise commands typed with its prefix; to count that you spoke, for chat rewards, for the server’s chat levels and for chat drops, for which only the message’s length is checked; to compare a message with the name of the Lunari on a chat drop in that channel, when typed answers are on; to put a moon on a new member’s first message; to show what is said in a ticket on this website, to the people who may read it; and to make a ticket’s transcript when it closes, or when its staff or the member ask for a copy (see Ticket desks). The text of your messages is not stored. What you type as part of a command is kept only where that command keeps it, such as a custom character’s name, a report’s reason or a ticket form’s answers; a confession’s words are kept only sealed, and only while its post is hidden or under an open report, or held by law (see Moonlit Confessions). A reply you send to a ticket from this website is posted in the ticket and not kept. Trivia and guessing games are answered with buttons; which button you pressed is held in a short-lived cache for up to fifteen minutes, so each player answers once. The daily name puzzle keeps each day’s guesses with your attempt until you delete your account, because the puzzle shows them back to you.
Messages in a ticket. In a private ticket, Lunara notes only when you and its staff last wrote, and who replied first or moved the ticket along, to keep the ticket’s status and timers right: messages there earn no chat rewards and no chat level, and get no moon. A public post in a forum counts like any other channel, and Lunara notes the same on it. Lunara reads what was said in a ticket only to make its transcript or to show it on this website, from Discord, at that moment, and keeps no copy.
Server members. Lunara sees members joining a server so it can post a welcome message where a channel is set for one, and so it can put a moon on a newcomer’s first message: for that it keeps a note of the server and your Discord ID in a short-lived cache until your first message, or for 3 days. Who pressed Say hi on a welcome is kept the same way for 7 days. It can see members’ roles so it can hand out role rewards, chat roles, self-roles and the roles an accepted application gives, and so it can tell a server’s ticket staff, and the members its desk puts first, from everyone else. For a ticket desk’s ping roles it asks Discord how many members each role has, and holds only those numbers, for up to five minutes. For a server’s leaderboards (the players and gauntlet boards and the weekly boards) it reads the server’s member list from Discord, to rank only people who are in that server; members who do not play are not kept.
Whether you are in the Lunara server. A short tip about the official Lunara server is shown, privately, to players who are not in it: at most once a week, and after 4 showings with no join it stops for 90 days (or for good, with its Hide tips button). To know whether to show it, Lunara asks Discord whether you are a member and remembers the answer, yes or no, in a short-lived cache for up to twelve hours. Nothing about it is stored with your account, except for the paid staff records described under Staff pay. Being a member earns nothing by itself.
A server’s member list, for the invite chest. The chest on this website for adding Lunara to a server pays only for a server with real people in it. To check, Lunara reads that server’s member list from Discord, using the bot’s own access to the server, and counts the members who are not bots and whose Discord accounts are at least 30 days old (an account’s age is read from its ID; see below). It stops counting at 10. This happens for servers you manage that have Lunara in them, while you have not yet claimed that chest, each time your tasks are checked. Only the number is kept: in the site’s memory for up to ten minutes, and in the record of a claim that succeeds. The list itself, and every member’s ID, name and account age, is discarded as soon as it has been counted — including for members who have never used Lunara.
4. Keeping rewards for real players
A spare Discord account costs nothing to make, so some rewards wait until an account looks like a person rather than a prop. Lunara judges that only from what it already has:
- How old your Discord account is. Every Discord ID has the moment the account was created written into it, so Lunara works out an account’s age from the ID alone. It does not ask Discord for it and does not store it anywhere.
- Your level and your play, from your progress and ledger described above — for example, whether you pulled, battled, gathered or quested in the last few days.
What depends on it:
- Chests on this website are earned only by Discord accounts at least 14 days old. Linking your account and the daily check-in also need level 3, and the check-in needs play in the last 7 days.
- A vote from a Discord account less than 7 days old is logged but banks nothing.
- What a vote banks in Discord, and the Silver chest a vote for Lunara opens on this website, pay their coins and other currency once you have played on 3 of the last 7 days. Until then it waits, and nothing is lost.
- A referral pays nothing until the friend’s account is established (below) and has played on 7 separate days, each with at least two kinds of play. The first reward to the player who brought them then waits until the friend has played on 5 days within 21, and every other step reward waits 7 days before it lands (see Referrals and the Star Trail).
- Until your account is established — a Discord account 30 days old, 7 days with Lunara, and level 10 — what you can send other players is capped per receiving player, so one player cannot collect from a crowd of fresh accounts: at most 3 new accounts may send the same player anything in 24 hours. To count against that cap, each payment, gift, trade, auction sale or won stake from a new account is recorded in Lunara’s audit log: who sent it, who received it, what moved, by which feature, in which server, and when. A transfer the cap turns away is recorded the same way. Once an account is established, what it sends is not capped, and is recorded there only when it goes between a player and a friend they brought (see Referrals and the Star Trail).
5. Voice activity
Unless voice rewards are off for a server (they are on by default), Lunara checks once a minute who is sitting in a voice channel — from the voice state Discord shares with every bot (which channel, and whether you are deafened). If at least two people are in the channel and able to hear, each of them who is a player (has used a Lunara command) earns that minute’s reward. Anybody else earns nothing, and sitting in voice does not make them an account.
Lunara never joins a voice channel and never receives, records or stores audio. What it keeps is the total number of seconds you have been rewarded for and the experience it paid, one ledger line for each rewarded minute (the coins, the server and the time), and a count of today’s minutes (held only in the bot’s memory, never written anywhere, and cleared at the end of each day UTC and whenever the bot restarts) so nobody earns past the daily cap.
6. Votes on top.gg
Lunara takes votes from top.gg, for the bot itself and for the official Lunara server. When you vote for either, top.gg tells Lunara, in a message it signs so Lunara can tell it really came from top.gg. Voting is always optional: nothing in Lunara needs a vote.
The vote log. For each vote Lunara keeps one line: which of the two listings it was for, when it was cast, when it expires, its weight (top.gg counts weekend votes twice), how it reached Lunara (top.gg’s message, the check button in /vote, or Lunara asking top.gg for votes a message missed), and the short tag in the vote link that says where you followed it from, such as daily. It also notes a vote that was not counted, and why. The log is what stops one vote paying twice.
top.gg’s message also carries your Discord user ID, your top.gg username and your avatar. Lunara uses the ID to find your account and stores neither the username nor the avatar. It trusts nothing else in the message: what a vote pays comes from Lunara’s own settings. What a vote banks, a Vote Crate or a Star Pouch, waits in /vote (up to 6 of each at a time), and a Starlight Tonic lasts 60 minutes once you drink it.
Asking top.gg. When you press “I voted, check” in /vote, Lunara asks top.gg whether your Discord user ID has voted, and that is all it sends. Every ten minutes it also reads top.gg’s own list of recent votes, in case a message went astray; that sends top.gg nothing about you.
The log, the crates and the Tonic are part of your account: /data export includes them and /data delete erases them. top.gg’s own privacy policy covers what it collects when you vote on its site.
7. Purchases
Server plans (Lunara Plus and Lunara Pro), as a monthly subscription or an annual pass, are bought through Discord. Discord runs the checkout and billing and handles your payment details; Lunara never sees a card number or a billing address. Nothing else is sold through Discord: no gem pack has been sold, so no purchase of one is recorded.
For a server’s monthly subscription, Discord attaches the subscription to the commands used in that server, and Lunara reads the server’s plan from it. The plan is kept in a short-lived cache under the server’s ID for up to five minutes, with a fallback copy for up to a day. Each start, change, lapse or refund is written to Lunara’s log with the server, the plan, Discord’s reference for the purchase and its end date, and nobody’s name. The buyer’s Discord ID is used to send them a confirmation message and is not stored. An annual pass keeps more: see Server settings.
Days of Crescent perks won from a chest are not a purchase and do not go through Discord. They are stored with your account (see Chests), and your tier is whichever is higher: a supporter tier you pay for on Patreon (see Supporter tiers on Patreon) or days you were given that are running now.
8. Supporter tiers on Patreon
Lunara’s supporter tiers are sold on Patreon (patreon.com). Patreon runs the checkout and billing and handles your payment details. Lunara keeps no payment data: never a card number, a billing address, your name or your email.
To deliver your tier, Lunara keeps: the Patreon account you linked (its Patreon user ID) and how it was linked; what Patreon says about your membership of Lunara’s campaign (its member ID, the Discord ID you connected on Patreon, your tier, whether it is active, the status and date of your last charge and the date of the next); each paid period (the tier, when it was paid, until when, and whether it was replaced or refunded); and every gem and shard it delivered or took back. The membership record also holds Patreon’s own tier IDs, whether the membership is a gift or a free trial, and how often it bills; Lunara keeps it for every active member of Lunara’s campaign, whether or not they play, and keeps it after the membership ends. Lunara’s log notes each link, delivery, tier change and take-back, and a fingerprint of each message Patreon sends, so none is acted on twice. Whatever else Patreon’s messages carry is not read or stored.
Your Patreon is linked by itself if you connected Discord on Patreon and already play Lunara. Otherwise you sign in here and press Link Patreon, which opens Patreon’s own screen asking for two things: your identity and your memberships. Patreon hands the website an access token, which is used once to read them and then thrown away: it is never stored or logged. A cookie holds a random check value and your Discord ID for up to ten minutes while you are on Patreon’s screen, and is deleted when you come back.
You must be 18 or older to pay for a tier, or have a parent or guardian pay for you. All of this is kept until you delete your account: /data export includes it, and /data delete deletes it, what Patreon told us about your membership included; log entries about the tier stay, against an account that no longer exists. If you support Lunara on Patreon but have never played, /data delete in Discord removes your membership record if your Discord is connected on Patreon; otherwise write to us. If you still support Lunara on Patreon after deleting, Patreon goes on telling Lunara about the membership, which Lunara stores again and keeps until you delete again, but a charge already delivered is never delivered again, to any account: Lunara keeps a one-way code for each charge it delivered or refunded, which names nobody. If you play again, your tier comes back with your next charge.
9. Moon Reliquaries
If you use the Moon Reliquaries, Lunara keeps, to run them for you:
- the date you confirmed that you are 18 or older, or that a parent or guardian has agreed (asked once, before your first gem purchase in Lunara, before your first Moon Sigil bought with gems, and before you trade or stake a relic);
- the relic your next Sigil opens (Moonlens), chosen ahead and shown to you;
- your own Sigil limit, if you set one with
/reliquary limits, and any change to it still waiting to take effect; - your quick reveal setting, and how many of your unopened Sigils were bought with bought or received gems;
- every relic you open: the edition, the relic, its grade, its serial, whether it was new or became Moon Dust, whether Moonlens showed it first, and when.
/reliquary historyshows the last 90 days, and the record is kept until you delete your account; - each relic copy you own: its serial, whether it was opened with a Sigil bought with paid gems or bought on the market with paid gems (such a copy is never staked), which of your Lunari wears it and whether a flip or a market listing holds it;
- the free Sigils you were given, from feats or by Lunara’s team;
- for a supporter on Patreon, each monthly keepsake delivered or taken back.
Serials are shown with a relic, never with who owns it: the Past Reliquaries catalog shows how many of each relic were opened, and never who opened or holds one. Results are shown only to you. /data export includes all of this, and /data delete deletes it, your relic copies included; a deleted copy’s serial is never given again, and the count of copies opened stays as a number that names nobody.
10. The market
If you use the market (/auction), Lunara keeps, to run it for you and keep it fair:
- your listings and your bids: the lot, its prices, the server it was listed from and whether it shows only there or in every server, each bid and whether it came back to you, and how the listing ended. While Lunara’s team has the market open to every server, your listings show in every server and on the website’s market pages;
- the watches you set: what you watch and the most you would pay, until you remove the watch;
- the Gem Vouchers you make or hold: the size, the making fee, who made it and who holds it, what it sold for, when it was sold and redeemed, and when and why it was frozen, if it was;
- for your market inbox, the time you last opened it, for 30 days. The alerts themselves are worked out from your listings and bids each time you look, and Lunara never sends them as DMs;
- if Lunara’s team freezes you on the market, the date and the reason, until the team lifts it;
- flags for the team to look at: a sale between two accounts that looks unusual (the two accounts, the price and the kind of pattern), a relic lot that ended unsold because its winning bidder had paused gambling (the two accounts and the price), and a relic opened or bought with paid gems that a player tried to sell after a gem purchase was refunded (that player’s account and the relic).
Your Discord name shows beside your listings, and your seller record (your sales, how many of your listings sold, and your live listings) is shown on the website at /market/sellers/ followed by your Discord ID, only while your collection switch in /privacy is open; the coins your sales made show there only while your balance switch is open too. A relic lot never names its seller. /data export includes your watches and the vouchers you made or hold, and your bids and sales are in its ledger. /data delete deletes your listings, your bids, your watches and the vouchers you hold; it waits, and says so, while a listing of yours is holding bids. A voucher you made and sold stays with its buyer, without your account. A freeze or a flag that named you keeps only your account’s internal number, which leads nowhere once the account is gone.
11. Coinflip
If you play /coinflip, Lunara keeps, to run your flips and keep them fair:
- each flip you post or join: the server, channel and message it was posted in or joined from, your side, the kind of flip and the value of each side’s stake, who it was offered to if you offered it to one player, the public drand round that decided it and how it landed, who won, and, if Lunara’s team held it to check or voided it, why, and the result it voided;
- each offer you make on someone else’s flip: the server and channel, its value and what became of it;
- each of your stakes: what it was (its name, rarity, serial and value) and whom it went to;
- flags for the team to look at: two accounts that keep flipping each other, value that keeps going one way, and similar patterns (the two accounts and the kind of pattern). A flag is deleted if either player deletes their account.
Your name shows on the CF Board and in a flip’s posts only while your gambling switch in /privacy is open; otherwise you show as “a Moon-walker”. All of this is kept until you delete your account. /data export includes your flips, your offers and your stakes, and each result is in your game results and ledger too. /data delete hands back your open flips and waiting offers, and takes your account off every flip, offer and stake; it waits, and says so, while a flip of yours is matched or held. A finished flip stays in the other player’s history, keeping your account’s internal number only where it records who won or where a stake went, which leads nowhere once the account is gone.
12. Staff pay
If you are on Lunara’s team and paid in game currency, we keep a record of each payment (what, when, for which role or bonus, and any note the owner added), your own salary if the owner set one for you, when we first and last saw you hold a paid staff role in the Lunara server and when you left it, the owner’s decision on paying you, and the account checks shown to the owner before your first payday, so pay is sent once and only to the right people. If performance bonuses are on, a proposed bonus is worked out from counts of the tickets you closed and first replies you sent in the Lunara server and their ratings; only the counts are kept. /data export shows all of it, including the owner’s reasons and notes about you. /data delete removes you from it and deletes the owner’s notes and reasons about you; the totals stay without your name.
13. This website
Signing in
You sign in with Discord, which asks you to allow two things: identify (your user ID, username and avatar) and guilds (the list of servers you are in, and your permissions in each). Nothing more — not your email, and nothing that lets us act as you.
Your sign-in is kept in an encrypted cookie on your own device, not in our database. It holds your Discord ID, name and avatar link, and the access token Discord issued, which the site reads only on its server to check which servers you manage. The cookie lasts until you sign out or it expires (30 days). The list of your servers is held in the server’s memory for up to two minutes so the dashboard does not ask Discord on every click.
Apart from a fifteen-minute cookie while you answer a ScopliDrop check (see ScopliDrop giveaways), a ten-minute one while you accept an invite link (see Invite links), a ten-minute one while you link Patreon (see Supporter tiers on Patreon), a thirty-day one if you choose to see NSFW servers (see Community pages, upvotes and reviews), and three short ones that signing in itself uses (a random safety value and the page to return to, both gone when you close the browser, and a one-time check value for up to fifteen minutes while you are on Discord’s screen), that cookie is the only one the site sets for visitors and players. Each is needed for the feature that sets it; there are no advertising or analytics cookies. The dashboard also keeps your unsaved edits, the emoji you used recently and whether you turned the ticket inbox’s keyboard shortcuts off, in your own browser’s storage, and the community pages and a server’s Server page tab keep the few things that section describes there; none of that is sent to us.
The dashboard
If you manage a server, the channels you choose are written to that server’s settings in Lunara’s database. The site checks your permissions with Discord before letting you edit, using an answer never more than two minutes old.
When a role reward or chat role is added or changed, the site asks Discord, as the bot and at that moment, for the server’s owner, its roles and what each can do, the channel settings for the role picked, and which roles the person saving it holds in that server. That is how it checks the role carries no moderation or server permissions, is not one of the server’s bot-admin roles (the ones allowed to run /admin), and sits below that person’s own highest role, as Discord would require if they handed it out themselves. None of those answers is stored; only the reward saved is.
Tickets
Some servers’ staff read and answer their tickets on this website, and some servers let members follow their own tickets here or send an appeal. What those pages read and keep is under Ticket desks.
Chests
Signing in to open chests creates or finds your Lunara account, exactly as your first command in Discord would. Before a task pays, the site checks your account as described in Keeping rewards for real players, and then the task itself: the vote log the bot keeps (see Votes on top.gg) for your latest vote for Lunara, your level, your daily streak, or how many stars your Star Trail has (friends whose first step paid). For the invite chest it also looks at the servers you manage (from the server list you allowed at sign-in), how long Lunara has been in each — counted from when the bot first joined, a date it keeps even if it is removed and added back — and a count of each server’s members (see What Lunara reads but does not keep).
For each task you claim we record which task, when, and what the check saw (for example the time of the vote, your level, or for the invite chest the server’s ID, how many days Lunara had been there and the member count), so a disputed claim can be looked into. The vote or server a chest was paid for is recorded too, so it cannot pay twice. We record every chest you earn, when you opened it and what was inside.
Days of Crescent perks. When a chest gives days of Crescent perks, a record is added to your account: the tier, how many days, when they start and end, and the chest they came from. The bot reads it whenever it decides what your tier is, and keeps a copy in a short-lived cache for up to five minutes so it does not read the database on every command. The record stays with your account after the days run out, as history, until you delete your account. It is included in /data export, and /data delete erases it along with any days not yet used.
Your gambling pause. What comes out of a chest is chance, so opening one first checks whether you have paused gambling with /gamble pause. That reads the end date already stored with your account (see How long we keep it) and records nothing new. While the pause runs, your chests stay closed and the chests page shows the date it ends; tasks still count, and the chests they earn wait for you.
The public leaderboard
The leaderboard on this site shows the top players across every server with their Discord display name, avatar and the number they are ranked by. Names and avatars are fetched from Discord and cached for up to six hours. If you have turned leaderboards off with /privacy, you are not shown at all.
Abuse protection and logs
To stop anyone hammering the site, requests are counted per signed-in user, or per IP address for pages that need no sign-in. Most of those counters live for about a minute in a short-lived cache, the ones for invite links and Link Patreon for ten minutes and the one for tickets opened from this website for a day, those for upvotes, reviews, replies and reports on community pages, and for changes to a server’s page from the dashboard, for up to a day (an upvote and a review are also counted per address), and the one for choosing to see or hide NSFW servers for an hour, under a code made from your Discord ID with a secret key rather than the ID, and are then gone. The bot’s logs record your Discord user ID with each command or button you use (which one, when, and why it was refused if it was), when Lunara welcomes you to a server or gives or takes one of your roles, and when you delete your account. Error lines from the bot and the site can include it, and the site logs the address and browser of anyone who tries to sign in to the operator console. Our host, Fly.io, keeps those logs for about seven days.
Visit counts
The public pages count visits with Cloudflare Web Analytics. It sets no cookies, stores nothing in your browser and does not follow you to other sites. Cloudflare receives what any website receives when you open a page (the page address, which on a share or invite page includes the Discord ID, pull secret or invite code in that link, the page you came from, your browser and device type, and your IP address, which gives your country) and how quickly the page loaded, and Lunara sees only totals: how many visits, to which pages, and from where. The dashboard, your ticket pages and the appeal pages have no counter of their own; a visit that reaches one by clicking through from a public page is reported with that page’s address. The community pages also count their own visits, for each page and each day, with no cookie and nothing about who visited (see Community pages, upvotes and reviews).
14. Who can see what
Lunara is a social game, so some of your numbers are visible to other players by default — somebody can look up your balance or collection with a command. These lookups can be switched off for strangers, account-wide, with /privacy; friends you have accepted can still see your balance, collection and progress:
- Wallet and balances (on by default: yes). Turning this off hides your money from
/balance user:and/profile. - Cards and collection (on by default: yes). Hides your cards and dex from
/collection,/flexand the website, and your name on pulls. - Level, XP and prestige (on by default: yes). Hides your level, XP, titles and score (website too), and stops level-ups being announced.
- Casino history (on by default: no). Off by default — your casino record is already private to you.
- Appear on leaderboards (on by default: yes). Off takes you off every board and its prizes, and your clan shows you to its members only.
- Trades, gifts and duels from anyone (on by default: yes). Turning this off means only friends can trade, pay, gift, duel or battle you.
No switch covers your family tree (/family tree), your VIP rank and whether you hold a supporter tier (the crown on your /vip card and profile), how many trades you have made, or your name on a custom character you published.
A server’s administrators can read its settings, choose its channels, set up chat levels and chat roles, build embeds and self-role menus, and run a ticket desk through Lunara. Besides the tickets you open with them (see Ticket desks), and what you did on its tickets if you are one of its ticket staff, the one view of your activity they get is the server’s chat board on its dashboard (the name, chat level and chat XP of its top chatters, on Lunara Plus), which leaves you out if you have turned leaderboards off; otherwise what they see of you is what Lunara posts in the server for everyone. On their server’s community page they see its reviews as everyone does, without names, and its numbers as totals, never who wrote, upvoted, reported or visited. Server admins on Lunara Pro can see how many tickets each staff member handled: on the dashboard, for each one by name, the tickets they claimed and closed, the replies they sent through Lunara, how quickly they replied first and the average rating of the tickets they closed, over the last 30 or 90 days, sorted by name and never posted in Discord. A self-role menu’s usage stats are counts only — how often each role was taken — never who took it. The Lunara server’s own administrators also work its role ladder and its Black Market queue, so they see the claims made there and who made them. Lunara’s operators can see everything described on this page, and use it only to run and protect the game.
Publishing a custom character. A character you publish with /character publish is looked at first by Lunara’s own moderators — Lunara’s operators, and the moderators of Lunara’s own Discord server — whichever server you published it from. They see what the gallery would show (its text, stats and picture), a mention of your Discord account, and the name and ID of the server you published it from, and they approve or reject it. The moderators of the server you published from take no part in it. If you change a published character, or enough players report it, it goes back to the same moderators, and they can also take a published character back out of the gallery at any time. When they look at a character they see the reasons given in any open reports on it, but not who filed them. If they reject your character or take it down, the reason they give is shown to you on it.
15. Server settings
For each server Lunara is added to, it stores the server’s ID and name, when Lunara first and last joined it, when it left, how often, and its member count at those times, and its settings — the channels it posts in and its chat levels (their channel, level-up line and chat roles), its chat-drop rooms, quiet hours and weekly recap choice, which the server’s administrators choose, and which features are on and any casino limits, which Lunara’s team sets — the embeds and self-role menus its administrators build, any days of a server plan it was given and why, and, in servers Lunara’s team runs, role rewards and made roles; and a log of administrative actions that records who took them, by Discord ID and username. When an administrator builds or edits an embed or a self-role menu, schedules an embed, has Lunara make a role, post a role menu, or give or take a member’s role, the administrator’s Discord ID is kept with it, and the log names the member by Discord ID. An annual server pass keeps the Discord ID of whoever bought it and, once it is activated, the server and the Discord ID of whoever activated it, with Discord’s reference for the purchase, the plan and its dates. A monthly subscription keeps only log entries that name the server. The dashboard makes those changes in Discord with the bot’s own token, as the bot does.
A server’s ticket desk keeps its ticket types and forms, panels, quick answers, saved replies, labels, support hours and away notices, and the wording its admins gave Lunara’s ticket messages: text the server’s admins wrote, with nothing about members in it, kept with the Discord ID of whoever made or last changed each part. Lunara counts how often a quick answer helped, but not who it helped. The desk also keeps the blocks its staff set (see Ticket desks), and daily counts of its tickets (how many were opened, answered and closed, and how quickly), which name nobody and are kept for 400 days.
A server’s name and weekly score appear on the public Server League unless Lunara’s team takes it off. If Lunara is removed from a server, nothing is deleted, so that adding it back restores everything: its settings, its members’ chat levels and the rest. The one exception is the ticket desk’s open tickets: Lunara closes them when it leaves, and their answers and notes are deleted within 30 days, or sooner if the server keeps closed tickets for less. The desk’s settings and blocks stay, like the rest of the server’s settings. A server’s owner can ask for its data to be deleted by writing to support@lunarabot.gg or asking in Lunara’s support server; a person then removes it by hand.
16. How long we keep it
Until you delete it. /data delete erases your account and everything attached to it immediately — balances, cards, history, custom characters, chests and any days of Crescent perks you won included. It cannot be undone, and there is nothing to restore it from on your side. The one wait: it is refused while one of your auction listings has a bid on it, until that auction closes.
The ledger’s line for each minute of chat or voice that paid a reward goes sooner: it is deleted after 60 days, whether or not you delete your account.
Chat drops, your daily drop counts and your catch phrase are deleted after 400 days. A drops block is kept until Lunara’s team lifts it or you delete your account, and a chat drop flag names you until you delete your account.
Tickets. A ticket you opened is kept until the server’s retention ends, 7 days to a year after it closes, and /data delete deletes it at once (see Ticket desks). If Lunara is removed from a server, it closes that server’s open tickets, and their answers and notes are deleted within 30 days, or sooner if the server keeps closed tickets for less.
Moonlit Confessions. A confession’s link to the person who wrote it goes 90 days after its post goes up, and the post comes down with it, whether or not you delete your account. A post with an open report, or one the law requires Lunara to keep, keeps its record, its sealed link and any sealed words until that ends, even after /data delete, and so does a warning, cooldown, block or strike on you, until it ends. Your own open reports stay with that server’s staff without your code, and still count towards your report limits there (see Moonlit Confessions).
Community pages. Upvotes go after 90 days, and reports 90 days after they are decided, whether or not you delete your account. /data delete removes the rest that is yours, apart from what a review ban, an undecided or urgent report or a block still needs, kept without your Discord ID (see Community pages, upvotes and reviews).
Backups. The database is backed up so that a failure on our side cannot wipe out everyone’s collection: our database host keeps its own daily copies for 7 days, and while Lunara’s own encrypted nightly copy is running, each copy is deleted after 30 days. What /data delete erases leaves the live database at once, and leaves the copies made before you deleted it as they are deleted in turn: within 35 days at the latest. The copies are there to recover from a failure, never to bring back one account. If one ever has to be restored, accounts deleted since it was made come back with it, and we erase again those we can identify from our records.
Gem gifts and gem sales. Where Lunara’s team has switched gem gifts or gem auctions on, a gift or sale of gems can be flagged for the team to look at: the same two accounts moving gems again and again, many accounts sending gems to one, one account sending gems to many, a new account receiving a lot, or gems that moved on before the purchase that paid for them was refunded. A flag records the two accounts, the amount and the kind of pattern, and is deleted if either player deletes their account once the team has closed it. /data delete waits, and says so, while your gem balance is below zero or an intact ledger records refund debt, even if protected granted gems leave your total balance at zero or above. A broken ledger with a balance of zero or above is not held for this debt. Other holds still apply: while the team has paused your gem trading or has an open flag naming you, and for up to 120 days after a gem purchase or Patreon reward when gems have left the account since (the time a card refund can still arrive). These holds keep the account’s record of the debt, review or purchase while it is still needed to check fraud.
Broken gem ledger reviews. If your balance history no longer adds up, the owner can review its refund debt and restore the reviewed amount with a recorded correction. The owner audit keeps your account reference, the amount restored, the old and new balances, which ledger row was reviewed, when, who acted and a short review reason. Only the owner sees that audit. /data export includes your review reason, the correction amount, the old and new balances and the time, as well as the correction in your currency ledger. /data delete removes the reason and reviewed ledger reference and replaces the account reference; the correction amounts and date remain.
One exception, on purpose. If you have an active gambling pause from /gamble pause, its end date, and how many pauses you have set, outlive /data delete: they are kept against a keyed hash of your Discord ID, not the ID itself (see below), and are erased by themselves once the pause runs out. A pause is meant to hold even if you change your mind, and deleting your account would otherwise be a way to lift it.
And a note that you deleted, also on purpose. When you run /data delete, Lunara keeps a note that the account behind your Discord ID was deleted: a keyed hash of the ID, not the ID itself, and the date it was deleted. Nothing else — no name, no balances, no history. It is there so the welcome rewards for new players (the starter card and the first steps in /start) are given once per person: without it, deleting your account and coming back would look exactly like arriving for the first time. The same note is why somebody who comes back cannot be invited as a new player, or collect the first-vote bonus, a second time. It is kept for as long as Lunara runs; nothing removes it. Deleting again keeps the one note and its first date.
And a note of clan Hall gems you collected. This one is not in use yet: no Hall pays gems until clan wars open. When they do, a clan’s Hall pays each member a small, one-time gift of gems as it grows, once per person for each Hall ever. If a Hall has paid you, Lunara keeps a note of it that outlives /data delete: a keyed hash of your Discord ID with the Hall, the gems and the day it was paid — nothing about your clan, your name or anything else. It is there so each Hall’s gems are paid once per person rather than once per account: without it, deleting your account and joining another clan would collect them again.
What “keyed hash” means here. All three are worked out from your Discord ID with a secret key that is kept apart from the database and never stored in it, so none of them can be turned back into your ID from the database alone — not even by someone who holds a copy of it and tries every Discord ID they can find. Each is worked out with a label of its own, so one cannot be matched to another by its hash either. Their dates are kept to the day, not the time, so none of them can be lined up with a new account by the moment it was made, though on a quiet day the date alone can still narrow down whose it might be. The pause note also holds the exact moment the pause ends, because that is when it must stop. This is not anonymity, and we do not claim it is: Lunara holds the key, and recognising your ID when it comes back is the whole purpose of all three.
Coming back after deleting. None of the notes names you, but the account you make if you use Lunara again is treated as yours, and that shows in the database. It is not given the welcome rewards again, and if a gambling pause was still running, it starts paused, with exactly the end date the pause note holds, a pause that began before the account existed. So someone holding a copy of the database can tell that such an account belonged to someone who had deleted before, and, if it came back paused, which pause note is its own.
Pauses from before the key. A gambling pause set before 24 September 2026, when the key was introduced, was first kept against a plain, unkeyed hash of the Discord ID, which someone holding a copy of the database could match against a Discord ID they already had. Each is moved under the key the next time Lunara sees its owner’s Discord ID: when they next use Lunara, pause again, delete their account, or come back after deleting it. Until then, for someone who still has an account, the old entry adds nothing to what their account already shows but the day the pause was first recorded. For someone who deleted their account before the key existed and has not come back, there is no such next time: it stays as it is until the pause runs out, and is then erased with it. No pause of that kind is left in Lunara’s database today.
Records that name you without being part of your account. /data delete takes the player off the weekly leaderboard and server-league records made since their account was, and wherever an admin record names them by Discord ID or username — the player an admin paid or charged, or gave a role to or took one off; the admin behind any audit-log entry, including this site’s incident page, its role and embed pages, and the owner console’s clan and server-plan pages; the admin who created a currency, handled a Black Market claim, reviewed a custom character or a report on one, had Lunara make a role or a role menu, or registered an official channel, or reviewed a clan’s name or closed a report on a clan; the staff member who claimed, was given or closed a ticket, wrote a note on one, added somebody to one or blocked somebody from a desk, or set up a desk, its panels or its quick answers; anyone a ticket’s answers named, such as in a report; the admin who built or last edited an embed or a self-role menu, or scheduled an embed; and whoever bought or activated an annual server pass — it puts a code that no longer names them in its place, so the records still add up. A payment between them and another player stays in the other player’s history as a payment to or from “a deleted account”. It does not remove: likes on custom characters, transfer and duel records, which keep an internal account ID that no longer leads anywhere; text an admin or a server’s staff wrote, such as a grant’s reason or a note on a ticket; an error record, which keeps what failed and its reference for up to 30 days, its link to the account cleared; a server’s ticket block on them, which stays against a keyed hash (see Ticket desks); the Discord ID in the host’s own logs of the delete itself. It also leaves short-lived cache entries named with your ID, which expire by themselves, the messages Lunara already posted in Discord that mention you (apart from the card on a public post and the staff alert that carry your words, which it blanks), the Discord roles it gave you, and the threads, channels and transcripts of tickets in a server’s channels.
Staff-pay notes and the owner’s reasons and notes about paying you are removed by /data delete; the payment totals stay without your name.
The same goes for the audit-log records of value sent by new accounts (Keeping rewards for real players). They are kept for as long as Lunara runs: the cap reads back only the last 24 hours of them, and the checks on referrals read the older ones. /data delete leaves them in place: when the sender is the one deleting, it clears the column linking a record to them, but both players’ internal Lunara IDs stay in the record, where a deleted account’s ID no longer leads anywhere.
17. Your choices and rights
Everything here works straight away, in Discord, without asking anyone:
/data exportsends you a file of your account: balances, cards, ledger, game and trade history, votes, chat levels, clans, referrals, tutorial, Patreon and server pass records, your tickets and public posts, your upvotes, reviews and reports on community pages, and the Moonlit Confessions you wrote. It does not yet include every item listed on this page; contact us for the rest./data deleteerases your account, deletes the tickets you opened, your upvotes, reviews and decided reports on community pages, and your Moonlit Confessions, as described under How long we keep it./data privacysummarises this page inside Discord./privacycontrols who can look you up, and whether you appear on leaderboards./remindturns reminder messages on or off. They are all off until you turn them on.
Depending on where you live, you may have further rights — for example under the GDPR in the EU and UK, or the CCPA in California — to access, correct, delete or object to how your data is used, and to complain to a data protection authority. Contact us to use any of them. Where the GDPR applies, we rely on: carrying out our agreement with you, for running the game, your account and anything you bought; our legitimate interests, for keeping the game fair and secure, counting visits, running the help desks servers set up with Lunara, handling what Discord and Patreon tell Lunara about members of the servers and the campaign it serves, and remembering deletions and pauses as described above; and legal obligations where they apply. Lunara is run from the United States, where your data is stored. You can complain to the data protection authority where you live.
19. ScopliDrop giveaways
Lunara’s giveaways run on ScopliDrop (scoplidrop.com), and some ask whether you have done something in Lunara. Pressing Verify there brings you to a page here that names the task. Lunara sends ScopliDrop nothing until you press Share or Cancel. Share tells ScopliDrop yes or no, together with a player code made from your Discord ID with a secret key if you have a Lunara account: not your Discord ID, but the same each time, so each Lunara account can enter once. Cancel sends only a no, and nothing else from your account is shared. The request waits in a cookie on your device for up to fifteen minutes while you answer. ScopliDrop’s own privacy policy covers what it does with your answer.
20. Invite links
Every player has an invite link, lunarabot.gg/r/ and their referral code. The page shows who sent it and one of their Lunari (the game’s characters) only while their collection switch in /privacy is open; otherwise it says “a Lunara player”. It shows their best Lunari unless they pick one with /invite show card:; that choice is kept with their account, deleted with it, and included in /data export. Invite pages ask search engines not to index them.
Pressing “Accept invite and add Lunara” opens Discord’s own screen, which asks for two things: identify (your user ID and username) and permission to add Lunara’s commands to your account. Discord hands this site an access token, which is used once to read your Discord user ID and then thrown away: it is never stored or logged, and no sign-in is created. A cookie holds a random check value and the invite’s code for up to ten minutes while you are on Discord’s screen, and is deleted when you come back.
If you already have a Lunara account made in the last two days, the invite is linked to it straight away. If you do not have one yet, Lunara keeps your Discord user ID and the invite’s code for up to seven days, until your first command links it; then, or when the seven days are up, that note is deleted. Deleting the account of the player who sent the invite deletes every such note naming their code. Each referral also records how it was made (a typed code, an invite link, or a “Play Lunara” button), which /data export includes. Nothing is paid for accepting an invite.
21. Referrals and the Star Trail
When a friend you brought plays, Lunara records which step they reached and what each of you was paid. To keep referrals fair, Lunara compares when linked Discord accounts were created, where the friends mostly play, and what value moves between a player and the friends they brought; records of that value are kept for 180 days. Nothing is taken back without a person checking it first.
What is kept: for each referral, the step the friend reached, when, and whether it is waiting for a person to check it; for each reward, its amounts and when it was paid, is waiting, or was taken back; and for the player who brought friends, their stars, the milestones reached, anything still owed after a reward was taken back, and how many were taken back. When a person takes a referral’s rewards back, their short note of why is kept with it, for the owner only; it never holds a Discord ID, and it is removed when either player deletes their account. The records of value are one line for each payment, gift, trade, auction or won stake between a player and a friend they brought in the first 180 days: the two Lunara accounts (not Discord IDs), which way it went, how it moved, what it was worth, how many cards, the server it happened in, and when. They are deleted after 180 days, and at once when either player deletes their account.
No new Discord IDs are kept. The checks read when an account was created from its Discord ID, and how many members a server has, when they run, and keep neither. A friend’s name is shown on your trail only while their “Level, XP and prestige” switch in /privacy is on. Deleting a friend’s account keeps your star and what you were paid, naming nobody, and cancels what was still waiting for them; deleting yours deletes your trail and your rewards, and your friends’ own steps carry on, saying they were invited by a deleted account. /data export includes your trail, your rewards, your own steps if a friend brought you, and your records of value, with the other player shown only as “a friend you brought” or “the player who brought you”.
22. Chat drops
Chat drops. When you catch a chat drop, Lunara records which drop it was, the server and channel it landed in, what it carried and how many milliseconds you took. For each UTC day it keeps your catch counts and totals, and how many times you pressed a drop’s buttons, chose a wrong name or pressed quicker than anyone could look (used to spot automated clicking). A supporter’s chosen catch phrase is kept too. These records are deleted after 400 days. /data export includes them and /data delete deletes them; a drop you caught stays as a statistic of that server, naming nobody. If Lunara’s team switches drops off for your account, that block is removed when the account is deleted. If your presses or catches look automated or unusual, a flag for Lunara’s team names your account, with the kind of pattern, its counts, the day and, for some, the server. A flag names you until you delete your account, and then names nobody. In a server whose administrators chose the weekly recap, a post each Monday names that week’s fastest catcher there and whoever caught the most, unless they took themselves off the leaderboards in /privacy.
To tell real conversation from one person typing fast, Lunara keeps some things in its memory only, never in its database or Redis: which accounts posted in a server that has chat drops, and when, for at most 35 minutes; who spoke in each drop room, for at most an hour; who has had their try at each drop on screen, until a minute after it closes; whether you have used today’s try at a gem drop, until a minute past midnight UTC; how many days you have played lately, for 10 minutes; your presses on drops, until they are added to that day’s counts, usually within 30 seconds; and that you opened My catches, for 5 seconds. A restart forgets all of it.
23. Ticket desks
A server can run a help desk with Lunara: a panel that opens a form, and a ticket for each form sent. A ticket is a private thread or channel, which you, the people added to it and the server’s staff can see, or a public post in one of the server’s forums. Staff can also open a ticket for you. Opening a ticket does not make a Lunara account: Lunara keeps it against your Discord ID.
What is kept. For each ticket you open, Lunara keeps your answers to the form (for a file you attach, only its name and size: the file itself is posted in the ticket, in Discord), its subject and number, its status and priority, and when it was opened, answered, resolved and closed. It keeps what the server’s staff did with it: who claimed, was given or closed it, who was added to it, the reason it was closed and any summary staff wrote, their notes and labels, and a history of what happened, which records the kind of each action and who took it, never text. Notes and labels are for staff only, but /data export gives them to you, except on a ticket that names another member, such as a report; so does the summary staff wrote when they closed it.
The conversation. What is said inside a ticket is not stored. It stays in Discord, where it was typed. Lunara reads it only to make a transcript, or to show it on its website to the people who may read the ticket. When a ticket closes, Lunara can post a transcript as a file in the server’s staff log channel, never in a channel everyone can read; on some servers staff can ask for one at any time, as a file only they see; and some servers let you get your own copy of a closed ticket, as a file only you can see. Lunara sends it to your DMs only if you press the button that asks for that. It keeps no copy of any of them. A ticket’s thread or channel, and any transcript posted there, belong to that server.
Ratings, applications and replies. When a ticket closes you can rate it from 1 to 5 stars, which is kept with it. If you rate a ticket, some servers let you add a comment, and some ask up to three short questions; only that server’s staff see them, and they are deleted with the ticket. When staff accept an application, Lunara gives the roles the server chose and records the decision with the ticket. If they turn one down, the reason they give is kept with it too, and /data export gives it to you even when they chose not to show it to you. Replies signed “Staff team” record which staff member wrote them, for that server’s admins.
Forms in progress. While you fill in a form with more than one page, Lunara holds your answers in memory for up to 15 minutes until you send the last page; they are never saved. The same goes for a public post while Lunara shows you posts that look like it, until you choose to post it. A form Lunara turns down is shown back to you, so you can copy your words; it is not kept. To stop floods and double sends, Lunara keeps a few short-lived cache entries named with your Discord ID, which expire by themselves: one while a ticket of yours is being opened (30 seconds), how many tickets you opened this hour (an hour), when you may next open a kind of ticket that has a wait between them (the server’s wait, up to a day), how many you opened from Lunara’s website that day (a day), and that you asked for a transcript (10 minutes). A server can ask for a Discord account of a certain age, some time in the server or certain roles before you open a ticket: Lunara works these out from your Discord ID and from what Discord tells it when you press the button, and keeps none of it. In the Lunara server, a request for priority support names a server you run: Lunara asks Discord whether you own or manage that server and whether it has priority support, and keeps only that server’s name and ID, with the ticket.
Public posts. Some servers’ forms post publicly: a bug report, a suggestion or a question goes into that server’s forum under Lunara’s name, with a mention of you. Public forms never take uploads; if you add a screenshot, you post it yourself as a reply, and you can delete it like any message. You can edit your post for a while after posting (a day, unless the server chose otherwise) and remove it at any time with the buttons on it. Lunara keeps a copy of your answers only while you can still edit them, and the post’s title while it is open, to spot repeats. After that the post itself is the record: Lunara keeps which post was yours, with its status, times, staff notes and history, so you can still remove it, and to redraw the card on your post it reads your words back from the card itself, in Discord. Removing a post, or /data delete, takes your words off every public post Lunara made for you and renames each one “Removed post” with its number; other people’s replies stay. In the Lunara server, a bug report can carry the Reference code of an error you saw, which lets Lunara’s own team find that error’s record (see Errors). If somebody has already posted about the same error, Lunara adds you to their post instead of making another, and keeps that you joined it.
On the website. Some servers let you follow your tickets on Lunara’s website. Signed in with Discord, you see there the tickets you opened in those servers or were added to, and what is said in them; you can reply and, where the server allows it, close a ticket you opened and download your copy of its transcript once it closes. Signing in for this does not make a Lunara account. Someone staff added to your ticket can read it there too, as they can in Discord. Some servers’ staff read and answer tickets on the website too. A reply sent from the website, yours or staff’s, is posted in the ticket by Lunara with the sender’s name, or signed “Staff team”. Lunara records who replied from the website and when, never what was said. To show a ticket, the website reads what is said in it from Discord as the page asks, holds what it read only in its own memory, so that people looking at the same ticket share one read, until the website restarts at the latest, and never writes it to Lunara’s database or cache. Pictures in it load in your browser straight from Discord’s own file servers (cdn.discordapp.com and media.discordapp.net), so Discord sees that request; Lunara keeps no copy. To know who may read a ticket there, the website asks Discord, as Lunara, whether you are in that server and which roles you hold there, and stores none of it.
Appeals on the website. Some servers let you open a ticket from the website, such as an appeal when you are timed out or banned and cannot use their panel in Discord. You sign in with Discord and fill in the form on the page, which takes no files; Lunara opens a private ticket in that server with your answers, as it would from Discord, notes that it came from the website, and keeps it the same way. Before it does, Lunara checks what it would check in Discord, and that your Discord account is at least a week old: it asks Discord whether you are in that server and which roles you hold there, and keeps none of it. If you are not in the server, you cannot see the ticket in Discord and Lunara cannot mention you there, so you follow it on the website.
Who sees a ticket. When you open a ticket, Lunara can tell the server’s staff in their own channel, with its subject and a mention of you. Who counts as staff is the server’s choice: the roles it names, its admins, and anyone it lets manage threads in the ticket channel or see the ticket’s own channel. Other servers never see your tickets. Lunara’s own team works tickets only in the Lunara server, where they are its staff. There, Lunara’s operators can also go from a ticket to its opener’s Lunara account, if they have one, and to the record of the error its Reference code names. When they look at another server’s Tickets tab as its admins would, to help with it, they never see its members’ ratings, comments, names or blocks, or a ticket’s conversation, notes or labels. If you are one of a server’s ticket staff, some servers show their admins, for each staff member by name, how many tickets they claimed and closed, how many replies they sent through Lunara, how quickly they replied first and the average rating of the tickets they closed; it is sorted by name and never posted in Discord. If you report somebody, they aren’t told who reported them. A report that names you belongs to the person who filed it and to the server: it is not in your /data export, and /data delete takes your Discord ID out of it.
Blocks. A server’s staff can block you from opening tickets there, with a reason and, if they choose, an end date; /data export includes the reason. If you run /data delete, the block stays, so that deleting your account is not a way round it: your Discord ID in it is replaced with a keyed hash, worked out with a label of its own (see How long we keep it), and its reason is emptied. It ends when the server lifts it or its end date passes.
How long. A ticket is kept until the server’s retention ends: 7 days to a year after it closes, as the server chose (30 days unless it chose otherwise). Then it is deleted with its notes and history, and a public post’s record is cut down to which post was yours, until the post is deleted. A public post that stays open is cut down the same way once it has been quiet for a year. A private ticket that has been quiet for the server’s chosen time, 14 to 90 days (30 unless it chose otherwise), is closed after a warning in the ticket. If Lunara is removed from a server, it closes that server’s open tickets, and their answers and notes are deleted within 30 days, or sooner if the server keeps closed tickets for less. Lunara cannot see a post deleted after it has left, so the record of which post was yours is deleted 30 days after it left, or sooner if you run /data delete.
Your copy, and deleting. /data export includes every ticket you opened: your answers (anyone a question named shows as “another member”), its status, times, rating, any comment or survey answers you gave, an application’s outcome, the reason it closed and staff’s closing summary, its notes and labels as above, and its history, with the steps you took yourself, such as a reply from the website, marked as yours; each public post with its link, and the posts you joined about the same error; the tickets you were added to (their server, number, status and when, and the steps you took on them yourself, never the opener’s answers); and any block on you. /data delete deletes every ticket you opened, in every server, with its notes and history, and the record that you were added to anyone else’s, and takes your Discord ID out of its record of the posts you joined. Lunara also blanks its own messages that carry your words: the card at the top of each public post it made for you, and the alert it sent the server’s staff. The threads and channels, the card in the staff log that says a ticket closed and why, transcripts already posted, and replies you wrote yourself stay in those servers: ask their staff about those, and delete your own replies as usual. A reply you sent from the website is Lunara’s message, so only that server’s staff can delete it.
24. Community pages, upvotes and reviews
Servers that play Lunara can have a page on Lunara’s website, and a directory lists them. Upvoting, reviewing or reporting a page needs a Discord sign-in, but it makes no Lunara account: Lunara keeps what you do there against your Discord ID. Nothing on these pages pays anything, in Lunara or anywhere else, and Lunara never sends you a message about them.
Upvotes. For each upvote Lunara keeps which page it was for, when, the month it was given (for each month’s totals), and whether it counted: an upvote that looks automated is kept but not counted. Upvotes are deleted after 90 days; each month’s totals stay with the page, naming nobody. When a month’s upvotes are finished, Lunara checks each upvoter’s account age and Lunara level, to count different people, and checks again only if Lunara’s team later gives back some of the month’s upvotes. Only the totals are kept. Lunara reads how old your Discord account is from its ID alone (see Keeping rewards for real players) and keeps nothing of it. The upvote cooldown key in Lunara’s short-lived cache holds a code made from your Discord ID with a secret key, never the ID itself, for the 12 hours before you can upvote that page again.
The network you use. Upvotes, reviews and reports also keep, for 30 days, two things about the network you used, never your address: a code made from part of your network address and the day with a secret key, and the number of the network your connection belongs to. They are how Lunara spots many accounts acting from one place, and after 30 days both are deleted.
Reviews. For each review Lunara keeps the stars, your words, when you first wrote it and last edited it, and how long you had been a member of the server when you first wrote it, as a band such as 1 to 3 months. To check you have been a member for at least 7 days, Lunara asks Discord once, when you first write, when you joined that server, and keeps only the band, when it checked and, for 30 days, which 48-hour window you joined in, so that a crowd of reviews from people who all joined together can be spotted. It never keeps the day you joined. To check you don’t help run the server, it reads your permissions there from the list of your servers you allowed at sign-in, and keeps none of it. A review never shows your name: only the band and the month you first wrote it. Lunara’s moderators, who see a review when it is reported or held, are not shown who wrote it either.
Replies. A server’s owner, or someone with Manage Server there, can reply once to a review, in public. Lunara keeps the reply with the review, with the Discord ID of whoever wrote it.
Deleted and removed reviews. If you delete a review, its words go, and the review is kept without them for 30 days, so the same server cannot be reviewed again sooner. A deleted review’s words are kept, out of sight, while a report on it is undecided. A review Lunara’s moderators remove keeps its words for 90 days after the removal, for any appeal, and then goes. One removed because it was fake, or because something was offered for it, is then kept without its words while the page exists, so its writer cannot review that server again.
Reports. When you report a page, a review, a reply or anything else on a page, Lunara keeps what the report is about, the reason you chose, any note you wrote, when, and whether your Discord account was old enough for the report to count toward hiding a page. A signed-in report gets a receipt code, shown to you once: Lunara keeps only a hash of it, never the code itself, so the receipt page can show the report’s progress to whoever holds the code. The receipt page shows nothing about who reported, and neither the server nor anyone reported is told. A report keeps your Discord ID until it is deleted, with its receipt, 90 days after the decision.
Reports by email. Anyone, signed in or not, can email a report to support@lunarabot.gg instead, from the links on every community page and at the foot of every page of Lunara’s website. Only the page’s address is filled in for you. The email comes with the address it was sent from and whatever you write in it, and it is kept in Lunara’s support mailbox for a year, or longer if the law requires it (see Who we share it with). If you’re reporting child sexual abuse, you don’t have to give your name or email.
Blocks. If Lunara blocks an account from the directory, it keeps a code made from the account’s Discord ID with a secret key, so it can recognise the account again. The code isn’t the ID, but it is still about you. Block codes for under-13s are kept for 2 years, others for 1 year, and /data delete doesn’t remove them early. A blocked account is told why, and how to challenge it, the next time it upvotes, reviews or reports, and at the top of the Your reviews page.
If you help run a server’s page. If you make or change a server’s page on the dashboard, Lunara keeps the page and every change waiting for a check, with the Discord ID of whoever made the page and of the moderators who checked it, and the same for a campaign link you make. A page’s admins see its numbers only as totals, with any number under 10 in a breakdown shown as “Fewer than 10”, and never see who visited, upvoted, reviewed or reported. Lunara’s operators can look at a server’s Server page tab as its admins see it, to help with it: read-only, recorded in Lunara’s log, and never for an 18+ NSFW server’s page. When Lunara’s team decides something about a page, its admins read why on the dashboard, never in a DM.
Visit counts. Community pages count how they are used, for the servers’ admins and for Lunara, as totals for each page and each day, never per person:
- Page visits: One visit is a page of a server opened in a browser. The same visitor opening the same page again within 30 minutes counts once. A page loaded in the background and never opened counts nothing.
- Visitors: Different visitors on one day, told apart by a code made from the network address and browser with a key that changes every day at midnight UTC and is deleted after 48 hours. Lunara never stores an address. Approximate: the website counts each visitor once per day per machine, so a restart, or more than 20,000 visitors at once, can count someone twice.
- Times shown: A server’s card counts as shown when at least half of it is on screen for one second, once per visitor per day, credited to the first place that showed it. Approximate, for the same reason as visitors. A page loaded in the background and never opened counts nothing.
- Join presses: A press of Join on lunarabot.gg. A Join press is not a join: the person may not finish joining in Discord. A press Discord’s preview makes in the background counts nothing.
- Where visitors come from: The place a visit or a Join press came from: a part of lunarabot.gg, a campaign link, Google, another website, or none. Read from the link’s own label when it has one, otherwise from the page the visitor came from.
- Network country (approximate): The country the visitor’s network is registered in, not where the visitor is. Relays such as iCloud Private Relay show the relay’s country. Countries under 10 visits are folded into “Other”.
- Browser language: The first language the visitor’s browser asks for. Languages under 10 visits are folded into “Other”.
- Visits by hour: Visits by the hour of the day they happened, in UTC.
- Search words: Words searched for on lunarabot.gg that led to the page. A word shows only once it has 10 or more visits. Words that could identify someone (numbers, @names, #tags, rude words) are never kept.
- Directory visits: Different visitors to the directory on one day, added up over the days shown. Approximate, for the same reason as visitors.
- Directory searches: Searches made on the directory’s search page.
Bots, crawlers and link previews are left out, by their browser name and by hosting networks. The daily key that tells visitors apart is held only in the website’s memory, and addresses are never stored or logged. To stop floods, the website counts in its own memory, for a minute, how many of these counts arrive from each address. Common on-site search words are kept in the visitor’s own browser tab until the page counts them once, never in a link. Daily counts are kept for 400 days.
Counted joins. If a server counts joins, Lunara reads, once an hour, how many times its own invite links for that server’s page were used. It ignores other invites and never learns who joined.
What a page shows about its server. A server’s page also shows facts about the server, never about a person: its safety settings in Discord, its names and owner changes over time (with dates, never who), about how many members it has and how many are online, how active it is in the Server League, how many people are usually in its open voice channels in the evening, and the hours of the week it is busiest. All of these are kept as counts and bands, with no Discord IDs: the weekly ones for 53 weeks and the daily ones for 400 days. To show how many players new to Lunara come back to a server, Lunara holds codes made from those players’ Discord IDs with a secret key in its short-lived cache. Codes used to count returning newcomers expire after 6 weeks and can’t be deleted sooner.
The NSFW view. Servers labelled 18+ NSFW are shown only in a separate view, to signed-in visitors who confirm they are 18 or older. If you choose to see NSFW servers, your browser keeps a signed note of that for 30 days. Lunara keeps no lasting record of it: for up to an hour it counts how often your account chose to show or hide them, under a code made from your Discord ID with a secret key, so it can’t be switched more than 10 times an hour. Lunara never records which NSFW pages you open. To check you aren’t under 18, Lunara looks once at your roles in the Lunara server, if you’re a member. If Lunara stops an account from seeing NSFW servers, it keeps a code made from the account’s Discord ID with a secret key for 2 years, and /data delete doesn’t remove it early.
In your own browser. Community pages keep a few things in your own browser and never send them to Lunara. “Servers I found through Lunara” is a list of up to 50 servers whose Join you pressed in that browser, never an 18+ NSFW one, which only you see, on the Your reviews page. It is kept only on a browser where you have opened that page while you support Lunara on Patreon, and only until your supporter tier’s paid time ends; any other browser keeps no list. A page that offers you a supporter’s look reads your supporter tier as it opens, for you alone: the Your reviews page, for its frame and the moonlit colour themes it offers for these pages, if you support Lunara on Patreon; and a server’s Server page tab on the dashboard, if you help run that page, for your own Moon frame and the coach card’s looks, if you support Lunara on Patreon or have days of a supporter tier you were given. The looks you pick, and the one-time moments you have already seen, are kept in your browser, a colour theme until your supporter tier’s paid time ends. Only you see these looks, they change nothing about any server, and Lunara stores nothing new for any of them.
Keeping and deleting it. /data export includes everything here that names you: your upvotes, reviews, replies and reports, what you set up on pages you help run, and any block on you. Because that file is sent in Discord, a row about an 18+ NSFW server’s page leaves out the server and any words; email support@lunarabot.gg for those. /data delete removes your upvotes, your reviews and your decided reports. A review Lunara removed because it was fake or something was offered for it, a review you deleted in the last 30 days, or a review with an undecided or urgent report on it is kept without its words under a code made from your Discord ID with a secret key, so it can still stop a new review of that server or be decided; a report of yours that Lunara hasn’t decided yet, or an urgent one, is kept without your ID until 90 days after it is decided. /data delete and the owner console’s Delete and block erase the same community-page records. A server’s page, with its reviews, is deleted 30 days after Lunara leaves the server. If Lunara’s team is still checking an urgent report about the page then, the page is kept until that check is done, and then deleted. A note that the server was listed, when it first was and any strikes against it stays, naming nobody.
25. Moonlit Confessions
Moonlit Confessions lets a member of a server write something anonymous with /confess. That server’s own moderators read it before it goes up, and members can send it moonbeams so it rises to the server’s Moonboard. Writing a confession, sending a moonbeam or a Kind Word, or reporting a post makes no Lunara account: Lunara keeps what it needs against codes made from your Discord ID and the server with a secret key, a different code in every server, and never the ID itself, except sealed in a confession’s link to the person who wrote it.
Confessions are anonymous to other members and to a server’s staff. They are not anonymous to Lunara. We keep a sealed record linking a confession to the account that wrote it, for 90 days. It stays in our encrypted backups for up to 35 days after that. Lunara opens a record only if the law requires it or someone’s safety is at serious risk, and every opening is logged. If a confession is reported, or the law requires us to keep it, we keep its record longer, and /data delete does not remove it until that ends.
The promise page, lunarabot.gg/confessions, says what this means in plain words.
Your words. Lunara doesn’t store what you write. While Lunara checks it and the review card goes up, your words wait in Lunara’s memory, never saved, for 5 minutes at most, and a restart drops them. They then sit on the review card in the server’s review channel until a moderator decides, and an approved post’s until it goes up, 14 days at most, and Lunara trims them from the card once a moderator decides, or, for a post they approve, once it goes up. An approved post goes up in Discord, where it stays until it is removed, and 90 days at most. A server’s admins can read its review channel, because Discord lets them, and another bot there may keep what it reads. If you choose Let it go, nothing is kept but one daily count that names nobody.
A reported post. When a report hides a post, its words are sealed in Lunara’s database so the server’s staff can decide the report. If they keep the post, the sealed words go; if they take it down, they stay 90 days more, or a year after an upheld report of a threat to someone’s life. If a reported post is still up when you withdraw it or run /data delete, its words are sealed the same way first, unless a report on it keeps no copy. A report of sexual content, an intimate image shared without consent or a child at risk hides the post with no copy at all, and it can never come back. Only that server’s reviewers can read sealed words, one post at a time, through a step Lunara logs, on a review channel Discord marks age-restricted, and only for some reasons. Nobody at Lunara reads them.
What Lunara keeps about each post. The server and room, its number and mask once it is posted, the choice you made, its status, the dates it was sent, decided, posted and withdrawn, which moderator decided it and the reason they chose from a fixed list, whether it rose to the Moonboard, whether someone sent a Kind Word (never who, or how many), and its moonbeam count, which its Moonboard copy shows if it rises, never who sent them. These stay after the link goes, when they name nobody.
The sealed link. For each post Lunara keeps two things that link it to you: a code that answers “is this yours, are you blocked”, and your Discord ID, sealed with a key kept outside the database, which only Lunara’s bot can open. Both go 90 days after the post goes up, and the post comes down with them, so a post never outlives your way to remove it. They go at once if you withdraw a post before it is posted, or run /data delete; 14 days after you withdraw a live post, so that server’s staff can still act on the writer; and later only under a hold: while a report on the post is open (an undecided report closes after 30 days) and until 90 days after it is decided (a year after an upheld report of a threat to life or a child at risk), or while a legal hold stands.
Moonbeams, Kind Words and reports. A moonbeam or a Kind Word is kept under a code made from your Discord ID and that one post, different on every post, until voting closes, 14 days at most; then only the post’s totals stay. A report keeps its reason and a code for you in that server, never your ID or any words, until 90 days after the server’s staff decide it. Staff see a report’s reason and how many people reported, never who.
Restrictions and strikes. If a server’s staff warn, cool down or block you, Lunara keeps that against your code for that server, with a random code staff see and a reason from a fixed list, while it lasts and for a year at most. Lunara also counts strikes, each for 30 days, when posts are refused or denied for some reasons, and enough of them bring a cooldown by themselves. If staff stop counting your reports towards hiding a post, that is kept the same way. Staff never see who you are.
Short-lived records. In Lunara’s short-lived cache, under codes, never your ID: your cooldown in a server (as long as that server chose, a day at most), a limit on posts each hour across every server, a count of refused tries in 10 minutes and a 30-minute lock after too many, a 30-second lock against sending twice, and your reports in the last hour. In Lunara’s memory only, for seconds or minutes, under codes: when you last pressed a moonbeam or a Kind Word on a post, a server’s restrictions, and who was refused in a room in the last 10 minutes, to spot a flood.
Staff, the dashboard and the console. Where a server’s staff act, Lunara records who: who approved, denied, kept quiet or acted on a writer, decided a report or picked a post for the Moon Ledger, in the server’s activity list for its admins and its private log channel, if it has one; and who changed its Confessions settings, rooms or Moonboards. None of these says who wrote a post. A server’s daily counts name nobody and are kept for 400 days, and the weekly digest to its staff gives counts only. No confession’s words ever appear on Lunara’s website: the dashboard shows counts, never words or who wrote them, and so does Lunara’s owner console, but for the one logged step below that can open who wrote one post. The owner console keeps a record of each takedown, hold or opening of a link it asks for, with its reason.
Who can open the link. Members and staff never see who wrote, voted or reported, on any plan. Only Lunara can open a sealed link, through a logged step that records the post and the reason, never who it named, and only if the law requires it or someone’s safety is at serious risk. What it opens passes once through Lunara’s short-lived cache, for a minute at most, and is written nowhere else. Police, a court, NCMEC or Discord may then be given it.
Police and legal requests. If Lunara reports a post to NCMEC or the police, or receives a preservation letter, it holds that post’s link and sealed words for up to a year from the report, or 90 days on a preservation letter and 90 more if it is renewed, and /data delete does not remove them until the hold ends. They are given only as the law requires.
Reports go to the server. A report on a confession goes to that server’s own staff, not to Lunara, and nobody promises how fast they’ll act. If you write to support@lunarabot.gg about a post, your email is kept in Lunara’s support mailbox for a year, or longer if the law requires it.
Keeping and deleting it. /data export includes the confessions you wrote, found by your codes in every server: each one’s server, room, number, mask, choice, status, dates and link, any restriction on you, your strikes as dates, and how many reports, moonbeams and Kind Words you sent. While a report or a hold on one of your posts is open, the export shows that post as My confessions does, with nothing about the report or the hold, and it never shows sealed words. /data delete deletes your confessions and takes down their posts, Moonboard copies and review cards, and deletes your moonbeams, Kind Words and decided reports. A post with an open report, or under a legal hold, still comes down, but its record, link and sealed words stay until that ends; your own open reports stay with that server’s staff without your code, and still count towards your report limits there; and restrictions and strikes stay until they end, so deleting your account isn’t a way round them. If Lunara was removed from a server, it can’t take anything down there, and its posts stay. Anyone who can read a post can copy it, and removing it can’t reach a copy.
27. Children
Lunara is for people old enough to use Discord under Discord’s terms in their country (at least 13). We do not knowingly keep data about anyone younger; if you believe we are, contact us and it will be deleted. If Lunara learns that someone who upvoted, reviewed or reported on a community page is under 13, their upvotes, reviews and reports there are deleted, apart from what an undecided report or a review ban still needs, kept without their Discord ID, and their account is blocked from those pages, as Community pages, upvotes and reviews describes. A supporter tier on Patreon or a server plan may be paid for only by somebody 18 or older: you, or a parent or guardian for you.
28. Security
Data is held in a password-protected database whose access details only Lunara’s bot, website, backup job and operator hold, website sessions are encrypted, and your Discord access token is never readable by scripts in your browser. No system is perfectly secure; if a breach affects your data we will tell you as the law requires.
29. Changes to this policy
If this policy changes in a way that matters, we will say so on this page and in Lunara’s support server before the change applies. Last updated: 8 November 2026.