Sikkerhed & datahåndtering
Den korte version
- Din kildekode gemmes aldrig permanent. Hvert eftersyn laver en midlertidig, isoleret klon, analyserer den, gemmer den resulterende rapport og målepunkter og sletter arbejdskopien.
- Ingen tredjeparts-AI ser nogensinde din kode. Analysens sprogmodel-trin kører på en model, vi hoster på vores eget hardware. Intet sendes til OpenAI, Anthropic, Google eller nogen anden AI-udbyder.
- Alt kører på hardware, vi selv ejer, placeret i Danmark (EU). Ingen cloud-beregning, ingen cloud-lagring, ingen CDN i leveringsvejen.
- Vi træner ikke på din kode — hverken vores egne modeller eller andres.
- Adgang spejler GitHub. Mister du adgang til et repository på GitHub, mister du adgang til dets rapporter her — medlemskaber gensynkroniseres dagligt.
1. Neutralitet — den, der måler, sidder aldrig med ved bordet
Watchdog måler kode, som den ene part leverer til den anden. For at den måling skal betyde noget, må den, der måler, ikke have nogen interesse i resultatet:
- Canine Development er aldrig leverende part på kode, vi måler. Vi udvikler eller rådgiver aldrig på en kodebase, vi også giver karakter — aldrig i begge ender af én kontrakt.
- Ingen succes-honorarer fra leverandører. Vores indtægt er abonnementet, identisk uanset om en levering består eller dumper.
- Rubrikken er identisk, uanset hvilken part der betaler. De samme dimensioner, de samme tærskler, den samme scoringslogik — rapporten ved ikke, hvem der har abonnementet.
- At begge kontraktparter er kunder er den tilsigtede måde. Når køber og leverandør begge læser den samme Watchdog-rapport, deler de én kilde til sandhed — det er idealtilfældet, og det er helt adskilt fra, at Canine selv nogensinde skulle sidde i den ene ende af bordet, hvilket aldrig sker.
Betalt support dækker drift af Watchdog — installation, CI-integration, fortolkning af rapporter — aldrig udvikling på kodebaser, Watchdog måler. Grænsen er hele pointen: vi sælger termometeret, aldrig patientens behandling.
2. Hvad vi tilgår
Adgang til repositories går gennem Watchdog GitHub App, som som standard anmoder om skrivebeskyttet Contents og Metadata — ingen actions, ingen webhook-payloads med kode, og vi ændrer aldrig din kildekode. Der er præcis én valgfri skriveadgang, slået fra indtil du aktiverer den: audit-markør-issuen. Aktiverer du den per repository (og giver issues:write), vedligeholder Watchdog en enkelt GitHub-issue, der følger de åbne fund — åbnet og lukket automatisk, opdateret på stedet, uden nogensinde at røre din kode. Login sker via GitHub gennem vores egen selvhostede identitetsudbyder (Keycloak); vi modtager dit GitHub-login, dit visningsnavn og din e-mailadresse.
Offentlige projekter på GitLab kan tilføjes via URL — en anonym, skrivebeskyttet klon, samme livscyklus som et GitHub-eftersyn (ingen token eller installation kræves). For projekter, der ikke ligger på GitHub eller GitLab, kan du uploade en ZIP per eftersyn; den følger samme livscyklus som en klon: pak ud, analysér, slet — selve arkivet beholdes ikke, efter eftersynet er gennemført.
3. Scanningens livscyklus
- Klon. En midlertidig, isoleret arbejdskopi af dit repository oprettes på vores analyse-host og bruges kun, så længe eftersynet varer.
- Analysér. Motoren beregner målepunkter, scorer og fund. Hvor et trin bruger en sprogmodel, er modellen selvhostet på vores egne maskiner — din kode forlader aldrig vores infrastruktur.
- Gem resultaterne. Hvad vi beholder: rapportpakken (HTML/Markdown/PDF, fund, scorer), numeriske målepunkter til trendgrafer og kørselsmetadata (tidsforbrug, commit-SHA, status). Hvad vi ikke beholder: din kildekode.
- Slet. Klonen (eller det uploadede arkiv) fjernes, når eftersynet er færdigt — også ved fejl.
Rapporter kan citere små kodeuddrag, hvor et fund kræver det (en markeret linje og dens placering). Offentlige rapporter gennemgår en ekstra sanitizer, der fjerner kontonavne og sikkerhedsfølsomme detaljer.
4. Hvor data ligger
Al behandling og lagring sker på servere, der ejes og drives af Canine Development, placeret i Danmark. Der er ingen cloud-udbyder i datavejen: analyse-hosts, database, rapportlagring, identitetsudbyderen og sprogmodellen er alle selvhostede. Data forbliver derfor i EU.
5. Hvem har adgang
- Dig og dit team. Et repositorys rapporter er synlige for repositoryets medlemmer. Medlemskab spejler GitHub og gensynkroniseres dagligt — tilbagekaldt på GitHub betyder tilbagekaldt her inden for et døgn.
- Offentlige rapporter findes kun for repositories, der er offentlige og publiceret (open source-repos på gratis-planen publicerer automatisk — det er den aftale, der står på prissiden; betalte kohorter publicerer kun ved udtrykkeligt tilvalg).
- Mindste-privilegie-drift. Adgang til produktion er begrænset til navngivet driftspersonale hos Canine Development, efter mindste privilegium og logget; ingen underleverandører eller tredjeparter har adgang.
6. Transport & perimeter
- Al offentlig trafik TLS-termineres ved vores egen edge; interne tjenester er ikke eksponeret mod internettet (applikationen og databasen lytter kun på interne interfaces, bag en host-firewall).
- Autentificering er OIDC via selvhostet Keycloak, der mægler GitHub — der er ingen lokale adgangskoder, der kan lække.
- Selvhostet scan-ingestion (Enterprise) er token-autentificeret per repository.
7. Underdatabehandlere
Den komplette liste over tredjeparter, der behandler kundedata på vores vegne:
| Underdatabehandler | Formål | Data | Placering |
|---|---|---|---|
| GitHub, Inc. | Kildekode-hosting & login-identitet (du førte os hen til din kode — vi læser den, hvor den allerede ligger) | Repository-indhold (skrivebeskyttet), kontoidentitet | USA (dit eksisterende GitHub-forhold) |
| Stripe, Inc. | Betalingsbehandling | Faktureringsoplysninger — kortdata rører aldrig vores servere | USA/EU |
Det er hele listen. Ingen analytics-SaaS, ingen fejlsporings-SaaS, ingen CDN, ingen cloud-AI. Identitet (Keycloak), analysemotoren, sprogmodellen, databasen og rapportlagringen er alle selvhostede på vores eget hardware. Vi opdaterer denne side og giver kontoejere besked via e-mail, før vi tilføjer nogen underdatabehandler.
8. Databeskyttelse & databehandleraftalen
Kildekode, der behandles under et eftersyn, kan tilfældigt indeholde persondata; kontodata (GitHub-identitet, e-mail) behandles for at drive tjenesten. For kunder, der har brug for en underskrevet databehandleraftale, indarbejder vores standard-databehandleraftale underdatabehandlerlisten ovenfor — kontakt os for en medunderskrevet kopi.
Retten til sletning er selvbetjening. Luk din konto fra Profil & indstillinger → Luk konto: en 14-dages reversibel frist, derefter en permanent sletning, der fjerner dine persondata og dit login og udrenser dine repositoryers rapporter. Hvad der opbevares, og på hvilket retsgrundlag, fremgår af databehandleraftalens §4.
9. Compliance-køreplan — den ærlige version
Watchdog har ikke en SOC 2-attestering i dag, og det vil vi ikke lade som om. Hvad vi i stedet leverer, nu: denne side som en faktuel kontrolerklæring, underdatabehandlerlisten ovenfor, en databehandleraftale klar til underskrift og udelukkende EU-behandling på hardware, vi selv driver. En formel attestering (SOC 2 Type I eller ISO 27001) er på køreplanen; Enterprise selvhostede installationer omgår spørgsmålet helt — din kode forlader aldrig dit netværk.
10. Ansvarlig offentliggørelse
Fundet en sårbarhed? Rapportér den til os med trin til at reproducere den. Vi kvitterer inden for 48 timer, holder dig orienteret og krediterer dig, hvis du ønsker det. Giv os venligst rimelig tid til at rette, før du offentliggør, og tilgå ikke andre kunders data under test.
11. Kolofon
Canine Development — registreret virksomhed, Danmark.
CVR: 42092134
Kontakt: kontaktformular
Ansvarlig for denne tjeneste: operatøren af watchdog.canine.dev.