PostHog-observability

Behoud de telemetrie-, identiteits-, privacy- en releasecontracten van het R+D Dashboard.

PostHog-observability

Alle repository-telemetrie behoort tot het RD Dashboard PostHog-project (279829, US Cloud). Buildtools wijzen een ander project-ID af. Verbind ontwikkelings-, implementatie- of bronkaarttools nooit met een ander PostHog-project.

Implementatieconfiguratie

Web-, admin-, alle documentatie- en Kinky Makers-implementaties gebruiken:

  • NEXT_PUBLIC_POSTHOG_KEY
  • NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
  • POSTHOG_PROJECT_ID=279829
  • POSTHOG_API_KEY als optionele persoonlijke sleutel die alleen op de server wordt gebruikt en alleen de benodigde rechten voor het uploaden van bronkaarten heeft. Zonder deze sleutel slaagt de implementatie, maar wordt het uploaden van bronkaarten overgeslagen.

Documentatie-implementaties vereisen ook NEXT_PUBLIC_SUPABASE_URL en NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY van de releasetrack, zodat de gedeelde dashboardsessie de numerieke User.id kan oplossen.

Native EAS-omgevingen vereisen EXPO_PUBLIC_POSTHOG_KEY, EXPO_PUBLIC_POSTHOG_HOST en EXPO_PUBLIC_APP_ENV. Native bronkaarten en symbolen vereisen bovendien POSTHOG_CLI_API_KEY, POSTHOG_CLI_HOST=https://us.posthog.com, en POSTHOG_CLI_PROJECT_ID=279829.

Supabase-Edge-functies vereisen POSTHOG_PROJECT_KEY, POSTHOG_HOST en DEPLOYMENT_ENVIRONMENT. Stuur mislukte verzoeken door naar Logs. Succesvolle apparaattelemetrie wordt door de webproxy samengevat als productgebeurtenissen.

Stel nooit een persoonlijke API-sleutel bloot via een variabele met het voorvoegsel NEXT_PUBLIC_ of EXPO_PUBLIC_.

Identiteitscontract

  • RAD-web-, documentatie-, native-, admin- en servergebeurtenissen identificeren een aangemelde persoon met de decimale applicatie-ID User.id, geserialiseerd als tekenreeks.
  • Kinky Makers gebruikt km:<Supabase auth UUID> totdat het het RAD-profielmodel deelt. Het voorvoegsel voorkomt onbedoelde samenvoeging van identiteiten.
  • Browser- en native clients roepen reset() aan bij het uitloggen en voordat er van een geïdentificeerd account wordt gewisseld.
  • Hardware is een device-groep. Een MAC-adres is nooit een persoons-ID of groepssleutel; gebruik de gehashte stabiele apparaat-ID.

Dankzij deze regels kan supportpersoneel vanuit een gebruikers-ID van de applicatie de web-, native-, server-, sessie-, fout- en logrecords van die persoon vinden zonder privéhardware-ID's bloot te leggen.

Vereiste context en privacy

Elke service voegt, indien beschikbaar, service_name, platform, environment, release- of versie-informatie en implementatie-ID's toe. Mislukte serververzoeken bevatten ook route, methode, verzoek-ID en traceparent.

Stuur geen aanvraaginhoud, toegangstokens, e-mailadressen, intieme inhoud, prompts of antwoorden, zoektekst, lokale bestandsinhoud, onbewerkte MAC-adressen of apparaatcredentials. De Docs-replay maskeert invoer en blokkeert apparaatpanelen. De Admin-replay is alleen structureel: tekst, invoer en attributen worden gemaskeerd en records, berichten, query's, afbeeldingen, video en canvas worden geblokkeerd. Beide oppervlakken onderdrukken lokaal het opnemen van console en netwerkverkeer. Querystrings en fragmenten worden verwijderd uit event- en replay-URL's. De analyticsvoorkeur van het bovenliggende domein biedt bezoekers een opt-out op canonieke browseroppervlakken.

Releaseverificatie

Na elke staging- of productie-implementatie:

  1. Bevestig dat een gebeurtenis de verwachte environment, Git SHA, implementatie-ID, applicatieversie, service en platform bevat.
  2. Bevestig dat web- en native gebeurtenissen voor hetzelfde RAD-account dezelfde numerieke distinct ID gebruiken.
  3. Bevestig dat uitloggen en vervolgens inloggen met een ander account geen waarschuwing over het samenvoegen van identiteiten bij de ingestie veroorzaakt.
  4. Bevestig dat web-, admin-, Kinky Makers-, native- en edge-functiegegevens kunnen worden gescheiden op basis van service en omgeving.
  5. Bevestig dat een testuitzondering via de geüploade bronkaart of native symbolen naar de bron kan worden herleid.
  6. Bevestig dat een serverfout een foutissue en een gecorreleerd OTLP-log veroorzaakt.
  7. Controleer of apparaatgebeurtenissen een device-groep bevatten en geen onbewerkt MAC-adres.

Het repository-runbook op docs/posthog-observability.md bevat de bijbehorende checklist voor operators.

Op deze pagina