1.9 KiB
1.9 KiB
type, title, description, tags, timestamp, story_id, status
| type | title | description | tags | timestamp | story_id | status | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| User Story | Enrich portal and game login IPs | Login audit events include cached approximate location and network intelligence from ProxyCheck.io. |
|
2026-08-01T18:43:58Z | US-007 | verified |
User Story
As an operator, I want portal and registered game logins enriched with network context, so that suspicious access can be investigated.
Acceptance Criteria
- Given a public login IP, then ProxyCheck can provide city, region, country, coordinates, timezone, ASN, provider, risk, and anonymity classification.
- Results are cached in PostgreSQL for 48 hours by default.
- Provider failures are cached briefly and do not deny portal or registered game login.
- Private, loopback, reserved, documentation, and mapped-private addresses are never sent to ProxyCheck.
- Forwarded web IP headers are ignored unless trusted-proxy handling is explicitly enabled.
- Unknown game accounts do not trigger paid ProxyCheck lookups.
- Login events and IP observations retain the available classification and approximate location.
- Users and administrators can see available location and classification in audit views.
Implementation
packages/network/src/index.tsapps/web/src/lib/ip-intelligence.tsapps/web/src/app/auth/discord/route.tsapps/web/src/app/api/velocity/access/route.ts