Skip to content
Beveiliging

Wie onze pipeline en transcripten kan lezen

Growth-OS bevat wat klanten tegen ons zeiden, onze pipeline en onze cijfers. Deze pagina zegt waar dat staat, wie erbij kan, wat de server weigert en wat een menselijke verantwoordelijkheid blijft.

Wat de server afdwingt

Je rol wordt op de server bepaald

Clerk levert wie je bent. Welk project en welke rol daarbij horen, zoekt de server zelf op. De browser kan geen project of rol meesturen en verwachten dat dat geloofd wordt.

Eén pad om te schrijven

Elke opgeslagen wijziging gaat door een gedeeld contract en een transactie die het project opnieuw controleert. Dubbel verstuurde opslagacties geven hetzelfde resultaat terug in plaats van een tweede record.

Live updates lezen alleen jouw project

Realtime loopt via een geauthenticeerde proxy met vaste tabellen, vaste kolommen en een projectfilter dat de server bepaalt. Het is een leeskanaal, nooit een manier om iets te schrijven.

Foutmeldingen lekken niets

Een fout krijgt een stabiele code en een referentie die support kan opzoeken. De details blijven bij de server, de audit-geschiedenis en Sentry.

Waar onze data staat

Alles wat blijft staan, staat in één PostgreSQL-database op Railway: accounts, vergaderingen met hun transcripten, bewijs, besluiten, doelstellingen en de financiële pagina’s. De database staat niet open op het publieke internet; de app en Electric praten er over het private netwerk mee. Migraties worden gegenereerd, gelezen en bewust uitgevoerd, nooit stilletjes bij het opstarten.

Redis draait ernaast voor werk dat mag wachten of opnieuw geprobeerd moet worden, zoals een extractie van een transcript. Die jobs lezen de eigendomsgegevens opnieuw voordat ze iets schrijven, want een job draagt geen persoon met zich mee.

Hoe rollen werken

Een rol geldt per organisatie of per project, en een expliciete projectrol gaat voor op wat je organisatiebreed hebt.

  • Owner: leest en bewerkt alles, beheert het team en Finance, en draagt eigenaarschap over met een apart commando.
  • Oprichter of admin: leest en bewerkt, beheert binnen het toegekende bereik, en kan Finance openen.
  • Editor: leest en bewerkt het dagelijkse werk. Geen teambeheer, geen Finance, ook geen salarissen.
  • Adviseur of viewer: leest, reageert en stemt waar die stem telt. Bewerkt niets.

Besluitstemmingen gebruiken exacte rolgroepen, los van rang: admin zijn geeft je geen stem in een peiling die alleen voor oprichters is. Een rolwijziging geldt vanaf het volgende verzoek. Wat iemand al gelezen heeft, kun je niet terugnemen.

Wat de server weigert

  • Bewijs opslaan waarvan het citaat niet letterlijk in het gekoppelde transcript staat.
  • Een voorstel uit een extractie bewaren waarvan de aangewezen tekstpositie niet klopt.
  • Een record uit het ene project koppelen aan een ander. De database maakt dat onmogelijk, niet alleen de code.
  • Een campagne bevriezen waarvan de doelgroepregels niet gelezen kunnen worden. Hij weigert in plaats van iedereen te selecteren.
  • Een onbekende rol, bron of provider behandelen als toegestaan. Onbekend betekent nee.
  • Iets versturen. Growth-OS mailt, belt en berichten niemand.

Wat een koppeling opslaat

Een API-sleutel die je op de pagina Sources koppelt, gaat naar de connectiestore van het platform, niet naar een eigen opslag van Growth-OS. De sleutel wordt versleuteld opgeslagen en de versleutelde envelop bevat zelf het project waar hij bij hoort, dus een sleutel die naar een andere rij wordt verplaatst weigert te ontsleutelen. De versleutelde waarde zit in geen enkele lees-query en komt nooit terug in de browser.

Draai je de sleutel om, dan loopt het versienummer op en vervalt de eerdere verificatie, zodat werk dat op de oude sleutel rekende botst in plaats van stilletjes door te gaan. Intrekken maakt de waarde leeg onder een databasecheck. De pagina Sources laat per bron zien wat hij zou lezen, wat hij terug mag schrijven en of dit project er een koppeling voor heeft.

De pagina Sources met per bron de status van de koppeling
Sources is de enige plek die zegt wat er echt gekoppeld is.

Diensten die onze data zien

  • Railway voor hosting, PostgreSQL en Redis
  • Clerk voor inloggen
  • Electric voor geautoriseerde live updates
  • OpenAI voor de modellen achter extractie, Ask Growth Kit en gegenereerde content
  • Sentry voor foutmeldingen
  • PostHog voor productanalyse met toestemming
  • Elke bron die iemand van ons koppelt op de pagina Sources

Wat mensenwerk blijft

Growth-OS heeft geen certificering en geen externe audit, en deze pagina doet niet alsof. Wat hier staat is wat de code doet. Wie welke rol krijgt, welke bronnen we koppelen, welke transcripten we bewaren en hoe lang, en wat we een klant vooraf vertellen over opnames: dat zijn beslissingen van ons, niet van de software.

Zie je iets wat er niet hoort, of kun je bij iets wat je niet zou moeten kunnen openen, mail dan [email protected] en wacht niet op een volgende stand-up.

Vraag over toegang of een transcript?

Vraag het de mensen die Growth-OS draaiend houden. Een antwoord is beter dan een aanname.