MeadhallGuideToolsPricingOpen the hub

Privacy policy

What Meadhall keeps about you, why, where, for how long, and how to get rid of it.

Last updated: 16 October 2026

Who runs Meadhall

Meadhall (meadhall.app) is run by Nathan Preen (privacy@meadhall.app), who is responsible for your data under this policy (the "controller", in data protection law). It is a fan project, not connected to NCSOFT or Blizzard Entertainment.

The short version

What we collect, and why

When you sign in with Discord

We ask Discord for the identify, email and guilds permissions. From Discord's answer we keep:

We don't keep the access token Discord gives us: it is used once, during sign-in, to read the details above, and then dropped.

What you add

We use all of this only to run the hub for you and your groups: to show your groups their rosters, timers, events, points and loot, to post the reminders your group asked for (raid windows and events in its chosen Discord channel, registration links privately to eligible role holders, and character update reminders privately to its members, when the group turns those on), and to keep your group's Discord roles in step when the group has linked its server. An event reminder in Discord gives the event's title, when it starts and how many have signed up, not who. An event's post can ping one Discord role the event's maker chose, which notifies everyone holding that role on the server. If someone who manages the group's Discord link turns on adding events to the server's Events (off by default), each event the bot posts is also sent to Discord as a scheduled event on that server: its title, start and end time, details and a link to the post. Every member of the server can see it, even members who can't read the channel the post is in. It's updated as the event changes and deleted when the event is cancelled or deleted. An event can also have its own nudge role, one of the group's own roles (not a Discord role): if set, each of the event's sign-up reminders mentions its holders who haven't signed up for the event in the channel the event is posted in, where everyone who can read that channel sees who hasn't signed up. If the bot hasn't posted the event, Meadhall privately messages them instead, giving its title, start time and a link to it. Like every DM Meadhall sends, a nudge waits in a queue until it's delivered, normally seconds and at most a day; one that repeatedly fails moves to an encrypted dead-letter queue for up to 14 days so the operator can diagnose or retry it. Meadhall does not keep a list of who was messaged once delivery is done.

When a group pays for its plan

A group's leader can pay for a plan through Paddle, which sells the plan as the merchant of record: Paddle takes the card or PayPal details and the billing address, and charges the VAT, under its own privacy policy. Meadhall never sees card, wallet or address details. When a leader presses the button to pay, Meadhall's server asks Paddle to start the payment, giving it the plan's price and the ids of the group and the leader's account (nothing else about them), and the page then loads Paddle's checkout script from Paddle, only then: no other page loads anything from Paddle. To limit how many payments one account can start, Meadhall keeps an account-linked hourly counter of them, which stops counting after the hour and is set to expire two hours after the latest payment it counted (DynamoDB then deletes it automatically, usually within a few days). So that a group has only one payment open at a time, it also keeps, on the group, which leader's account, plan and period is being paid for and Paddle's id for that payment, for half an hour, set to expire a day later and then deleted the same way. Paddle's server tells Meadhall's about each payment, renewal, failed payment, cancellation and refund, and from those messages Meadhall keeps:

When the leader who pays presses Manage billing, Meadhall's server asks Paddle for a link to Paddle's own billing page for the group's subscription, giving Paddle its ids for the customer and the subscription. The link signs that person in to Paddle's page for a short time; Meadhall passes it to their browser and doesn't keep or log it. Changing the card, invoices and cancelling happen on Paddle's page, under Paddle's privacy policy. Meadhall keeps an account-linked hourly counter of these links, the same way as the payment counter above.

A leader can also arrange by email to pay for a yearly plan in crypto (no processor: the payment comes straight to us). Then we keep the emails, and a record of the payment: the group it's for, the amount, the coin, when it arrived, its transaction id and the address it came from (both public on the blockchain), and the licence key it paid for, in the email we send it in (Meadhall's database keeps only the key's keyed hash, as for any key).

Public LU4 raid status

