Last updated 2026-05-04 · GDPR-aware · no ads · no tracking
c0d3x.org is a personal developer portal. It aggregates public tech news, displays your GitHub repositories, and lets you maintain a reading queue and writing area.
The site is single-tenant and not intended for general public registration. Access is restricted to an admin-controlled allowlist.
When you sign in via OAuth (GitHub, GitLab, Google) we store: your name, email address, profile image URL, and the OAuth provider token needed to sync your repositories.
When you sign in via magic link (Resend) we store your email address and a hashed verification token.
We store a database session (not a JWT) tied to your account. No passwords are stored.
Your email and name are used to identify your account and personalise the dashboard.
Your OAuth access token is used exclusively to sync your repositories on request — it is never shared with third parties.
Session data is used to keep you logged in across requests.
Your email address is also used to deliver two kinds of transactional email via Resend: the sign-in magic link, and — only if you have the "Weekly digest email" toggle on at Settings → Notifications — a weekly digest of top headlines from your selected sources, sent on Mondays. The digest is opt-in; toggle it off any time and no further digests are sent. No marketing email is ever sent.
Errors, breadcrumbs, and a 10% transaction sample are sent to Sentry for operational monitoring. The client side respects the per-account opt-out at Settings → Privacy → Telemetry.
Page-view counts are stored server-side in our own database for the dashboard "popular pages" widget. They are not shared with any third party.
The Next.js application server and the managed Postgres database are both deployed on Railway in EU Amsterdam (eu-west). Account data, OAuth tokens, posts, queue items, page-view counts, and audit logs all live in that database — they do not leave it for any other service.
Operational telemetry (errors, breadcrumbs, sampled performance traces) is sent to Sentry; the project region depends on the configured Sentry DSN and is not necessarily EU-hosted. Transactional email (magic-link sign-in and the optional weekly digest) is delivered via Resend.
Editorial content authored in the admin-only Sanity Studio at /studio (long-form posts, structured pages, the curated resource directory) lives in Sanity's managed dataset. The dataset region is configured on the Sanity project and is set to EU when available; the residency of the dataset depends on what region the project owner picked at provision time. The Sanity Studio is admin-only and only the admin's email + name reaches Sanity through the editorial flow — site visitors do not transmit data to Sanity by viewing pages backed by it (server components fetch on their behalf and respond from the cache).
OAuth providers (GitHub, GitLab, Google) operate from their own regions; using them to sign in necessarily transfers your email and profile to those providers under their terms.
You can delete your account and all associated data at any time from Settings → Privacy → Delete account. The action requires typing the confirmation phrase and is immediate and irreversible.
Alternatively, send a deletion request to the address below.
You can export all data tied to your account from Settings → Privacy → Export data — it returns a JSON file with your user record, prefs, posts, queue, and synced repos.
A daily retention sweep automatically prunes operational rows after the windows below: audit log entries after 365 days, page-view counters after 90 days, status-check samples after 90 days, rate-limit buckets after 24 hours.
User-owned data — your account record, prefs, posts, queue, synced repos, OAuth tokens — is kept until you delete it yourself; the sweep does not touch those tables.
No third-party analytics, advertising networks, or fingerprinting scripts are loaded. Page-view counts are recorded server-side, not tied to your account, and never leave the database.
The only outbound telemetry destination is Sentry (error reporting + sampled performance traces). When the opt-out at Settings → Privacy → Telemetry is on, a cookie short-circuits the client-side Sentry SDK before it initialises — no DSN handshake, no breadcrumbs, no transaction sampling. Server-side error reports continue so we can keep the site running.
Functional cookies (Auth.js session, CSRF, callback URL, theme) are listed in full at Settings → Privacy → Cookies.
For any privacy-related questions or data requests, contact: [email protected]