Some checks are pending
CI / Build og unit tests (push) Waiting to run
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Blocked by required conditions
Hub: nightly retention of resolved findings, the submission log and silent instances; delete-customer erases a customer's data and blocks its licenses; persistent data protection keys and trusted reverse proxies. Docker image and compose file with PostgreSQL. The agent refuses to send the license to a non-https hub. Documentation for the hub, for data processing (GDPR basis for a data processing agreement) and the README roadmap for phase 3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3EExwndy8Z22EK2Qpt6BK
87 lines
5.8 KiB
Markdown
87 lines
5.8 KiB
Markdown
# Databehandling og GDPR
|
|
|
|
Dette dokument beskriver, hvilke data SQLInsight Pro behandler, hvor de ligger, og hvem der har adgang. Det er grundlag for en databehandleraftale og for kundens egen risikovurdering. **Det er ikke juridisk rådgivning.** Afsnit markeret *[udfyldes af SEOSoft]* skal udfyldes, før dokumentet bruges over for kunder.
|
|
|
|
## Kort fortalt
|
|
|
|
| Udgave | Forlader data kundens netværk? | Rolle |
|
|
|---|---|---|
|
|
| Community (gratis) | Nej. Agent, repository og webbrugerflade kører hos kunden. | SEOSoft behandler ingen data. |
|
|
| Professional / Enterprise med deling til SQLInsight Hub | Ja, fund pr. instans sendes til SEOSofts hub. Slået fra som standard. | Kunden er dataansvarlig, SEOSoft er databehandler (GDPR art. 28). |
|
|
|
|
Opdateringstjek sender ingen data om kunden. Agenten henter et signeret manifest og filer fra feedet, og feed-serveren ser kun den IP-adresse, der henter. Med et lokalt feed (mappe eller fildrev) kontaktes SEOSoft slet ikke.
|
|
|
|
## Hvad sendes til SQLInsight Hub?
|
|
|
|
Kun når `SQLInsight:Hub:Enabled` er `true` og der er en gyldig licens. Agenten sender hver instans' samlede tilstand (højst hvert 15. minut, og straks ved ændringer):
|
|
|
|
| Data | Eksempel | Personoplysning? |
|
|
|---|---|---|
|
|
| Instansens navn, som kunden har valgt i konfigurationen | `prod-sql01` | Normalt nej |
|
|
| SQL Server-version, CU-niveau og edition | `15.0.4385.2`, `Enterprise` | Nej |
|
|
| Serverens netværksnavn | Kun hvis `SendServerName` er slået til | Normalt nej |
|
|
| Hvilke regler der er kørt, og deres resultat | `SQLI-CFG-002: Findings` | Nej |
|
|
| Fund: regel, alvor, titel, forklaring, anbefaling, emne | `database: Sales`, `job: Nightly ETL` | Normalt nej. Database- og jobnavne kan i sjældne tilfælde indeholde navne. |
|
|
| Målinger (evidens) | `MAXDOP: 0`, `Længste ventetid: 412 s` | Nej |
|
|
| **Følsomme målinger**: forespørgselstekst, logins, værts- og programnavne, fejlbeskeder fra jobs | `DOMÆNE\jens` | **Ja, kan være.** Sendes som `[udeladt]`, medmindre kunden slår `SendSensitiveEvidence` til. |
|
|
|
|
Der sendes aldrig tabeldata, forespørgselsresultater, adgangskoder eller forbindelsesstrenge.
|
|
|
|
Kunden kan se præcis det, der er sendt, under **System** i webbrugerfladen ("Det sendes til SQLInsight Hub").
|
|
|
|
Slår kunden `SendSensitiveEvidence` til, kan fund indeholde personoplysninger (brugernavne, og data i forespørgselstekst som fx `WHERE cpr = '…'`). Det bør kun ske efter aftale, og det skal fremgå af databehandleraftalen.
|
|
|
|
## Formål
|
|
|
|
Data i hubben bruges kun til:
|
|
|
|
- at yde den support, kunden har købt (Professional: prioriteret mail, Enterprise: telefon)
|
|
- at gøre SEOSofts support opmærksom på kritiske fund hos kunden
|
|
- at se, hvilke problemer der går igen på tværs af kunder, så regler, vejledninger og produkt kan forbedres (aggregeret)
|
|
|
|
Data sælges ikke og videregives ikke.
|
|
|
|
## Opbevaring
|
|
|
|
| Data | Slettes |
|
|
|---|---|
|
|
| Aktive fund | Når de er løst, og derefter efter 365 dage (medmindre de hører til en åben supportsag) |
|
|
| Log over modtagelser (tidspunkt, antal fund; ikke indholdet) | 90 dage |
|
|
| Instanser, der ikke har rapporteret | 180 dage, med deres fund |
|
|
| Alt om en kunde | Når aftalen ophører, eller kunden beder om det (`delete-customer`) |
|
|
|
|
Fristerne kan ændres i hubbens konfiguration (se [hub.md](hub.md)). I kundens eget repository styres opbevaringen af `SQLInsight:Retention`.
|
|
|
|
## Hvor ligger data?
|
|
|
|
- Hubben og PostgreSQL-databasen: *[udfyldes af SEOSoft: land, datacenter/hostingleverandør]*
|
|
- Backup: *[udfyldes af SEOSoft: hvor, hvor længe, krypteret]*
|
|
- Underdatabehandlere: *[udfyldes af SEOSoft: fx hostingleverandør. Ingen, hvis hubben kører på SEOSofts egne servere]*
|
|
- Overførsel til tredjelande: *[udfyldes af SEOSoft: forventet ingen]*
|
|
|
|
## Sikkerhed (tekniske og organisatoriske foranstaltninger)
|
|
|
|
Indbygget i produktet:
|
|
|
|
- **Kryptering under transport.** Agenten sender kun til https-adresser (loopback undtaget), så licensen aldrig sendes i klartekst.
|
|
- **Autentifikation.** Hver kunde har en signeret licens (ECDSA P-256), der verificeres ved hver modtagelse. Spærrede og udløbne licenser afvises.
|
|
- **Dataminimering.** Følsomme målinger udelades som standard, og serverens navn sendes ikke som standard.
|
|
- **Adskillelse.** Data knyttes til kunden ud fra den signerede licens, ikke ud fra noget agenten selv angiver.
|
|
- **Portalen.** Kun navngivne SEOSoft-medarbejdere har adgang. Adgangskoder er PBKDF2-hashede og mindst 12 tegn, login er begrænset til 10 forsøg i minuttet pr. IP, og cookies er HttpOnly, SameSite=Strict og Secure. Der er CSRF-beskyttelse og en streng Content-Security-Policy.
|
|
- **Opbevaring og sletning**, som beskrevet ovenfor.
|
|
- **Gennemsigtighed.** Kunden kan se det sendte indhold i sin egen webbrugerflade.
|
|
|
|
Mangler (planlagt):
|
|
|
|
- Log over, hvilke medarbejdere der har set hvilke kunders data
|
|
- Tofaktorlogin til portalen (indtil da: kør portalen bag VPN eller en reverse proxy med SSO)
|
|
|
|
Hos SEOSoft (*[udfyldes af SEOSoft]*): kryptering af disk og backup, adgangsstyring til serveren, patching, fortrolighedserklæring for medarbejdere, procedure ved brud på persondatasikkerheden (underretning af kunden uden unødig forsinkelse), og hvordan databehandleraftalen følges op.
|
|
|
|
## Hvis kunden ikke ønsker at dele data
|
|
|
|
Deling er slået fra som standard og er ikke en betingelse for Professional eller Enterprise. Uden deling kan supporten stadig hjælpe ud fra skærmbilleder eller udtræk, som kunden selv sender. Så gælder kundens egne regler for, hvad der deles.
|
|
|
|
## Kundens egen installation
|
|
|
|
Agent og webbrugerflade gemmer data i kundens eget repository hos kunden. Her er kunden selv ansvarlig. Repositoriet indeholder de samme typer data som ovenfor, inklusive følsomme målinger (forespørgselstekst, logins, deadlock-grafer), fordi de er nødvendige for at løse problemerne lokalt. Adgang til webbrugerfladen styres med Windows-login, og databasebrugeren har kun læserettigheder.
|