Skatteetaten tilbyr samtykkebasert datauthenting basert på Altinn sin løsning for digitalt samtykke

Skatteetaten har taushetsplikt om skatteopplysninger med bare noen få unntak. Det kreves derfor i utgangspunktet lovhjemmel for å benytte Skatteetatens datatjenester.

Organisasjoner som ikke har lovhjemmel kan likevel ha lov til å innhente informasjon dersom Skattepliktig gir et eksplisitt, informert samtykke til å hente ut et avgrenset sett data. Dette skjer via samtykkeløsningen til Altinn

illustrasjon av samtykkeprosessen

For å bruke løsningen må datakonsument først redirecte skatteyter til samtykkeløsningen til Altinn. Dersom skatteyter samtykker til at ønskede data kan utleveres til datakonsumenten oppretter Altinn et samtykke (en representasjon av hva som er avtalt mellom Datakonsument og Skattepliktig). Datakonsumenten kan så hente data fra Skatteetatens datatjenester. Samtykket må sendes med dataforespørselen og blir kontrollert av Skatteetaten.

Datasamarbeid tjenester med støtte for samtykke

Krav for bruk av samtykke

Virksomheter som ønsker å benytte samtykke for å lese data fra skatteetaten må søke om dette. Dette gjøres på Skatteetatens sider. I forbindelse med behandling av søknaden vil det bli etablert en avtale som regulerer hvordan Skatteyter skal informeres, hvordan uthentede data skal behandles, grenser for ansvar osv.

Krav om ekstra informasjon

Ifm oppsett av autorisasjon må datakonsumenter som benytter samtykke oppgi noen ekstra opplysninger.

Skatteetaten sine krav ifm redirect til Altinn sin samtykketjeneste

For å starte en samtykkeingåelse må man redirecte sluttbruker til Altinn med parametre som forteller hvilke datatjenester man ønsker samtykke for, mm. Nedenfor er en oversikt over hvilke parametre/verdier som må benyttes for å etablere samtykke for bruk av Skatteetaten sine datatjenester.

For full oversikt over alle parametre som må/kan settes, se Altinn: be om samtykke

parameter forklaring eksempelverdi
Resources Punktum separert liste med ID_VERSJON for data tjenester man ønsker samtykke for. Se Tjeneste ID og Versjon 4628_1.4804_170223
CoveredBy Orgnummer for datakonsument. Må matche orgnummer i virksomhetssertifikat 123456789
RedirectURL Url-encoded url som sluttbruker skal redirectes til etter inngått samtykke. Må matche redirect domene regexp man har bestilt autorisering for https%3A%2F%2Fwww.datakonsument.no
ValidToDate Kan maksimalt være 10 dager frem i tid. Skatteetaten vil avvise samtykker med gyldighetsperioder lengre perioder enn 10 dager (selv om samtykket benyttes innen 10 dager) 2017-04-30T10:30:00Z
DelegationContext Url-encoded meldig til sluttbruker som vises i samtykkedialogen. For banker stilles det krav om hva teksten skal være se DelegationContext krav for banker
4804_170223_fraOgMed Parameter for Inntekt 2017-03
4804_170223_tilOgMed Parameter for Inntekt 2017-06
4628_1_inntektsaar Parameter for Skattegrunnlag 2016

Tjeneste ID og Versjon

Resource tjeneste
4628_1 Skattegrunnlag
4804_170223 Inntekt

Tjeneste parametre

Når man starter samtykkeinngåelsen må man ha med tjenestespesifikke parametre for de tjenestene man vil ha samtykke for.

Resource obligatoriske parametere forklaring eksempel
4628_1 4628_1_inntektsaar inntektsaar det skal hentes skattegrunnlag for &4628_1_inntektsaar=2015
4804_170223 4804_170223_fraOgMed startmåned det skal hentes inntektsopplysninger for &4804_170223_fraOgMed=2016-08
4804_170223 4804_170223_fraOgMed sluttmåned det skal hentes inntektsopplysninger for &4804_170223_tilOgMed=2016-10

Krav til DelegationContext

Banker som bruker samtykkeløsningen skal bruke DelegationContext:

Ved å samtykke, gir du Skatteetaten rett til å utlevere opplysninger om deg direkte til <banknavn>. Banken får opplysningene for å behandle søknaden din om finansiering