Every five minutes, Meadhall's server reads the public elemental raid-boss rating at mw2.global for Gamma, Black, White and Carmine. It keeps each server's last complete four-boss result, when that result and the latest attempt happened, and whether the latest attempt failed. This is public game state and contains no member data. Your browser never contacts mw2.global, and signing in, opening a group or changing pages does not cause a request to it.

Technical logs

Each request to Meadhall's API is logged with its time, route, result and the IP address it came from, and the API writes error logs. Successful group requests also write the route template, random group id and feature name, and routed Discord slash commands write the command name, so Meadhall can count feature and bot use. Pressing Add to Discord on the home page or the guide writes which of those two pages it was on, and linking a Discord server from a group's Settings writes only that a link started and how it ended (linked, cancelled, refused because the server already serves as many groups as it can, or failed), so Meadhall can count those. These usage events do not contain account, member or Discord ids, names or group content. Technical logs are kept for 30 days, to find faults, spot abuse and produce service-wide counts, and then deleted automatically.

Counting visits to the public pages

The public pages (the home page, pricing, the guide, the tools, the game pages, and this policy and the terms) count visits with a small script of Meadhall's own. It sets no cookie and stores nothing in your browser. When a page opens, it sends Meadhall's counter the page's address as it is, including anything after a ? or #, the site you came from (if your browser says), your browser's user-agent and your IP address. The hub's own pages (where you are signed in), the admin portal and the reader don't send it. The counter is Plausible, software we run on Meadhall's own server, not a service run by anyone else. It uses your IP address and user-agent only to work out your country and a visitor hash that changes every day, and keeps neither. Of the address, Plausible keeps the page's path (not anything after a #) and the campaign tags in it (utm_source, utm_medium, utm_campaign, utm_content, utm_term, ref and source), not the rest of the query. What is kept is counts: by page, by referring site, by browser, by operating system, by device type and by country, with no record of you. Pressing Sign in adds one "Sign in" count, carrying the address of the page you were on (without anything after a # or ?), the page you came to it from (Plausible doesn't keep a referrer from Meadhall's own pages) and nothing about you or your Discord account. The counts are for knowing which pages and sources bring people to Meadhall. If the counter can't be reached, or your browser blocks it, the page works the same and the visit isn't counted.

Stored in your browser

The legal basis

We process your data because you asked us to provide the service by signing up (performance of a contract), and, for technical and support audit logs, for our legitimate interest in keeping the service working and secure. Payment records are kept because the law requires a business to keep its financial records (legal obligation). An alliance's record of a former CP lead, kept after they leave or delete their account, rests on legitimate interests too: keeping the alliance's limit on that person in force if they come back (see "Deleting your account"). So does the record that someone redeemed a founder code, kept after their account is deleted: keeping the offer to one code a person.

Encryption

So a copy of the database on its own shows random ids and ciphertext, not who you are.

What Meadhall's support tools show

To answer support requests and keep the service running, Meadhall's operator can look up an account or a group in a private admin tool, reachable only from one network and only after signing in with two-factor authentication. It shows the details that aren't encrypted per field: ids, dates, a group's name, game, server, kind and plan (including its source and end date, and whether its trial was extended), how many members, leaders and officers it has, whether it's linked to Discord and to other groups, when it was last active, how much screenshot storage it uses, which groups an account is in and with what role, how many sign-in sessions it has open, and its time zone and language. It doesn't show anything encrypted with your key or your group's key: not your email or Discord id, not member names, and not what a group has written. The one name it shows is a group leader's, from the separate copy described under Encryption, so support can tell who leads a group and get in touch about it; a member who isn't a leader is never named there.

The operator can change a plan that is not managed by Paddle, extend a group's trial once by up to 14 days, or suspend and restore a group for abuse when a support request requires it. A suspended group remains readable and exportable but cannot be changed; its leaders see the suspension reason. Meadhall keeps the suspension state, reason and time until the group is restored. The admin audit records the operator, time, action, group id, reason and result.

The operator can end every sign-in session on an account when a support or security request requires it. On a verified erasure request, the operator can also start the same permanent account deletion described below. The admin audit records the operator, time, action, account id, support request reference and result. It does not record the account's name, email or Discord id.

When a support request, abuse report, data bug or legal request requires access to a group's encrypted contents, the operator can open an audited, read-only break-glass session for 15, 30 or 60 minutes. The append-only admin audit is written before access and keeps the operator, group id, category, free-text reason, window and result for two years. The short-lived AWS session is tagged with the group, audit id and administrator, is attributed in AWS CloudTrail, and cannot write group data. An alert is sent before every session. The group's leaders receive a notice that access was requested, containing the date and category but never the free-text reason: on the group's Dashboard for 7 days (each leader can hide it for themselves sooner), and as a Discord direct message from the bot to each leader whose account is linked to Discord; that wording remains accurate if AWS refuses to create the session. During the window, the private admin portal can show paged roster, DKP, claim, loot and event records, including member names and group-written details opened with the group's key. The server checks the administrator, group and expiry on every read. Temporary AWS credentials never leave the server. The browser keeps only a random session handle in memory; Meadhall stores only its one-way hash with the group, audit, category, administrator and expiry until the short-lived row expires, never the free-text reason.

The operator can create batches of single-use plan licence keys with a plan, duration or end date, count and administrative note. A generated key is shown once for immediate download and is never stored by Meadhall or written to its logs or the audit record (a key we email to someone who paid in crypto stays in that email, below). Meadhall stores only a keyed hash made inside AWS KMS, the batch details and counters, the hashes belonging to each batch, and which administrator created it, so a database copy cannot reveal a usable key. When a group leader redeems a key, Meadhall records that the hash was redeemed, the group and time, updates the batch counters, and puts the resulting plan and end date on that group's entitlement record. An operator or Finance administrator can revoke hashes that have not been redeemed; Meadhall keeps the revoked state and time, and the append-only audit keeps the administrator, reason and before/after counters. To limit guessing, it also keeps an account-linked hourly counter of failed licence-key attempts for up to two hours. A founder code (a key that makes a founding group) also marks the group as a founding group, kept after its Founder plan ends so its founders' discount can be applied, and puts a note on the redeeming leader's account (the group and when), because each person can redeem only one; that note is in the account's data download and is deleted with the account. So that deleting an account and signing in again can't get a second code, Meadhall also keeps a record of when the code was redeemed, under a keyed hash of the leader's Discord account id (the same keyed hash, made inside AWS KMS, that finds your account when you sign in; never the id itself). It names no account or group. It is not deleted with the account: it's kept while founder codes are offered, and deleted when that offer ends. While you have an account, it's in your data download.

Once a night, Meadhall reads the operational row types, counts-only group lifecycle counters and up to seven days of technical usage logs needed to produce one service-wide statistics row for the preceding complete UTC day. Group create/delete stream records increment those daily counters exactly once; random event markers retained for up to two years prevent a retried stream record from incrementing a counter twice. The isolated job briefly uses account and random group row keys to classify source rows and count distinct groups using each feature, but excludes member rows and does not log or store the source ids. The statistics row contains numbers only: current, created and deleted group and account totals, recently active totals, linked Discord totals, group totals by game, server, kind and size band, current plan and trial totals, 1/4/12-week retention cohorts, rolling seven-day feature counts, daily bot-command counts, Discord's own approximate counts of the servers and users that have added the bot, and daily counts of Add to Discord clicks by page and of server links by how they ended. It contains no account, group or Discord ids, no names, no sealed values and no per-user rows. Meadhall uses these totals to operate the service and decide which features are useful; there are still no analytics cookies or third-party tracking scripts.

When a group on a Lineage 2 server the hub doesn't list (Other server, or a Scryde world) types its server's name, Meadhall also counts that name, separately from the group, so the most-used servers can be added to the list. The count keeps only the name as last typed, the game version it was typed for, how many times it has been chosen, and the dates it was first and last chosen: no group, account or member. A group that changes its server's name adds one to the new name; the old name keeps its count. These counts are server names, not personal data, so they aren't encrypted per field (they are still covered by the database's encryption at rest), and only Meadhall's operator reads them.

Where it's stored

Meadhall runs on Amazon Web Services. Your data is stored in AWS's London region (eu-west-2), in the United Kingdom. The exception is the public pages' visit counts, which are kept on Meadhall's own server in the UK (see Counting visits to the public pages). The website itself is delivered through AWS CloudFront, a network of servers around the world, which handles each request close to you.

How long we keep it

Deleting your account

On the hub's account page, under "Delete my account", type DELETE and confirm. If you ask us to erase your account, the operator can start this same process after verifying the request. Meadhall then:

  1. ends all your sessions;
  2. removes you from every group and withdraws your join requests (if you were a group's only leader, leadership passes to the member with the most permissions, the longest-serving if several tie; a group left with no one in it is deleted);
  3. destroys your account's key, so every field encrypted with it is unreadable, in backups too (within five minutes: our servers keep a key they've used in memory for up to that long);
  4. deletes your account, your characters, the public tools' saves synced to it, and the record that links your Discord id to it;
  5. deletes the copies of your characters that groups above yours kept.

If you redeemed a founder code, the record of when (under a keyed hash of your Discord account id, naming no account or group) is kept after your account is deleted, so the same Discord account can't redeem a second one; it's deleted when the founder-code offer ends.

A group of your own too big to delete at once is deleted in several steps while the account page stays open. If the page is closed first, your sessions have already ended and the account can't be used, and the remaining steps (the key's destruction among them) are finished automatically, usually within a day (a very large group can take a few nights), or sooner when you next sign in. While a deletion of an account or a group is under way, Meadhall keeps a note of its random id and when it started, nothing else, so the deletion can be found and finished; the note is deleted when the deletion finishes.

Some things you added to a group belong to that group and are encrypted with its key, not yours: for example event sign-ups and their notes, soft reserves, loot council wishlists, attendance, raid timer records, clan entries, DKP entries and claims (with their screenshots) and the loot log. These may stay in the group after you leave or delete your account, until the group removes them or is deleted. A group's leader can delete the group, which destroys its key.

If you were a CP lead in an alliance, the alliance keeps a record of it after you leave or delete your account: which CP, your account id, your Discord id (encrypted with the alliance's key), when it was set and by whom. The legal basis is the alliance's legitimate interest in keeping the limit it set on you in force: it's kept so the limit applies again if you come back, with the same account or the same Discord account, and if you do come back, the record is still there and applies at once. Your account keeps only a pointer to the alliance holding the record (the record itself is kept in the alliance), so your data export can find it and list it; the pointer goes when the record is cleared, when the export finds the record or the alliance gone, or with your account. It's removed when someone in the alliance who can make CP leads clears it while you're a member, or when the alliance is deleted; or ask us (below) and we'll remove it.

You can also remove Meadhall's access from Discord, under Discord's settings for Authorised Apps; that doesn't delete your Meadhall account.

Cookies

Meadhall uses only the cookies it needs to sign you in. There are no advertising or analytics cookies, so there's nothing to consent to.

Who else is involved

We don't sell your data, share it with advertisers, or use it to train anything. We would disclose it only if the law required us to.

Your group's leaders and officers see what the group holds about its members, such as names, roles, characters signed up to events and notes. What you put into a group is visible to that group's members as the hub shows it.

Your rights

You can see and correct your profile and characters on the account page, download a copy of your data there (a JSON file: your account, your characters, the public tools' saves synced to your account, and, for each group you're still in, your own records there: sign-ups, soft reserves, wishlists, what you recorded, DKP and clan entries about you), and delete your account there at any time. You can also ask us to correct or erase your data, or to restrict or object to how we use it, by contacting us (below); we answer within one month. If you're in the UK you can complain to the Information Commissioner's Office (ico.org.uk); in the EU, to your local data protection authority.

Children

Meadhall is not directed at children. You must be at least 13 to use it, or 16 in the EU/EEA where the law requires it, and never below the minimum age Discord sets in your country. If we learn an account belongs to someone younger, we'll delete it.

Changes to this policy

If we change what we collect or how we use it, we'll update this page and the date at the top, and for significant changes say so in the hub before they take effect.

Contact

Nathan Preen (privacy@meadhall.app)