jameschang.co [experience] [/now] résumé.pdf ↓

james chang / privacy

// last updated

Privacy policy.

What jameschang.co collects, how the WHOOP / Spotify / Plex integrations work, how Google account access is handled, and how Google Analytics is used.

/01

what this site collects

jameschang.co is a personal portfolio and résumé site. It is a static HTML site hosted on GitHub Pages. It does not use cookies, does not collect form submissions, and does not store any visitor data on its own servers.

Google Analytics 4 (measurement ID G-B3HW5VBDB3) is used for anonymous traffic analytics (page views, referral sources, device type). Google Analytics uses cookies to distinguish unique visitors. IP addresses are anonymized by default in GA4. No personally identifiable information is collected from visitors.

/02

whoop integration

This site displays the site owner's own WHOOP health and recovery data (recovery score, sleep, strain, HRV) on the /now page. This data is fetched from the WHOOP API using the site owner's own authorized account. No other user's WHOOP data is accessed, stored, or displayed. The WHOOP API integration accesses only the site owner's personal data and is used solely for personal display purposes.

/03

spotify integration

This site displays the site owner's own recently-played tracks and (when a podcast is actively playing) the currently-playing podcast episode from Spotify on the /now page. This data is fetched from the Spotify Web API using the site owner's own authorized account. No other user's Spotify data is accessed, stored, or displayed. The integration uses read-only scopes (user-read-recently-played, user-read-playback-state) and is used solely for personal display purposes.

/04

plex integration

This site displays the site owner's own recently-watched library entries (movie and TV titles, year, episode metadata) from a personal Plex Media Server on the /now page. The Plex API is queried via the server's relay URL using a static, server-scoped API token; only the owner's library metadata is read. No other user's Plex data is accessed, stored, or displayed. The token is stored as a GitHub Secret and used solely for personal display purposes.

/05

public activity feeds

The /now page also displays the site owner's own public activity from these additional APIs:

  • GitHub public events — recent commits, PRs, and releases across the owner's public repos
  • MLB Stats API — Los Angeles Dodgers standings and schedule
  • Goodreads RSS — books the owner is currently reading or has recently read
  • The Fantastic Leagues public standings API — the owner's fantasy baseball team rank in the OGBA League
  • Thirsty Pig hitlist JSON — a public list of restaurants the owner wants to try, fetched client-side from thirstypig.com/places-hitlist.json. The thirstypig.com server CORS-locks responses to https://jameschang.co, so no visitor data crosses the origin.

The /now page also surfaces upcoming events from a personal Google Calendar named “Events” via the calendar’s public iCal feed (the “Get a secret address in iCal format” URL). The URL is stored as a GitHub Secret and fetched server-side hourly; only event summary, location, URL, and start/end dates are extracted, and the feed is opt-in by virtue of the site owner choosing which entries to make public on that calendar. No other person’s calendar data is accessed, stored, or displayed.

All sources expose only the site owner's own public data; no visitor data is accessed, collected, or stored.

/06

google account access

The “jameschang.co” Google app (what it does) is a personal tool. It is used only by the site owner, to connect the owner's own Google account (including Gmail) to software the owner runs for personal use. It is not offered to the public, and no one else's Google data is accessed.

Google user data is used only to provide the features the owner asks for. It is not sold, not used for advertising, not shared with third parties except as needed to provide those features, and not used to train general-purpose AI models.

jameschang.co's use and transfer of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Access can be revoked at any time from your Google Account permissions page.

/07

third-party links

This site links to external services (LinkedIn, GitHub, Calendly, Amazon, Instagram, etc.). Those services have their own privacy policies. This site does not control or collect data from those services.

/08

contact

Questions about this policy: jimmychang316@gmail.com.