Privatlivspolitik
Ikrafttrædelsesdato: 12. juni 2026
Denne politik beskriver, hvordan Bitsort ApS behandler personoplysninger i forbindelse med Codon, en klinisk terminologihåndteringstjeneste (en FHIR R4-terminologiserver). Den er udarbejdet for at opfylde oplysningspligten i GDPR artikel 13.
Hvem vi er, og vores rolle
Codon drives af Bitsort ApS (CVR 37759333), Tobaksvejen 20, 2860 Søborg, Danmark, der handler under navnet TheraponSystems. Spørgsmål om denne politik eller dine personoplysninger kan rettes til privacy@bitsort.io.
Vi optræder i to forskellige roller:
- Som dataansvarlig for de konto-, fakturerings- og driftsdata, vi behandler for at levere og sikre tjenesten — beskrevet under “Data vi behandler” nedenfor.
- Som databehandler for personoplysninger, som du behandler gennem tjenesten på egne vegne, herunder klinisk fritekst indsendt under det valgfrie PHI-de-identifikations-tilkøb. Denne behandling reguleres af den databehandleraftale (DPA), der indgås med hver kunde, som forbliver dataansvarlig herfor.
Data vi behandler
Terminologidata (ikke-personoplysninger)
Kliniske terminologikoder, visningstekster, hierarkier og mappinger på tværs af systemer fra publicerede standarder (SNOMED CT, ICD-10, LOINC, SKS med flere). Dette er referencedata og indeholder ingen personoplysninger.
Konto- og driftsdata (rollen som dataansvarlig)
Som dataansvarlig behandler vi nedenstående personoplysninger — med formål, behandlingsgrundlag og opbevaringsperiode for hver:
| Data | Formål og behandlingsgrundlag | Opbevaring |
|---|---|---|
| Brugerkonti (e-mail, navn, adgangskode-hash, OAuth/OIDC-subjekt) | Autentificering og kontoadministration — opfyldelse af aftale (art. 6, stk. 1, litra b) | Indtil kontoen slettes eller tenanten slettes |
| API-nøgle-identiteter (bruger-ID) | Autentificering og autorisation — opfyldelse af aftale (art. 6, stk. 1, litra b) | Indtil nøglen tilbagekaldes eller tenanten slettes |
| Faktureringsdata (abonnement, Stripe-kundereference, fakturaer, forbrugsregistreringer) | Fakturering og opfyldelse af aftale — art. 6, stk. 1, litra b; og retlig forpligtelse (art. 6, stk. 1, litra c, bogføring) | 5 år (den danske bogføringslov) |
| Auditlog (hash-kædede who/what/when-metadata, bruger-ID) | Sikkerhed og ansvarlighed — legitim interesse (art. 6, stk. 1, litra f) og retlig forpligtelse (art. 6, stk. 1, litra c) | Opbevares — se undtagelsen om opbevaring nedenfor |
| API-forespørgselslogs (maskeret IP) | Sikkerhedsovervågning — legitim interesse (art. 6, stk. 1, litra f) | 30 dage |
| Mapping-auditfelter (createdBy, reviewedBy — bruger-ID) | Regulatorisk overholdelse og sporbarhed — retlig forpligtelse | Mappingens levetid; historik-hovedbog opbevares |
| Samtykkeregistreringer for AI-forslag | Samtykke til AI-mappingforslag — art. 6, stk. 1, litra a | Mappingens levetid |
| Problemrapporter fra websitet (IP, user agent) | Fejlretning — legitim interesse (art. 6, stk. 1, litra f) | 90 dage |
Bruger-identitetsfelter (e-mail, navn, OAuth-subjekt) opbevares krypteret på applikationslaget (AES-256-GCM) ud over den disk- og transportlagskryptering, der beskrives nedenfor.
Patientdata (PHI) — kun med PHI-tilkøbet
Basisproduktet Codon behandler ingen patientdata. Kunder, der kun bruger terminologitjenester (opslag, validering, mapping, søgning, værdisæt), indsender aldrig patientjournaler, kliniske notater, persondiagnoser eller biometriske data, og vi behandler ingen.
Kunder, der har tilkøbt PHI-de-identifikation (en særskilt tilkøbt funktion, der kræver en underskrevet databehandleraftale), indsender klinisk fritekst — som kan indeholde helbredsoplysninger i særlige kategorier (GDPR art. 9) — til de-identifikation. For denne behandling gælder:
- Den kliniske tekst behandles i hukommelsen og gemmes ikke: den skrives ikke til databasen, søgeindekset eller applikationslogs.
- Al behandling kører lokalt på vores infrastruktur. Ingen klinisk tekst sendes til nogen ekstern AI-udbyder eller anden tredjepart.
- Den eneste tilvalgs-undtagelse er konsistens-pseudonym-lageret, der lader samme patient få samme pseudonym på tværs af dokumenter; disse mappinger krypteres under kundens egen tenant-nøgle og slettes — og gøres kryptografisk uigenkaldelige — ved sletning af tenanten (GDPR art. 17).
- De-identificeret output er pseudonymiserede personoplysninger efter GDPR, ikke anonymiserede data; kunden, som dataansvarlig, er fortsat ansvarlig for anvendelsen heraf.
For denne behandling optræder vi alene som databehandler under kundens databehandleraftale. Anmodninger fra registrerede vedrørende denne behandling skal rettes til kunden (den dataansvarlige); vi bistår i henhold til databehandleraftalen.
Sådan beskytter vi dine data
- Kryptering under transport. TLS 1.3 med HSTS aktiveret.
- Kryptering i hvile. LUKS / udbyder-krypteret bloklager (AES-256) samt kryptering på applikationslaget (AES-256-GCM) under et per-tenant-nøglehierarki for følsomme felter — så én tenants data aldrig kan dekrypteres med en anden tenants nøgle. Backups er AES-256-krypterede med point-in-time-genoprettelse.
- Tenant-isolation. Kryptografisk (særskilte per-tenant-nøgler) oven på PostgreSQL Row-Level Security på hver tenant-scoped tabel.
- Adgangskontrol. Rollebaseret og per-ressource-adgangskontrol, JWT- og API-nøgle-autentificering, valgfri obligatorisk MFA pr. tenant, brute-force-lockout og tilbagekaldelse af tokens. API-nøgler accepteres kun i request-headere, så credentials aldrig optræder i adgangs-, proxy- eller browserhistorik-logs.
- Manipulationssikker auditlog. En hash-kædet, append-only-log registrerer hvem der ændrede hvad og hvornår — kun metadata, aldrig klinisk indhold, adgangskoder eller hemmeligheder.
- Log-minimering. IP-adresser maskeres før lagring (sidste IPv4-oktet nulstilles), og kliniske koder redigeres ud af forespørgselslogs.
AI-behandling
AI-assisterede funktioner kan køre fuldt lokalt: i en suveræn installation forbliver al inferens på installationens egen infrastruktur. I dette hostede evalueringsmiljø bruger tekstgenererings-assisterne (mappingforslag, formularassistance) en AI-model-udbyder hostet i EU, oplyst i produktet i henhold til AI-forordningens art. 50. Klinisk NER og PHI-de-identifikation kører altid lokalt og forlader aldrig installationen — ingen klinisk tekst eller PHI sendes som standard til nogen ekstern AI-tjeneste, håndhævet i software. Embedding-baseret lighed kører på lokal infrastruktur. X-AI-Consent-headeren kræves for AI-mappingforslag som en klinisk sikkerhedsbekræftelse.
Modtagere og underdatabehandlere
Alle terminologidata og alle PHI-tilkøbsdata lagres og behandles på infrastruktur hostet i Skandinavien. I standardkonfigurationen modtager følgende databehandlere begrænsede driftsmæssige personoplysninger:
| Databehandler | Formål | Placering | Personoplysninger og overførselsgaranti |
|---|---|---|---|
| Hetzner Online GmbH (hostet tjeneste); egen drift ved suveræn/on-premise-installation | Serverhosting | Danmark (EU/EØS) | Alle lagrede data forbliver på Bitsort-drevet infrastruktur, krypteret som ovenfor — EU/EØS, ingen overførselsgaranti nødvendig |
| Stripe Payments Europe Ltd | Betalingsbehandling og fakturering | Irland (EU) | Navn, e-mail, betalings- og fakturadata; videreoverførsel til Stripe, Inc. (USA) under EU's standardkontraktbestemmelser |
| Brevo (Sendinblue SAS) | Transaktions-e-mail (verificering, magic links, nulstilling af adgangskode, notifikationer) | Frankrig (EU) | E-mailadresse og navn — EU/EØS, ingen overførselsgaranti nødvendig |
| Friendly Captcha GmbH | Botbeskyttelse ved oprettelse af konto | Tyskland (EU) | Anonymiserede forespørgselssignaler, ingen kontodata — EU/EØS, ingen overførselsgaranti nødvendig |
I dette hostede evalueringsmiljø bruger tekstgenererings-assisterne en AI-model-udbyder hostet i EU, oplyst i produktet i henhold til AI-forordningens art. 50; ingen klinisk tekst eller PHI sendes til den. Suveræne/on-premise-installationer bruger kun lokal inferens uden ekstern AI-databehandler. Valgfrie downloads af terminologikilder (for eksempel fra det amerikanske National Library of Medicine) er alene indgående indholdsdownloads — der sendes ingen personoplysninger.
Suveræn tilstand
Codon understøtter en suveræn deployment-profil, hvor tjenesten nægter at starte, hvis nogen udgående integration (Stripe, Brevo, Friendly Captcha, ekstern AI) er konfigureret. I suveræn tilstand er den eneste tilbageværende modtager hostingudbyderen, og ingen personoplysninger forlader EU/EØS under nogen omstændigheder.
Cookies og lokal lagring
Codon bruger kun strengt nødvendige cookies — dem, der kræves for at logge dig ind, for at beskytte forespørgsler mod cross-site request forgery, og, under kortbetaling, for at forebygge betalingssvindel. Vi sætter ingen analyse-, reklame- eller sporingscookies og profilerer dig ikke. Da hver cookie, vi bruger, er strengt nødvendig, kræves der intet samtykkebanner efter ePrivacy-reglerne, og der vises ingen.
| Navn | Formål | Levetid | Kategori |
|---|---|---|---|
nexus_session | Indeholder din indloggede session (HttpOnly; kan ikke læses af scripts) | Indtil sessionen udløber, eller du logger ud | Strengt nødvendig |
csrf | Beskyttelse mod cross-site request forgery (double-submit-token) | Indtil sessionen udløber, eller du logger ud | Strengt nødvendig |
__stripe_mid, __stripe_sid | Sættes af Stripe.js på faktureringssiden, når du foretager en kortbetaling, for at forebygge betalingssvindel | Session (__stripe_sid) op til 1 år (__stripe_mid) | Strengt nødvendig (sættes kun, når du betaler) |
Vi gemmer også din præference for lyst/mørkt tema i din browsers lokale lager. Dette er en funktionel præference, indeholder ingen personoplysninger og overføres aldrig til os. Botbeskyttelses-widgetten ved kontooprettelse (Friendly Captcha) er cookieløs af design.
Dine rettigheder
Efter GDPR har du følgende rettigheder. For at gøre dem gældende kan du kontakte privacy@bitsort.io; vi svarer inden for 30 dage (GDPR art. 12, stk. 3).
- Indsigt (art. 15). Anmod om alle data tilknyttet din konto.
- Berigtigelse (art. 16). Kontooplysninger kan redigeres via selvbetjening; kontakt os for alt andet.
- Sletning (art. 17). Individuelt: kontosletning, hvor auditfelter (createdBy/reviewedBy) anonymiseres. På tenant-niveau: fuld sletning fjerner hver tenant-scoped række i én transaktion og kryptografisk destruerer tenantens krypteringsnøgle, hvilket gør tenantens krypterede data — inklusive backupkopier, når backups fra før sletningen udløber — permanent uigenkaldelige.
- Dataportabilitet (art. 20). Et tenant-eksport-endpoint streamer hele dit datasæt som maskinlæsbar NDJSON; mappinger kan desuden eksporteres som FHIR ConceptMap JSON eller CSV.
- Indsigelse (art. 21). Gør indsigelse mod behandling baseret på legitim interesse.
- Begrænsning (art. 18). Begræns behandlingen, mens en klage behandles.
For personoplysninger behandlet under PHI-tilkøbet er kunden dataansvarlig — ret sådanne anmodninger til kunden; vi bistår i henhold til databehandleraftalen.
Undtagelse for opbevaring — auditlog
Den hash-kædede auditlog slettes ikke ved sletning. At fjerne poster midt i kæden ville bryde manipulationssikkerheden for alle kunder. Opbevaringen hviler på GDPR art. 17, stk. 3, litra b og litra e (retlig forpligtelse — sikkerhed og ansvarlighed efter art. 32 og art. 30); auditposter indeholder kun who/what/when-metadata og aldrig det personoplysningsindhold, der blev slettet.
Klager
Du har ret til at indgive en klage til en tilsynsmyndighed. Den ledende myndighed er Datatilsynet, Carl Jacobsens Vej 35, 2500 Valby, Danmark — www.datatilsynet.dk.
Ændringer af denne politik
Vi vil underrette kunder om væsentlige ændringer af denne privatlivspolitik mindst 30 dage før, de træder i kraft.
Kontakt
Databeskyttelseskontakt: dpo@bitsort.io
Generelle privatlivsforespørgsler: privacy@bitsort.io