Juridisk
Privatlivspolitik
Hvad vi gemmer om dig, hvorfor vi gemmer det, hvor længe det bliver liggende, og hvad du kan bede os om.
Senest opdateret: 10. september 2026
1. Dataansvarlig
Den dataansvarlige for behandlingen af dine personoplysninger i Riff (web- og iOS-app) er:
RiffE-mail: sylvester@riff-app.dk
Riff er ikke pligtig til at udpege en databeskyttelsesrådgiver (DPO) efter GDPR art. 37, da vores behandling hverken udgør systematisk monitorering i stor skala eller omfatter særlige kategorier af personoplysninger i stor skala. Du kan altid kontakte os på ovenstående e-mail om alle spørgsmål om dine personoplysninger.
2. Hvad er Riff?
Riff er en softwarevirksomhed. Vi udvikler og stiller et selvbetjeningsværktøj til rådighed, der hjælper danske honorarmodtagere (typisk musikere på B-indkomst) med at holde overblik over honorarer, fradrag og skat.
Riff er IKKE en revisor, et bogføringsfirma eller en skatterådgiver. Vi laver ikke regnskab på dine vegne, vi indberetter ikke til SKAT for dig, og vi er ikke ansvarlige for din skattemæssige situation. Du bruger Riff som et værktøj. Det er dig selv (evt. sammen med din revisor), der har ansvaret for din bogføring, dine indberetninger og overholdelse af bogføringsloven.
Tjenesten består af to klienter:
- En web-app på
min.riff-app.dk - En iOS-app i App Store
Begge klienter kommunikerer med samme backend (api.riff-app.dk) og er dækket af denne politik.
Derudover har vi en offentlig informationsside på riff-app.dk (apex-domænet). Siden kan besøges uden konto, og indeholder, mens Riff er under lancering, et frivilligt felt hvor du kan skrive dig op til at få besked når vi går live. Den tilmelding er også dækket af denne politik (se punkt 3.7).
3. Hvilke personoplysninger vi behandler
Vi behandler kun de oplysninger, der er nødvendige for at levere Riff og opfylde lovkrav. Vi indsamler IKKE særlige kategorier af personoplysninger (helbred, race, religion mv.).
3.1 Konto- og kontaktdata
- Fornavn, efternavn
- E-mailadresse (også brugernavn ved login)
- Telefonnummer (E.164-format), adresse, postnummer, by, land
- Krypteret password-hash (Argon2id, så vi kender aldrig dit klartekst-password)
- E-mailverifikations-status og tidspunkt
- Tidspunkt for sidste login og kontoens oprettelse
3.2 Skatte- og regnskabsdata
- Forskudsopgørelse-oplysninger: forventet B-honorar (felt 210), forventede fradrag (felt 425), samt rate-beløb og antal rater som SKAT har fastsat
- Eventuel A-indkomst og om din B-skat betales via A-skattens trækprocent
- Påmindelses-tærskler for fradrag og indkomst (procent eller fast beløb)
- Honorar-registreringer: titel, dato, beløb, betaler-virksomhed
- Fradrag: leverandør, beløb, dato, kategori, beskrivelse
- Bilag (kvitteringer, fakturaer) som billede eller PDF
- Projekter (frivilligt felt, der grupperer honorarer)
- Virksomheds-data du selv tilføjer: navn, CVR, e-mail, telefon, adresse
- Indbetalinger til SKAT (manuelt registreret)
3.3 Automatisk analyseret data
Når du uploader et bilag, sendes en komprimeret udgave af det til Googles Gemini Flash-model for at aflæse felter fra bilaget (firmanavn, CVR, beløb, dato, beskrivelse og et kategori-forslag). Se punkt 7 for detaljer om denne deling. Vi gemmer det rå analyse-svar så længe bilaget eksisterer, til fejlsøgning og audit.
3.4 Drifts- og auditdata
- IP-adresse og User-Agent ved login og API-kald
- Klient-type (web/iOS) og version
- Request-ID til fejlsøgning
- Aktivitetshistorik (hvilke handlinger du har udført: login, oprettelser, ændringer, sletninger)
- Token-livscyklus-information (uden selve token-værdierne)
- Browser-/enhedsoplysninger knyttet til aktive sessions
3.5 Licens- og abonnementsdata
- Aktuel plan (Free/Standard/Pro), betalingsperiode og status
- Historik over opgraderinger/nedgraderinger/opsigelser
- Proration-noter (ingen betalingskortdata, vi har ingen betalingsintegration p.t.)
3.6 iOS-specifik on-device-data
iOS-appen gemmer LOKALT på din enhed (sendes ikke til os):
- Adgangstokens i iOS Keychain (krypteret af systemet, forlader aldrig enheden)
- App-lock-PIN gemmes aldrig som klartekst, men som en PBKDF2-afledt nøgle med et tilfældigt salt der er unikt for din enhed
- FaceID/TouchID-aktivering (kun ja/nej, vi læser ikke biometriske data)
- Indstillinger som "skjul beløb", standard-tema, Live Activity-størrelse
Hvis du nulstiller appen eller logger ud, slettes disse lokale data.
3.7 Venteliste (tilmelding til lancering)
Skriver du dig op på ventelisten på riff-app.dk, gemmer vi:
- Din e-mailadresse
- Tidspunktet for tilmeldingen samt hvilken kanal den kom fra (fx "landing")
Vi bruger UDELUKKENDE din e-mail til at give dig besked når Riff går live (og evt. sende dig en early-access-invitation). Vi bruger den ikke til anden markedsføring, og vi deler den ikke. Du kan når som helst bede om at blive fjernet fra listen ved at skrive til sylvester@riff-app.dk, så sletter vi din e-mail. For at forebygge misbrug registreres din IP-adresse i vores aktivitets-/sikkerhedslog (se punkt 3.4 og 6); din e-mail dubleres derimod ikke dertil og knyttes ikke til selve tilmeldingen.
4. Formål og retsgrundlag
Vi behandler dine personoplysninger til følgende formål:
| Formål | Retsgrundlag (GDPR art. 6) |
|---|---|
| Levere Riff (login, registrering af honorarer/udgifter, beregninger) | Art. 6(1)(b), opfyldelse af aftale |
| Bekræfte e-mailadresse, sende password-reset og kontosletnings-bekræftelser | Art. 6(1)(b), opfyldelse af aftale |
| Automatisk analyse af bilag for at foreslå udfyldte felter | Art. 6(1)(b), opfyldelse af aftale (du vælger at uploade bilag) |
| Vise dig din egen aktivitetshistorik og sikkerheds-info | Art. 6(1)(b) + (f), legitim interesse i transparens |
| Beskytte mod misbrug, brute-force-login og IT-sikkerhedshændelser | Art. 6(1)(f), legitim interesse |
| Drifts-, fejl- og audit-log | Art. 6(1)(f), legitim interesse i sikker drift |
| Statistik på anonymiserede tal om, hvordan Riff bliver brugt, så vi kan forbedre tjenesten | Art. 6(1)(f), legitim interesse. Tallene kan ikke føres tilbage til dig |
| Service-meddelelser (nedetid, ændringer i tjenesten, vigtige opdateringer til denne politik) | Art. 6(1)(b) + (f), opfyldelse af aftale + legitim interesse |
| Give dig besked når Riff går live (kun hvis du selv har skrevet dig op på ventelisten) | Art. 6(1)(a), samtykke (+ markedsføringslovens § 10) |
Ud over lancerings-beskeden til dig der aktivt har skrevet dig op på ventelisten (samtykke), sender vi IKKE markedsføringsmails uden eksplicit samtykke (art. 6(1)(a) + markedsføringslovens § 10). Du giver ikke sådant samtykke ved at oprette en konto alene, og du kan til enhver tid trække et samtykke tilbage.
5. Cookies og lignende teknologier
Riffs web-app bruger ingen tredjepartscookies, ingen analytics-cookies (Google Analytics, Plausible o.l.) og ingen reklame-tracking.
Vi bruger udelukkende strengt nødvendig browser-lokal lagring til:
- Login-state, så du forbliver logget ind mellem klik
- UI-præferencer (tema, sidebar-state) der gør oplevelsen konsistent
Disse teknikker er undtaget fra samtykkekravet i cookiebekendtgørelsen (§ 4), fordi de er strengt nødvendige for, at tjenesten kan fungere.
iOS-appen bruger ingen cookies. Tokens opbevares i iOS Keychain.
6. Hvor længe vi opbevarer dine oplysninger
| Datatype | Opbevaringsperiode |
|---|---|
| Konto-, kontakt- og profildata | Så længe din konto eksisterer. Slettes når du sletter kontoen: i praksis med det samme, og under alle omstændigheder inden for 30 dage. |
| Honorarer, fradrag, bilag og skattedata | Så længe din konto eksisterer. Slettes ved kontosletning, både databasen og selve bilag-filerne i objektlageret. NB: Du har selv ansvar for at kunne dokumentere honorarer og fradrag over for SKAT (typisk 5 år), så eksportér dine data inden sletning. |
| Aktivitetslog (activity_log) | Bevares som append-only sikkerheds- og auditspor, også efter kontosletning. Det er en undtagelse fra sletteretten jf. GDPR art. 17(3), begrundet i drift, sikkerhed og misbrugsforebyggelse. E-mail/navn i loggen er et snapshot fra handlingstidspunktet, ikke en levende profil. |
| Drifts- og fejl-logs | Almindelige logs slettes efter 90 dage; fejl- og advarselslogs efter ca. 12 måneder. Oprydningen kører automatisk hvert døgn. |
| Admin-læseauditspor (admin_read_audit) | 365 dage (så du jf. GDPR art. 15 kan se hvem der har tilgået dine data inden for det seneste år). Slettes automatisk derefter. |
| Refresh-tokens | Til de udløber (op til 30 dage) eller du logger ud. Udløbne tokens ryddes automatisk. |
| Bilag (filer i objektlager hos Hetzner) | Så længe din konto eksisterer. Opsiger du et betalt abonnement, nedgraderes du til Free og beholder dine data. Vi sletter ikke bilag ved opsigelse. Filerne slettes når du sletter det enkelte bilag eller hele kontoen. |
| Rå analyse-svar fra Gemini | Så længe bilaget eksisterer (bruges til fejlsøgning/audit). Slettes sammen med bilaget. |
| Venteliste-tilmelding (e-mail) | Indtil Riff er lanceret og du har fået besked, eller indtil du beder om at blive fjernet, alt efter hvad der kommer først. Derefter slettes din e-mail. |
7. Modtagere og databehandlere
Vi deler ikke dine oplysninger med modtagere ud over det absolut nødvendige for at drive tjenesten. Vi bruger følgende databehandlere:
7.1 Hetzner Online GmbH (Tyskland)
- Funktion: Server-hosting (databaser, app-servere) og objektlagring til bilag
- Lokation: Tyskland (EU/EØS)
- Aftalegrundlag: Databehandleraftale efter GDPR art. 28
- Overførsler uden for EU/EØS: Nej
7.2 Google Ireland Limited / Google LLC (Gemini)
- Funktion: Automatisk analyse af bilag, du selv vælger at uploade. Modellen aflæser firmanavn, CVR, beløb, dato og beskrivelse fra bilaget og foreslår en kategori
- Hvad sendes: Selve bilaget som komprimeret billede (op til 2400 px på længste led) eller som den originale PDF, sammen med en fast engelsksproget instruktion til modellen. Vi sender IKKE dit navn, din adresse, din e-mail eller andre profildata sammen med bilaget. Modellen får kun filen og instruktionen.
- Lokation: Googles globale infrastruktur. Modellen kører på Googles servere.
- Overførsel uden for EU/EØS: Kan forekomme. Google er certificeret under EU-US Data Privacy Framework, og vi bruger Standard Contractual Clauses (SCC) som supplerende foranstaltning, jf. GDPR art. 46.
- Bruger Google dit bilag til at træne modeller? Nej. Vi anvender Gemini API'et på en betalt plan, hvor Googles vilkår for betalt brug indebærer, at input og output ikke bruges til at træne eller forbedre Googles modeller.
Hvis du ikke ønsker automatisk analyse, kan du oprette fradrag manuelt via "Uden bilag"-knappen, så sendes der intet til Google.
7.3 SMTP-mailudbyder
- Funktion: Afsendelse af transaktionsmails (verifikation, password-reset, invitationer, kontosletnings-bekræftelse) samt lancerings-/ventelistebesked til dig der har skrevet dig op
- Lokation: EU/EØS
- Hvad sendes: Din e-mailadresse, dit navn, e-mailens indhold
7.4 Apple (kun iOS-app)
- App Store-distribution sker via Apple efter Apples egen privatlivspolitik
- iOS-appen sender IKKE data til Apple ud over det Apple selv samler om alle apps (App Store Connect-metrics, crash logs)
- Vi bruger IKKE App Tracking Transparency-frameworket (ingen IDFA-baseret tracking)
7.5 Sentry (fejlovervågning)
- Funktion: Samler fejlbeskeder fra web og app, så vi opdager, når noget går galt, og kan rette det
- Hvad sendes: Anonymiserede drifts- og fejloplysninger fra vores database. Ikke dine honorarer, dine bilag eller dit navn
- Lokation: Uden for EU/EØS
- Aftalegrundlag: Databehandleraftale efter GDPR art. 28
- Overførsel uden for EU/EØS: Ja
7.6 Grafana (overvågning af driften)
- Funktion: Viser målinger og logs fra driften, så vi kan se, om tjenesten kører som den skal
- Hvad sendes: Anonymiserede drifts- og fejloplysninger fra vores database. Ikke dine honorarer, dine bilag eller dit navn
- Lokation: Uden for EU/EØS
- Aftalegrundlag: Databehandleraftale efter GDPR art. 28
- Overførsel uden for EU/EØS: Ja
7.7 Better Stack (oppetid og logs)
- Funktion: Holder øje med, om tjenesten svarer, og opsamler driftslogs
- Hvad sendes: Anonymiserede drifts- og fejloplysninger fra vores database. Ikke dine honorarer, dine bilag eller dit navn
- Lokation: Uden for EU/EØS
- Aftalegrundlag: Databehandleraftale efter GDPR art. 28
- Overførsel uden for EU/EØS: Ja
7.8 Cloudflare (Turnstile på tilmeldingsformularen)
- Funktion: Robotfilter på ventelistens tilmeldingsformular på riff-app.dk
- Hvad sendes: Din IP-adresse og tekniske oplysninger om din browser, når formularen indlæses. Turnstile sætter ingen sporingscookies og bygger ingen profil af dig
- Lokation: Cloudflares globale infrastruktur
- Aftalegrundlag: Databehandleraftale efter GDPR art. 28
- Overførsel uden for EU/EØS: Kan forekomme
Vi sælger ALDRIG dine oplysninger og udleverer dem ikke til tredjeparter til markedsføring eller profilering.
8. iOS-app: enhedstilladelser
iOS-appen anmoder kun om følgende systemtilladelser:
| Tilladelse | Bruges til |
|---|---|
| Kamera | Fotografere kvitteringer/bilag direkte fra udgifts-skærmen |
| Fotobibliotek | Vælge eksisterende billeder af bilag |
| FaceID / TouchID | Frivillig oplåsning af appen. Biometriske data forlader aldrig din enhed (Apple Secure Enclave) |
Appen anmoder IKKE om: lokation, kontakter, kalender, sundhedsdata, mikrofon, mediebibliotek, eller annoncørs-id (IDFA).
Live Activities (lock-screen-banner med dagens shows): kun titel + dato + antal shows + primær virksomhedsnavn sendes til systemets ActivityKit. Du kan slå Live Activities fra i appens indstillinger.
9. Dine rettigheder
Efter GDPR og databeskyttelsesloven har du følgende rettigheder. Henvendelser sendes til sylvester@riff-app.dk, og vi svarer inden for 30 dage (kan i komplekse tilfælde forlænges med to måneder med begrundelse, jf. art. 12, stk. 3).
- Indsigt (art. 15): Du kan til enhver tid se de fleste af dine oplysninger direkte i appen, herunder under Profil → Privatliv & data, hvor du også kan se, hvilke administratorer der har slået dine data op. Beder du om det, sender vi dig et komplet udtræk af alt vi har registreret om dig som et regneark med én fane pr. datakategori.
- Berigtigelse (art. 16): Du kan rette dit navn, adresse, telefonnummer og skatte-konfiguration direkte i Profil. For andre felter, kontakt os.
- Sletning ("retten til at blive glemt") (art. 17): Du kan slette din konto via Profil → Slet konto. Du bekræfter via et link vi sender til din e-mail, og derefter slettes dine data med det samme, både i databasen og selve bilag-filerne i objektlageret. Under alle omstændigheder sker sletningen inden for 30 dage. Aktivitetsloggen bevares dog som auditspor, jf. undtagelsen i art. 17(3) (se punkt 6).
Vigtigt: Som modtager af B-indkomst har du efter skattekontrolloven selv ansvar for at kunne dokumentere honorarer og fradrag hvis SKAT efterspørger dem, typisk 5 år tilbage. Driver du CVR-registreret virksomhed, gælder også bogføringsloven § 12. I begge tilfælde: eksportér dine data inden du sletter kontoen. Ansvaret for din egen dokumentation ligger hos dig, ikke hos Riff. - Begrænsning (art. 18): Du kan bede os om at fryse behandlingen mens en tvist eller anmodning er under behandling.
- Dataportabilitet (art. 20): Du har ret til at få udleveret de oplysninger du selv har afleveret, i et struktureret, almindeligt anvendt og maskinlæsbart format. Vi udleverer et regneark (.xlsx) med én fane pr. datakategori: honorarer, fradrag, bilag, virksomheder, skattedata m.v. Har du brug for selve bilags-filerne, udleverer vi dem særskilt.
- Indsigelse (art. 21): Du kan gøre indsigelse mod behandling baseret på legitim interesse (art. 6(1)(f)). Vi vurderer indsigelsen konkret.
- Tilbagekaldelse af samtykke (art. 7): Hvor behandling er baseret på samtykke, kan du trække det tilbage når som helst, uden at det påvirker lovligheden af tidligere behandling.
- Klage til Datatilsynet: Du har altid ret til at klage til den danske tilsynsmyndighed:
Datatilsynet
Carl Jacobsens Vej 35
2500 Valby
Telefon: 33 19 32 00
E-mail: dt@datatilsynet.dk
Web: www.datatilsynet.dk
10. Sikkerhed
Vi har tekniske og organisatoriske foranstaltninger der står i rimeligt forhold til risikoen (GDPR art. 32), herunder:
- TLS-kryptering på al kommunikation mellem klienter og backend
- Adgangskoder hashes med Argon2id (industristandard), og vi opbevarer aldrig klartekst
- Adgangstokens roteres regelmæssigt, og mistænkelig aktivitet udløser fornyet login
- Database-isolering pr. bruger: én bruger kan ALDRIG læse en anden brugers data
- Append-only audit-log over alle væsentlige handlinger
- Rate-limiting på login, password-reset og API-kald
- Regelmæssige krypterede backups
- iOS-tokens i Keychain; valgfri FaceID-/PIN-lås for appen
- Internt princip om mindst mulig adgang. Admin-læseadgang til brugerdata logges separat
Hvis der opstår et sikkerhedsbrud som indebærer høj risiko for dine rettigheder, underretter vi dig direkte (GDPR art. 34) og anmelder til Datatilsynet inden for 72 timer (art. 33).
11. Børn
Riff er ikke rettet mod børn under 15 år (den danske samtykke-grænse i databeskyttelseslovens § 6, stk. 3). Vi registrerer ikke bevidst data om personer under 15.
12. Ændringer i denne politik
Vi opdaterer denne politik når tjenesten ændrer sig væsentligt. Datoen øverst viser senest opdaterede dato. Væsentlige ændringer varsler vi pr. e-mail mindst 14 dage før de træder i kraft.
Tidligere versioner kan rekvireres ved henvendelse til sylvester@riff-app.dk.
13. Kontakt
Alle spørgsmål om denne politik eller om dine personoplysninger: sylvester@riff-app.dk