Privacy Policy
Who runs this site
ryantsuji.dev is a personal blog operated by Ryan Tsuji (個人サイト). Contact: hello@ryantsuji.dev.
What data is collected
- Authentication info from your OAuth provider (GitHub or X): user ID, display name, primary email, avatar URL. Stored when you sign in.
- Engagement actions you take: comments you post (text + your name) and likes. Stored under your authenticated account.
- Page view counts (per post, aggregate). Stored in our database to display engagement totals.
- Per-page view metadata: path, referrer,
utm_*query parameters, viewport size (width/height), browser locale, and a user-agent string truncated to 256 characters. Sent on every page navigation to our own analytics endpoint (/api/track) and stored in our BigQuery dataset. - Anonymous session identifier: a random UUID generated in your browser and kept only in
sessionStorage. It is discarded when you close the browser tab. No cookies are set for tracking, and the UUID is not linked to your authenticated account or to your IP address. - Network metadata (IP, raw user agent) is processed transiently by Cloudflare for routing and DDoS protection. The IP is not persisted to our database; the user agent is captured server-side from the request header and stored truncated (≤ 256 chars) alongside the page view metadata above.
Why it's collected
To identify commenters, attribute likes, and show aggregate view counts on posts.
Where data lives
- Neon Postgres (US region) — user accounts, comments, likes, view counts.
- Google BigQuery (asia-northeast1 region, our own project) — page view metadata described above (table
ryan.web_events). Used only by us for first-party analytics on the blog; not exposed to or shared with any external tooling. - Cloudflare Workers — request handling and edge cache. No persistent user data stored here.
- GitHub OAuth / X OAuth 2.0 — handle initial sign-in handshake. Their respective privacy policies apply on those services.
Sharing
No data is shared with marketing, advertising, or third-party analytics SaaS. Analytics is self-hosted on our own BigQuery dataset, not sent to Google Analytics, Plausible, Fathom, or any equivalent external service. The only third parties involved in this site are the infrastructure providers listed under "Where data lives" above.
Retention & deletion
Data is retained while your account exists. Email hello@ryantsuji.dev to request account and data deletion; all rows tied to your user ID will be removed within a reasonable window.
Your rights
You may request access, correction, or deletion of any personal data we hold about you, consistent with GDPR / APPI / CCPA principles. Use the contact above.
Changes
This page may be updated as the site's features change. The "Last updated" date above will reflect any change.