Repository navigation
Conversation
Consent was only ever a PostHog event, so the database could not tell a participant who ticked the consent checkbox from one sent past the deck with ?skipOnboarding=1. The portal now sends consent_given on initiate when the participant advanced past a required checkbox, and the server stamps conversation.consent_given_at with its own clock. Skipped decks, older portals and every existing row stay null. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
patcon
enabled auto-merge
October 22, 2026 00:51
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-ticketed from Slack message to @robertrinh
Currently, consent isn't stored anywhere permanent in the database, and is assumed implicitly agreed when recording. But since any user could have arrived via
?skipOnboarding=1, we can't clearly confirm consent. This means we can't support hosts should they ever need to defend that it was given.Places consent leaves trails:
platform_presence(for 90 days) for funnel trackingNo UI change. Just makes it so that consent is explicitly recorded in database via
consent_given_attimestamp for each entry inconversationstable. Every conversation before today will be NULL. Every skipOnboarding arrival from now on will be NULL.