You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Undisclosed hourly GitHub network call in every skill preamble (update-check) #1081
This happens regardless of the user's `telemetry` setting — including when `telemetry: off` is set. The request is never disclosed in the README privacy section, the telemetry consent prompt, or the setup flow.
Why this matters
The telemetry consent UI describes what data is sent to Supabase. A user who sets `telemetry: off` reasonably expects no outbound network activity tied to gstack usage. But the GitHub fetch still fires, exposing their IP address to GitHub once per hour during active sessions.
When telemetry is non-`off`, the slow-path fetch also fires a secondary Supabase POST:
curl -X POST "${SUPA_URL}/functions/v1/update-check" \
-d "{\"version\":\"$LOCAL\",\"os\":\"$_OS\"}"
This Supabase ping is correctly gated on telemetry opt-in, but the GitHub fetch is not.
The update check cache TTL is 60 minutes for `UP_TO_DATE` results and 720 minutes for `UPGRADE_AVAILABLE`. So in a typical day of active gstack use this fires roughly once per working session.
Proposed fix
Add one sentence to the README privacy section and the telemetry consent prompt that covers the update check:
Update checks: Once per hour, gstack fetches the current version number from GitHub to check for updates. This is a plain GET request that reveals your IP to GitHub. Set `update_check: false` to disable it entirely.
The `update_check: false` escape hatch already exists — it just isn't mentioned near the privacy disclosure.
No code change needed if the fix is documentation only. If the team prefers to gate the GitHub fetch behind the telemetry consent (rather than just document it), that's a separate call.
@burakbengi Default-on GitHub requests still occur while the privacy statement implies no data is sent before telemetry consent. That privacy and behavior mismatch remains unresolved.
Fixed in v1.91.92.0 (3b7254a, #3144). The README's Privacy & Telemetry section and the telemetry consent text now match what gstack does: the update check's network call, what telemetry sends, the session tracking that isn't gated, and outside-review egress (on by default, with a first-send notice and codex_reviews to turn it off). Thanks for flagging the gap.
Activity
docs(privacy): disclose hourly GitHub VERSION fetch in update-check
docs(privacy): disclose hourly GitHub VERSION fetch in update-check
time-attack commentedon Jul 15, 2026
@burakbengi Default-on GitHub requests still occur while the privacy statement implies no data is sent before telemetry consent. That privacy and behavior mismatch remains unresolved.
fix(gstack2): overlay 1078 stops key-byte echo; drop update-check fro…
v1.91.92.0 feat(outside-voice): enforce codex_reviews consent in the …
capy-ai commentedon Oct 11, 2026
Fixed in v1.91.92.0 (3b7254a, #3144). The README's Privacy & Telemetry section and the telemetry consent text now match what gstack does: the update check's network call, what telemetry sends, the session tracking that isn't gated, and outside-review egress (on by default, with a first-send notice and
codex_reviewsto turn it off). Thanks for flagging the gap.v1.91.92.0 feat(outside-voice): enforce codex_reviews consent in the …