At a glance
ChampNet uses Discord to confirm identity, server membership and authorised roles. It also keeps limited operational records so access can be secured, edits can be attributed and misuse can be investigated. Authorised users may optionally create personal API keys for approved integrations.
Where it comes from and what is required
Discord supplies identity, membership, role and OAuth authorisation data. ChampNet derives sign-in/session records from the authentication service and the connection details sent through the trusted reverse proxy, including request time, IP address and browser/client user-agent. Audit, revision and attribution data comes from actions taken inside the knowledge base. API-key names, scopes, expiry choices and permitted IP/CIDR ranges are supplied by the user creating or managing a key.
Using ChampNet is optional, but the Discord identity, membership and technical session information above is required to provide access securely. If it is not supplied, ChampNet cannot sign you in. Knowledge audit, revision and attribution data is created when you add, edit, archive or restore content. API-key records and security events are created only if you create or use an API key.
What ChampNet collects
| Data | What that includes | Why it appears |
|---|---|---|
| Discord identity | Your Discord display name or username, avatar and Discord user ID. | Shows who is signed in and supports role-based access and attribution. |
| Internal email placeholder | A generated value based on your Discord ID ending in @discord.invalid. This is not your Discord email address and cannot receive mail. | The authentication system requires an email-shaped internal identifier. ChampNet does not request the Discord email permission. |
| Discord authorisation | OAuth access or refresh tokens and their expiry information, where supplied by Discord. | Allows ChampNet to verify your identity, server membership and current roles. Tokens are not shown in the admin portal. |
| Sign-in and session record | Signed-in time, last-active time, user, Discord ID, IP address, session expiry and client/browser user-agent. | Secures sessions, detects misuse and supports incident investigation. |
| Knowledge audit events | Time, operation and result; actor name, Better Auth user ID and Discord ID where available; web/API source; non-secret API-key ID and name where applicable; client IP; request ID; related article; and old/new revision references. | Provides accountability for article creation, updates, archives and restoration, and allows one change to be traced without exposing its credential. |
| Article revisions and attribution | Full article snapshots, revision numbers and the identity shown as creator or editor, together with the source and non-secret change context needed to reconstruct the history. | Supports review and rollback without rewriting earlier revisions. The article content and non-identifying revision history may remain after an account erasure. |
| API-key record | A user-chosen display name; non-secret key ID and visible prefix/start; owner; immutable scopes; permitted IPv4/IPv6 addresses or CIDR ranges; creation, update, last-use, expiry and revocation times; and a cryptographic one-way hash of the credential. | Provides controlled integration access. The plaintext secret is shown only once when created and is never stored, shown again or written to application logs. |
| API-key security events | Events such as key creation, rename, IP-policy change, revocation, wrong-IP use, reuse of a revoked or expired key, an unauthorised owner, or insufficient scope. An event may contain the actor IDs, non-secret key ID, source IP, request ID and result. | Enforces access policy, detects misuse and supports a short security investigation. Configured CIDRs are not disclosed to an API caller whose source IP is rejected. |
| Necessary cookies | Short-lived OAuth state cookies and the ChampNet session cookie. | Completes sign-in, prevents request forgery and keeps you signed in. ChampNet does not use advertising cookies. |
Why the data is used
ChampNet processes this information for the following limited purposes:
- authenticating users through Discord and applying Champions or Management access rules;
- providing and maintaining the private knowledge base;
- recording who created, changed, archived or restored content and maintaining immutable article revisions;
- issuing and enforcing user-owned API keys, their scopes, expiry and mandatory IP/CIDR restrictions;
- protecting accounts and systems, throttling failed authentication attempts and investigating security incidents; and
- responding to access, correction, objection and erasure requests.
Legal basis
The main legal basis is legitimate interests under UK GDPR Article 6(1)(f): operating a restricted community resource, controlling access, preserving content accountability and keeping the service secure. ChampNet aims to collect only what is proportionate for those interests. You may object to processing based on legitimate interests; see “Your rights” below.
Authorising Discord sign-in allows the technical account connection, but ChampNet does not treat the OAuth screen as blanket consent for unrelated processing.
Automated access check
ChampNet automatically checks the configured Discord server and role information to allow or deny access. This is a security rule for this voluntary community resource, not profiling, and ChampNet does not make solely automated decisions that produce legal or similarly significant effects. If the role check is wrong, contact Ryan for a manual review.
How long information is kept
Reverse-proxy boundary: the separate Nginx Proxy Manager host may create its own access or error logs before traffic reaches ChampNet. Those logs are not visible in the ChampNet admin portal and must be disabled or placed under a matching retention rule on that host.
Records may be isolated for longer only where reasonably necessary to investigate an active security incident, establish or defend a legal claim, or comply with a legal obligation. Where that exception applies, access is restricted and the data is deleted when the need ends.
Who can access or receive it
Detailed admin records are restricted to Ryan and users who currently hold the configured Olilo Management Discord role. Ordinary Champions do not receive access to the admin portal. Authorised knowledge-base users may see the creator or last-editor attribution displayed with articles. Each user can see and manage only their own API keys and permitted CIDRs in Settings.
Discord is the external identity provider. Discord receives the authorisation request and returns the permitted identity and membership information to ChampNet. Discord handles information under its own privacy policy and may process it outside the UK under its own safeguards.
ChampNet does not sell personal data. Information may be disclosed where required by law, or to infrastructure providers only where necessary to operate or secure the service.
How information is protected
The public service uses HTTPS in transit. Access is controlled through Discord authentication, current role checks, mandatory API-key scope and IP/CIDR checks, and separate admin authorisation. Authentication and knowledge data are held in separate restricted databases under separate service identities. Authentication secrets terminate at the security gateway: OAuth tokens, session cookies, raw API keys and API-key hashes are not forwarded to the knowledge application or displayed in the admin portal. Short retention periods reduce the amount of detailed security data held.
No online service can promise absolute security. If you believe an account, token or ChampNet record may have been exposed, contact Ryan promptly without posting sensitive details in a public Discord channel.
Your data protection rights
Depending on the circumstances, UK data protection law may give you the right to:
- ask for access to and a copy of your personal data;
- correct incomplete or inaccurate data;
- request erasure of your ChampNet account, sessions, linked OAuth account, API keys and associated personal data;
- restrict processing or object to processing based on legitimate interests; and
- receive portable data where the legal requirements for portability apply.
Your right to object: you may object at any time to processing based on ChampNet's legitimate interests. Explain your situation to Ryan using the contact route below. The processing will be reviewed and stopped unless there are compelling legitimate grounds to continue or it is needed for legal claims.
Identity may need to be verified before a request is completed. Account erasure revokes access and removes the linked sessions, OAuth credentials, API-key records and permitted CIDRs. It does not automatically require deletion of non-personal article content or the immutable revision chain; identifying attribution can instead be removed or replaced. A user who remains authorised by Discord may create a new ChampNet account by signing in again. Legal or security exceptions may also apply and will be explained if relevant.
Contact and complaints
Interim privacy contact: Ryan on Discord at @ryanstead.
Start with a brief request only. Do not send passwords, OAuth tokens, identity documents or other sensitive information by ordinary Discord message. Ryan will arrange a more suitable private channel if evidence is needed.
Data protection requests and complaints will be acknowledged within 30 days. The usual statutory response period is one month; if a lawful extension is needed for a complex request, you will be told why and when to expect a response.
If you remain unhappy, you can complain to the UK Information Commissioner's Office using its data protection complaints service.