← Back to dashboard
Legion Companion — Privacy Policy
Last updated: 2026-09-11
This Privacy Policy describes the data Legion Companion ("the bot," "we," "our") collects, why it is collected, how it is used, and the choices users have. By inviting Legion Companion to a Discord server or logging into the dashboard, you agree to this policy.
Data controller. Legion Companion is operated by Royal Vanguard LLC, an Ohio limited liability company, which is the data controller for the purposes of GDPR and comparable laws. Contact: [email protected]
Legion Companion is an independent fan-made Discord bot for Aion 2 legion management. It is not affiliated with NCSoft Corporation.
1. Data we collect
1.1 Discord-side (collected automatically when the bot is in your server)
When the bot is added to a Discord server, we store the following per-server records:
- Server (guild) information: Discord server ID, server name, owner ID, joined-at timestamp, configured language and timezone.
- Slash command activity: command name, invoking user's Discord ID and display name, target IDs (event ID, member ID, etc.), and a free-text "detail" field — stored in the audit log for officer accountability.
- Subscription status: trial start/end dates, current plan, billing status, and the Stripe customer and subscription identifiers for your server. Payment cards never reach us — Stripe processes the payment and holds that data under its own privacy policy.
1.2 Member data (entered by officers via /register_member_to_legion or self-submitted via /legion_application_menu)
- Discord identity: user ID, username/display name as it appears at registration time.
- In-game character name (string entered by the officer or the applicant).
- shugo.gg profile URL (optional, entered by the officer or the applicant).
- Auto-imported from shugo.gg/NCSoft public APIs when a shugo URL is provided: character name, class, race/faction, level, server, item level, combat power, and ranking standings (Abyss / Nightmare / Transcendence / Ascension War / Harmony Arena / Discord Arena).
- Attendance records: which events a member RSVPed to and was present for, recorded by officer voice-channel scans during events.
- Screenshots you upload to
/scan_profile_cp, /scan_profile_ilvl or /scan_rankings: the image is read on our server to pull out the numbers on it (Combat Power, item level, ranking figures), and only those numbers are stored. The image itself is never saved — it exists in memory for a few seconds. The copy you posted stays in your Discord channel, under Discord's own retention.
1.3 Application submissions (/legion_application_menu)
When a member clicks "Apply to Legion" and submits the modal, we store:
- The applicant's Discord ID + display name at submission time.
- Their entered in-game name.
- Their entered shugo.gg URL (optional).
- The application status (pending, approved, denied), reviewer's Discord ID, decision timestamp, and any decision reason.
1.4 Dashboard-side (collected when an officer logs in)
- OAuth identity: Discord user ID, username, avatar hash, and the list of guilds you share with the bot — fetched fresh at each login via Discord's OAuth API and cached only in your server-side session.
- CSRF token + selected guild: stored in your encrypted, signed session cookie. Cookie is
HttpOnly, SameSite=Lax, and Secure in production.
1.5 Operational logs
- Application logs (
logs/legion.log): rotating file containing command names, exception stack traces, and event IDs. Personal information appears only as Discord IDs and display names within audit-log lines.
- Database backups (
backups/): full snapshots of the SQLite database every 6 hours, retained for 14 days.
2. What we DO NOT collect
- Message content outside of slash command parameters. We do not log or read regular chat messages.
- Voice audio. The
/scan_attendance command reads only the list of users present in a voice channel for attendance purposes; no audio is captured or transmitted.
- Direct messages between users.
- Payment-card or banking information. Stripe holds that directly; we receive only a customer and subscription identifier.
- Browser fingerprinting, analytics trackers, or third-party cookies on the dashboard.
- Data from servers you have not explicitly invited the bot to.
3. Why we collect it
- Provide the service: render rosters, leaderboards, attendance reports, event reminders, and boss timers.
- Maintain accountability: the audit log lets officers see who did what.
- Enforce subscription / trial state: tied to your Discord server ID.
- Honor application workflows: forward applications from members to officers and DM applicants on a decision.
We do not sell, rent, or share your data with third parties for advertising or analytics purposes.
4. Third parties
Legion Companion makes outbound requests to the following services:
- Discord (
discord.com): required for the bot to function. Discord's privacy policy applies: <https://discord.com/privacy>.
- shugo.gg: when an officer or applicant provides a shugo.gg URL, we fetch the character profile from that URL (and from NCSoft's public APIs that shugo.gg also reads) to import combat power, item level, class, race, and rankings. We do not send any personal data to shugo.gg or NCSoft beyond the public character lookup parameters embedded in the URL.
- Stripe: when you subscribe you are sent to Stripe Checkout, and billing is managed on Stripe's own pages. Stripe handles your payment information directly and acts as the merchant of record for the sale. See <https://stripe.com/privacy>.
- Oracle Cloud: our server runs in Oracle's data centre in the eastern United States, which is where your server's data is stored.
- Cloudflare: carries the traffic between you and us, provides the HTTPS connection, and stores our off-site backups.
5. Data retention
- Server (guild) records: retained while the bot is in your server. When the bot is kicked, the records remain in our database to preserve audit history; you may request full deletion (see §7).
- Audit logs: pruned automatically after 90 days.
- Operational logs: rotated at 10 MB per file, last 5 files retained.
- Database backups: a copy every 6 hours on the server (last 14 kept), plus one copy each night in off-site storage, kept 30 days and then deleted automatically. A deletion you ask for is applied to the live database straight away; the backups holding it age out within 30 days.
- Application submissions: retained indefinitely with their decision status until the parent guild requests deletion.
6. Your rights
Depending on your jurisdiction (e.g. GDPR, CCPA), you may have the right to:
- Access the data we hold about you.
- Request correction of inaccurate data.
- Request deletion ("right to be forgotten").
- Object to processing for specific purposes.
- Receive a copy of your data in a portable format.
To exercise any of these rights, contact the bot operator (see §9).
7. Deletion requests
You can request deletion of your data at any time:
- Per-member: ask a server officer to run
/remove_member, which deletes your registered profile, ranking data, party assignments, and attendance records for that server.
- Whole-guild: a server admin may kick the bot to immediately stop new collection. To purge historical records (audit log, subscription records, application history), contact the bot operator.
- Dashboard session: log out via the dashboard's logout link to clear your session cookie.
8. Security
We use the following safeguards:
- Discord OAuth 2.0 with state-parameter CSRF protection on login.
- Server-side validation that you are an officer in a registered guild before granting dashboard access.
- CSRF tokens on all state-changing dashboard requests.
- HTTP-only, SameSite=Lax, Secure session cookies (in production).
- Single-instance enforcement on the bot process via PID lockfile.
- Multi-tenant data isolation: every database query is scoped by the server (guild) ID.
- Officer-role gating on every officer-only command and persistent-button action.
No system is perfectly secure. If you believe there has been a security incident affecting your data, contact the bot operator immediately.
9. Contact
Questions or requests under this policy — including data access, correction or deletion — should be directed to:
Royal Vanguard LLC Email: [email protected] Support: https://discord.gg/HtAK6TVkH6
We aim to respond to verified requests within 30 days.
10. Changes
We may update this policy as the service evolves. Material changes will be announced via the bot's /subscription or /commands output and noted in the "Last updated" date at the top of this document. Continued use of the bot after a change constitutes acceptance.