← Back to dashboard
Legion Companion — Privacy Policy
Last updated: 2026-09-10
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. (No payment-card data is collected by the bot itself; if/when Stripe is integrated, billing data is held by Stripe under their 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.
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. (When Stripe is integrated, that data is held by Stripe directly; we only receive a customer/subscription ID.)
- 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 (future): if/when a paid plan is selected, you will be redirected to Stripe Checkout. Stripe handles your payment information directly. See <https://stripe.com/privacy>.
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: 6-hour snapshots, last 14 retained.
- 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.