Denne teksten er avtalt mellom finansnæringen og Skatteetaten og SKAL brukes som beskrevet under.

Man må bytte <banknavn> til bankens navn og så urlencode teksten. Det finnes mange gode online verktøy for url encoding/decoding. Ferdig encoded vil teksten se noe slik ut:

Ved%20%C3%A5%20samtykke%2C%20gir%20du%20Skatteetaten%20rett%20til%20%C3%A5%20utlevere%20opplysninger%20om%20deg%20direkte%20til%20%3Cbanknavn%3E.%20%20Banken%20f%C3%A5r%20opplysningene%20for%20%C3%A5%20behandle%20s%C3%B8knaden%20din%20om%20finansiering

Krav om kontroll av samtykke

Hvis datakonsument ikke vet med sikkerhet hvem som har samtykket skal datakonsument kontrollere hvem samtykketoken gjelder for før spørring mot Datasamarbeid API utføres. Dette er spesielt aktuelt i tilfeller der det gis flere samtykker i samme saksflyt (for eksempel at flere personer søker lån sammen).

Se faq for hvordan man kan kontrollere samtykketoken, og mulige årsaker til roblemet.

Restriksjon på bruk av iFrames

Samtykkedialogen kan ikke innpakkes i en iFrame eller annen branding som er egnet til å utydeliggjøre domenet samtykkedialogen foregår på (som er altinn + idporten).

Dette er begrunnet med et potensielt misbruksscenario beskrevet i OAuth2-spesifikasjonen (clickjacking)

Eksempel

Eksempel redirect url

https://tt02.altinn.no/ui/AccessConsent/?Resources=4628_1.4804_170223&CoveredBy=123456789&RedirectUrl=http:%2F%2Fwww.datakonsument.no&ValidToDate=2017-09-10T10:30:00Z&DelegationContext=%20Ved%20%C3%A5%20samtykke,%20gir%20du%20Skatteetaten%20rett%20%20til%20%C3%A5%20utlevere%20%20opplysninger%20om%20deg%20direkte%20til%20Banken%20AS.%20Banken%20f%C3%A5r%20opplysningene%20for%20%C3%A5%20behandle%20s%C3%B8knaden%20din%20om%20finansiering.&ResponseType=code&4804_170223_fraOgMed=2017-05&4804_170223_tilOgMed=2017-07&4628_1_inntektsaar=2016

Veksle inn authcode

Se Altinn: veksle inn autorisasjonskode i token

Headerinformasjon

Altinn samtykketoken må settes i header i request til Skatteetaten sine datatjenester. Det er ikke nødvendig for datakonsument å lese samtykketoken eller sette seg inn i tokenformatet. For full dokumentasjon av tokenformat se Altinn: tokenformat

header forklaring eksempelverdi
AltinnSamtykke Base64 encoded JWT samtykketoken fra Altinn eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkthUGxpMFJUdVVUcl9yUXJWSmhzQkNXQS0yayJ9.eyJTZXJ2aWNlQ29kZXMiOiI0NjI4LDEiLCJBdXRob3JpemF0aW9uQ29kZSI6IjE1MzM0ZTcxLTVhMzEtNDE0Ny05MjA4LTNkYTFlZDYwNTY0OSIsIk9mZmVyZWRCeSI6IjA1MDg4MDAwMTEyIiwiQ292ZXJlZEJ5IjoiOTEwNTE0NDU4IiwiRGVsZWdhdGVkRGF0ZSI6IjE2LjAyLjIwMTcgMTc6MTc6MDYiLCJWYWxpZFRvRGF0ZSI6IjAxLjAxLjIwMTggMjM6NTk6NTkiLCJpc3MiOiJhbHRpbm4ubm8iLCJleHAiOjE0ODgzMDQzMDcsIm5iZiI6MTQ4ODMwNDI3N30.signatur_fjernet

Samtykketoken er base64-encodet og signert når det hentes fra Altinn sin datatjeneste. Det er bare gyldig i 30 sekunder, men man kan hente nytt token basert på authcoden så ofte man vil.

Samtykketoken er et JWT token og det finnes gode online verktøy for å lese tokens, f.eks. jwt.io

Tags: