Guidebibliotek

Fra AI-bygget prototype til et værktøj, andre kan bruge

Her forklarer vi de tekniske valg i almindeligt sprog. Guidebiblioteket er ikke et fast forløb: En app kan bruge Firebase, Supabase, Azure, SQL eller en anden kombination. Vælg de emner, der passer til jeres løsning. Hver guide fortæller, hvorfor emnet betyder noget, hvad I selv kan gøre, og hvornår en forkert opsætning kan blive dyr eller usikker.

Godt at vide: GitHub beskytter koden og historikken, men det er ikke i sig selv backup af appens database, filer eller adgangsopsætning. De dele får deres egne guides.

Hvornår bruger man hvad?

De fleste apps kombinerer flere emner. Start med det problem, I skal løse, og vælg kun de teknologier, som passer til jeres data, brugere og eksisterende miljø.

Brugerne ved ikke, om appen er nede, eller om de selv gør noget forkert
Giv dem én tilgængelig statuskanal med berørte funktioner, sikre handlinger og tidspunkt for næste opdatering. Varsl planlagt vedligeholdelse med tidszone og påvirkning, og meld først normal drift efter en rigtig brugerrejse er testet.
Brugerne melder fejl i private beskeder, og ingen ved hvad der haster
Saml henvendelser i én kø med sagsnummer og ejer. Brug en sikker rapportskabelon, prioritér efter konsekvens og omfang, forbind sagen med logs via en reference, og eskalér straks ved mulig data- eller sikkerhedspåvirkning.
Vi beskytter alle data ens og ved ikke, hvad der er mest kritisk
Saml appens vigtigste datatyper, og vurder konsekvensen ved tab af fortrolighed, integritet og tilgængelighed hver for sig. Knyt derefter niveauet til konkrete regler for adgang, testkopier, logs, backup, deling og sletning.
Vi kan ikke samlet forklare, hvilke persondata appen bruger og hvorfor
Lav en behandlingsfortegnelse pr. forståelig aktivitet, og kontrollér formål, persongrupper, datakategorier, modtagere, overførsler, slettefrister og sikkerhed mod den faktiske database, filer, login, logs og integrationer.
Udvikling eller staging bruger en kopi af rigtige kunder og medarbejdere
Byg et genskabeligt sæt syntetiske data med de relationer og grænsetilfælde, testen kræver. Hvis produktionsdata undtagelsesvis er nødvendige, så begræns udsnittet, reducér identifikation, beskyt miljøet efter risikoen og sæt automatisk udløb.
Appen bruger cookie-login, men vi ved ikke, om et fremmed website kan udløse ændringer
Kortlæg alle ændrende endpoints, brug frameworkets servervaliderede CSRF-kontrol, og test manglende tokens, simple cross-site requests, SameSite, CORS og Fetch Metadata i den faktiske arkitektur.
Vi ved ikke, om gamle brugere, administratorer og integrationer stadig har adgang
Tag et samlet øjebliksbillede af mennesker, grupper og maskinidentiteter. Bekræft ejer, formål og nødvendigt omfang, og gennemfør fjernelse eller begrænsning som små, testede driftsændringer.
Appen bruger persondata på en måde, der kan få store konsekvenser for mennesker
Afgræns den konkrete behandling, kontrollér Datatilsynets liste og risikokriterierne, og lav en DPIA før drift, hvis behandlingen sandsynligvis indebærer høj risiko. Knyt hver væsentlig risiko til en testbar ændring og en ansvarlig beslutning.
En kunde eller sikkerhedsresearcher finder en mulig sårbarhed, men ved ikke hvordan den kan meldes privat
Opret en overvåget kontaktvej med en navngiven ejer, udgiv security.txt og en kort rapporteringspolicy, og øv hvordan et fund registreres, genskabes sikkert, eskaleres og besvares.
Appen indsamler persondata, men privatlivsteksten er en gammel standardskabelon
Kortlæg hvert formål, datakilde, grundlag, modtager og slettefrist. Vis den relevante forklaring ved formularen eller flowet, gør den fulde tekst let at finde i appen, og kontrollér den ved ændringer.
En bruger logger ud, men browseren kan stadig huske kundedata
Kortlæg localStorage, sessionStorage, IndexedDB, service-worker-cache, HTTP-cache og auth-persistens. Vælg hvad der må overleve, og test delt enhed, åbne faner, offline-visning og kontoskift.
Appen bruger flere cloud- og AI-tjenester, men ingen har samlet leverandørkæden
Følg persondata gennem hosting, database, login, mail, logs, support og AI-kald. Registrér roller, aftaler, underdatabehandlere og behandlingssteder, og gør ændringsvarsler og risikobaseret tilsyn til en fast driftsopgave.
En kunde eller medarbejder beder om indsigt, rettelse eller sletning
Registrér fristen, kontrollér identiteten og find personen på tværs af app, filer, logs og leverandører. Vurder hver datakilde, beskyt andre personers oplysninger, og verificér udleveringen eller ændringen før sagen lukkes.
Appen virker, men vi er ikke klar til at åbne for alle medarbejdere eller kunder
Kør en afgrænset pilot med repræsentative brugere, kendte data og en tydelig supportvej. Aftal målinger, stopkriterier og alternativ arbejdsgang, så brugen kan udvides eller stoppes på baggrund af beviser.
Vi vil bruge AI direkte i kodeprojektet
Cursor kan hjælpe med at forstå og ændre kode. Brug Git som sikkerhedsnet, giv små afgrænsede opgaver, beskyt følsomme filer, og gennemgå altid diff og tests før udgivelse.
Webappen skal kunne installeres og håndtere ustabilt netværk
PWA-guiden hjælper med installation, app-shell, cache, service worker og opdateringer. Vælg native app, hvis kernefunktionen kræver dyb platform- eller hardwareadgang.
Medarbejdere gemmer data uden net, men vi ved ikke hvad der sker ved næste synkronisering
Skeln mellem lokal kladde, afventende kø og serverbekræftet data. Brug stabile operation-id'er, vælg konflikt- og sletteregler, kontrollér adgang igen ved sync, og test afbrydelser på tværs af enheder og appversioner.
Vi skal vælge, hvor webappen skal hostes
Netlify passer ofte til enkel frontendhosting, Vercel til Next.js, Firebase Hosting til Firebase-apps og Azure til Microsoft-miljøer. Vælg først efter appens runtime, backend og driftskrav.
Vi kan ikke se, om en fejl pludselig gør appen dyr
Kortlæg de handlinger, der driver database, compute, filer, netværk og eksterne API-kald. Kombinér budgetalarmer med tekniske forbrugsmål og afgrænsede grænser i appen.
Login virker, men vi kan ikke lukke stjålne sessioner eller gendanne en konto sikkert
Kortlæg MFA, sessioners levetid, genbekræftelse, tilbagekaldelse og kontogendannelse. Test også mistet enhed, flere aktive enheder og fratrådte brugere.
Medarbejdere eller kunder skal inviteres ind i den rigtige virksomhed
Behandl invitationen som en adgangsbeslutning. Serveren skal binde den inviterede identitet til virksomhed og rolle, mens linket skal udløbe, kunne tilbagekaldes og kun kunne bruges én gang.
Vi skal købe domæne eller forbinde web, mail og hosting
Start med korrekt ejerskab og DNS. Dokumentér records, vælg forhandler, beskyt kontoen, og flyt aldrig navneservere uden at sikre mail og verifikationer.
Vi skal kunne genskabe appen efter sletning, fejl eller nedbrud
Lav en samlet plan for kode, data, filer, konfiguration og adgang. En backup giver først ro, når en gendannelse er afprøvet i et sikkert miljø og dokumenteret.
Vi skal kunne flytte appen eller skifte leverandør
Lav en exit-pakke med kode, data, filer, brugere og nødvendig konfiguration. Kontrollér platformens eksportgrænser, og test at materialet kan forstås og genbruges uden adgang til produktion.
Medarbejdere henter rapporter til CSV eller Excel
Behandl downloadknappen som en dataadgang: afgræns omfang og felter på serveren, håndtér regnearksformler, og test den færdige fil i de programmer, virksomheden bruger.
Vi har API-nøgler, tokens eller databaseadgange i projektet
Kortlæg hvad der reelt er hemmeligt, hold secrets ude af frontend og Git, adskil miljøer, begræns rettigheder, og dokumentér rotation og lækhåndtering. Vælg opbevaring efter den cloud og hosting, appen allerede bruger.
Vi opdager først fejl, når en bruger fortæller os det
Kortlæg kritiske handlinger, brug hostingens logs, kontrollér appen udefra, og send få alarmer til en navngiven ansvarlig. Vælg værktøjer efter den stack, appen allerede bruger.
Vi har overvågning, men intet fælles mål for hvornår appen virker godt nok
Vælg kritiske brugerrejser, mål deres faktiske resultat, og aftal realistiske SLI'er og SLO'er. Hold interne driftsmål adskilt fra eksterne SLA-løfter.
Brugeren møder en blank side eller ved ikke, om arbejdet blev gemt
Skeln mellem kendte og uventede fejl, giv et sikkert og handlingsklart svar, bevar input, og forbind brugerens reference med den tekniske hændelse uden at vise interne detaljer.
Alarmen er kommet, men ingen ved hvem der beslutter eller informerer
Lav et lille driftsberedskab med kriterier, roller, hændelseslog, sikre stabiliseringsvalg, fast statusrytme og kontrol af data og brugerrejser før hændelsen lukkes.
Loginlinks, kvitteringer eller andre vigtige app-mails forsvinder
Godkend afsenderdomænet, skeln mellem accepteret og leveret, beskyt tokens, håndtér bounces og suppression, og overvåg hele forløbet fra brugerhandling til modtagersystem.
Vi kan se den aktuelle værdi, men ikke hvem der ændrede eller slettede den
Et revisionsspor gemmer de kritiske forretningshændelser med aktør, objekt, resultat og relevante ændringer. Hold det adskilt fra almindelige fejllogs, og beskyt historikken mod fri redigering.
Kun én person ved, hvordan appen drives og overtages
Saml et systemkort, ansvar, deployment, rollback, runbooks og adgangsveje i versionsstyret dokumentation, og lad en anden person afprøve den uden mundtlige genveje.
Cloudmiljøet er bygget med manuelle klik, som ingen kan genskabe sikkert
Kortlæg de faktiske ressourcer og skjulte indstillinger, vælg infrastruktur som kode efter stacken, overtag eksisterende produktion uden uventede ændringer, og bevis opsætningen i et isoleret miljø.
GitHub, cloud eller domænet hænger på én privat konto
Kortlæg platformenes ejer- og recovery-model, flyt ressourcer til virksomhedens organisation eller team, begræns daglig adminadgang, og lad en anden person afprøve login, deployment, fakturering og nødvej.
Pakker og runtime bliver ældre, men ingen ejer opdateringerne
Kortlæg manifest, lockfile, runtime og deployment, aktivér sikkerhedsalarmer, og send hver opdatering gennem risikovurdering, review, test og en kontrolleret udgivelse.
Hver ændring går direkte live, og vejen tilbage er uklar
Adskil testdata og produktionsdata, brug platformens preview eller staging efter appens risiko, kør et fast smoke test, og dokumentér rollback for både deploy og data.
Appen kan kun udgives fra én computer med en gemt produktionsnøgle
Kortlæg den faktiske deploymentvej, adskil buildkontrol fra produktionsadgang, brug en afgrænset maskinidentitet, undgå overlappende releases, og forbind hver live-version med commit, workflow og smoke test.
Den nye version virker, men gamle faner får blank side eller kan ikke åbne en funktion
Lad HTML genvalidere, behold eller håndtér gamle lazy-loaded filer, afgræns SPA-fallback, og test service worker og tidligere frontend mod den nye release.
En risikabel funktion skal kunne åbnes gradvist eller stoppes uden nyt deploy
Brug et feature flag med en sikker standard, tydelig ejer, afgrænset målgruppe og målbare stopkriterier. Håndhæv stadig adgang på serveren, og øv nødstop for app, API og igangværende jobs.
Vi ved ikke, om en ændring har brudt en vigtig arbejdsgang
Lav en risikobaseret teststrategi for de kritiske brugerrejser. Vælg det rette testniveau, brug kontrollerede testdata, og kør de vigtigste kontroller automatisk før udgivelse.
Integrationen er grøn, men appen og det eksterne system viser forskellige data
Vælg en sandhedskilde for hvert vigtigt faktum, sammenlign stabile id’er og sluttilstande på en tidsplan, og send uafklarede eller risikable forskelle til kontrolleret behandling.
Appen virker i vores Chrome, men medarbejderne bruger også Safari, Firefox og telefoner
Aftal en realistisk supportmatrix, kontrollér kritiske flows i flere browsermotorer, og supplér mobil simulering med de rigtige enheder, når kamera, filer, touch eller firmapolitikker har betydning.
Appen virker for én person, men vi kender ikke kapaciteten
Belastningstest efterligner et kritisk brugerforløb med realistisk samtidighed. Sæt mål ud fra arbejdsdagen, mål hele kæden, og kontrollér både svartid, fejl og data efter testen.
Appen er hurtig med testdata, men lister og søgning bliver langsomme, når data vokser
Find skærme, der henter hele datasættet, og giv hver query et loft, filtre og stabil sortering. Brug datalagerets pagination og optællinger, mål indeks, og test med en realistisk datamængde.
En administrator kan slette eller ændre mange data på én gang
Beregn en konkret forhåndsvisning på serveren, vis mål og følgevirkning, kontrollér rettighed og omfang igen ved udførelse, og planlæg atomisk ændring eller et sikkert job med revisionsspor og gendannelse.
To brugere kan redigere, booke eller gemme de samme data samtidig
Beskriv den forretningsregel, der ikke må brydes, og beskyt den med en atomisk kontrol. Brug transaktioner til samlet læsning og skrivning, versionskontrol mod overskrivning og idempotens mod gentagne requests.
En sag, ordre eller booking kan springe over godkendelser eller ende i en umulig status
Beskriv tilladte overgange med aktør og betingelser, håndhæv dem ved server eller dataregler, og registrér eksterne sideeffekter som sikkert genkørbart arbejde efter statusskiftet.
Én konto kan alene ændre bankoplysninger, give adminadgang eller udføre andre kritiske handlinger
Udvælg handlinger efter reel konsekvens, og lad én person oprette et præcist beslutningsgrundlag, som en anden godkender. Bind beslutningen til dataene, afvis self-review på serveren, og kontrollér alt igen før udførelse.
Bookinger, deadlines eller planlagte jobs kan ramme forkert omkring sommertid
Skeln mellem et præcist øjeblik, en lokal aftale, en ren dato og en gentagelse. Bevar den navngivne tidszone, vælg lokal tid eller fast kadence bevidst, og test manglende, dobbelte og forsinkede kørsler.
Vi skal flytte Excel-, CSV- eller gamle systemdata ind i appen
Kortlæg felter og stabile kildenøgler, valider i et mellemområde, gør importen sikker at genkøre, og afstem antal, summer og relationer før brugerne overtager data.
Vi skal ændre tabeller eller kolonner, mens appen er i drift
Læg skemaændringen i Git, hold gammel og ny kode kompatibel, flyt eksisterende data i kontrollerede batches, og mål låse og køretid før den gamle struktur fjernes.
Brugerne kan logge ind, men vi ved ikke præcist, hvem der må se og ændre hvad
Lav en adgangsmatrix for roller, virksomheder og dataposter. Håndhæv den ved API, database eller Security Rules, og test også de handlinger, som skal afvises.
Flere virksomheder bruger samme app, og deres data må aldrig blandes
Forbind den indloggede bruger med en serververificeret virksomhed, og håndhæv grænsen på tværs af API, database, filer, cache, jobs og eksport. Bevis afslag med to realistiske testvirksomheder.
Support skal kunne se brugerens problem uden permanent adgang til hele produktionen
Start med dataminimeret diagnostik, og åbn kun en navngiven, tidsbegrænset supportsession med konkret sag, mål og omfang. Bevar den virkelige aktør, vis supporttilstanden tydeligt, og log start, handlinger og afslutning.
Koden er AI-bygget, men ingen har systematisk kontrolleret den for lækkede secrets og sårbarheder
Baselinér eksisterende fund, og brug secret scanning, dependency review og statisk kodeanalyse efter projektets sprog og risiko. Lad stabile kontroller vise nye fund i pull requests, og giv hver alarm en ejer og dokumenteret vurdering.
Vi ved ikke, hvor appens pakker, kodeudsnit, fonte og ikoner kommer fra, eller hvilke vilkår der følger med
Lav et versionsbundet komponentinventar med kilde, licens og ansvarlig vurdering. Brug en SBOM til registrerede dependencies, gennemgå også manuelle kode- og assetkilder, og afklar ukendt oprindelse før kundelevering.
Scanningerne er grønne, men ingen har prøvet appens adgangsgrænser som en angriber
Afgræns en autoriseret sikkerhedstest med repræsentative roller, tenants og testdata. Prøv både tekniske kontroller og forretningslogik, og luk fund med årsagsrettelse, regressionstest og retest.
Vi har mange sikkerhedsråd, men ved ikke hvilke risici der er vigtigst i vores app
Afgræns en kritisk brugerrejse, tegn dataflow og tillidsgrænser, beskriv konkrete misbrugsscenarier, og forbind de vigtigste risici med en ejer, beslutning og testbart bevis.
API'et kan kaldes uden om formularen, og vi mangler grænser for input og misbrug
Kortlæg endpoints og webhooks, valider input og tilladte felter på serveren, vælg korrekt CORS- og CSRF-beskyttelse, og begræns størrelse, frekvens og dyre handlinger efter den konkrete stack.
En ny backend kan ramme gamle browsertabs, mobilapps eller integrationer
Beskriv API'ets requests, svar og adfærd som en kontrakt. Bevar gammel form under overgangen, test tidligere klient mod ny backend, og versionér kun når et reelt brud ikke kan undgås.
Offentlige formularer, bookinger eller dyre kald kan automatiseres og misbruges
Vurder skaden i hvert forretningsflow, og kombiner passende grænser pr. konto, virksomhed, session, flow og eventuelt IP. Håndhæv dem på serveren, brug botkontrol som ekstra lag, og mål både afvisninger, omkostning og legitime brugere, der rammes.
AI-funktionen læser tekst eller filer og kan bruge værktøjer i andre systemer
Behandl eksternt indhold som ubetroet, begræns data og værktøjer, validér modellens forslag på serveren, og kræv en konkret godkendelse før sletning, betaling, adgangsændring eller ekstern kommunikation.
Data fra brugere eller integrationer bliver vist i browseren, men vi har ikke gennemgået XSS og headers
Kortlæg hvor ubetroede værdier bliver til tekst, HTML, links eller scripts. Bevar frameworkets sikre rendering, sanitér nødvendig formateret tekst, og afprøv en tilpasset Content Security Policy før håndhævelse.
Appens server henter filer, previews eller webhookadresser fra en URL
Fjern den frie URL, når behovet kan løses med upload eller et kendt leverandør-id. Ellers skal protokol, destination, opløst IP og redirects kontrolleres, mens netværk, tid, størrelse og samtidighed afgrænses.
Betalings-, booking- eller statushændelser kommer via webhooks
Kontrollér leverandørens signatur på den rå request, gem eventet før kvittering, og gør behandlingen sikker ved dubletter, forsinkelse, forkert rækkefølge og genbehandling. Vælg endpoint og kø efter appens eksisterende stack.
Kunder skal betale i appen uden falsk status eller dobbelt levering
Lad betalingsudbyderen indsamle kortoplysninger, beregn ordren på serveren, behandl retur-siden som status, bekræft med signerede webhooks, og afstem lokale ordrer med de faktiske betalinger.
Et abonnement skal åbne og lukke de rigtige funktioner på det rigtige tidspunkt
Adskil faktura, abonnementsstatus og produktadgang. Skriv regler for prøveperiode, fornyelsesfejl, planskift og opsigelse, opdatér gennem verificerede webhooks, og afstem løbende mod betalingsudbyderen.
Priser, rabatter, moms eller totaler kan afvige med få øre mellem appen og bogføringen
Vælg hele minor units eller en egnet decimaltype, saml serverens beregning og afrundingsregel, bevar godkendte beløb som historik, og afstem hver systemgrænse på både værdi og valuta.
Appen kalder et eksternt system, men kan hænge eller gentage handlingen ved fejl
Sæt en timeout på hvert kald, retry kun fejl der kan være midlertidige, brug idempotens ved skrivning, og bevar en ærlig mellemstatus, når leverandørens resultat ikke kan bekræftes.
Appen bruger persondata, men ingen har samlet overblik over formål, leverandører og sletning
Kortlæg dataflowet fra formular til database, logs, integrationer, AI-tjenester og backup. Afklar ansvar, grundlag, dataminimering, slettefrister, brugerrettigheder, risici og håndtering af sikkerhedsbrud.
Gamle kunder, filer og logs bliver aldrig slettet automatisk
Knyt hvert datasæt til en konkret starthændelse, frist og sluttilstand. Kortlæg alle kopier, og kør sletning eller anonymisering i kontrollerede batches med måling, fejlalarm og hensyn til backup.
Vi har et cookiebanner, men ved ikke om statistik og marketing faktisk venter på valget
Kortlæg cookies, pixels, browserlagring og tredjepartsrequests. Adskil formål, blokér ikke-nødvendige tags før valg, gør afvisning og tilbagetrækning brugbar, og test den faktiske netværkstrafik i en ren browser.
Vi skal eje koden og kunne rulle tilbage
Brug GitHub til kode og historik. Beskyt den stabile branch med pull requests og relevante checks, hvis ændringer ikke må kunne gå direkte i drift.
Medarbejderne skal bruge deres arbejdskonto
Vælg Microsoft Entra SSO, hvis virksomheden bruger Microsoft 365. Firebase Auth kan passe til appens egne brugerkonti.
Vi skal hoste en webapp og gemme dokumentdata
Firebase Hosting og Firestore kan være en enkel samlet løsning til en frontend og en dokumentdatabase.
Appen bruger Supabase direkte fra browseren, men vi har ikke testet dataadgangen
Kortlæg nøgletyper og eksponerede tabeller, begræns grants, håndhæv RLS pr. bruger og virksomhed, og test afslag uden om brugerfladen. Gennemgå også Storage, views, funktioner og Realtime.
Vi skal modtage webhooks eller køre backendkode i Azure
Azure Functions passer til små API'er, integrationer, køer og planlagte opgaver i et Azure-miljø.
Vi skal gemme enkle opslag eller filer i Azure
Brug Table Storage til simple poster, der findes via kendte nøgler, og Blob Storage til PDF'er, billeder og andre filer. Vælg SQL, når data kræver relationer, joins eller fri rapportering.
Vi har strukturerede relationer, rapportering eller mange sammenhængende data
En SQL-database kan være bedre end en dokumentdatabase. SQL-guiden forklarer datamodel, constraints, sikker adgang, migreringer og forbindelser med PostgreSQL som praktisk eksempel.
Serverless-appen virker i test, men får forbindelsesfejl, når flere bruger den
Kortlæg databasegrænsen, hver instans' pool og platformens samtidighed. Vælg direct, session eller transaction pooling efter runtime og opgave, og mål både poolventetid, queries og brugerflow. Guiden til databaseforbindelser viser den praktiske gennemgang.
Appen skal arbejde med en brugers Google Drive, Gmail eller Kalender
Brug Google OAuth til afgrænset samtykke uden at dele adgangskoder. Vælg målgruppe og mindst mulige scopes, beskyt callback og tokens, og adskil test- og produktionsklienter.
Medarbejdere eller kunder skal uploade dokumenter og billeder
Brug privat lager, afgræns typer og størrelse, kontrollér adgang til den enkelte fil, og læg risikable filer i karantæne før behandling eller deling. Teknologien kan være Firebase, Azure eller et andet objektlager.

Vælg den driftsopgave, der er relevant for jeres løsning

Emnerne er selvstændige opslag. Brug dem i den rækkefølge og kombination, som passer til jeres teknologi, risici og brugere.

Brugersupport og stabil drift · Klar

Driftsstatus: fortæl brugerne hvad der virker

Brug en tilgængelig statuskanal, beskriv påvirkning og sikre alternativer, varsling af vedligeholdelse og verificér den kritiske brugerrejse før normal drift meldes.

Læs guiden
Brugersupport og stabil drift · Klar

Supportproces: få fejl fra bruger til løsning

Saml henvendelser ét sted, indhent sikre fejlbeviser, prioritér efter konsekvens, forbind sagen med logs, og eskalér drift, sikkerhed og persondata i tide.

Læs guiden
Data og risikostyring · Klar

Dataklassifikation: beskyt det vigtigste først

Vurdér datatyper efter fortrolighed, integritet og tilgængelighed, og omsæt niveauerne til konkrete regler for adgang, test, logs, backup, deling og sletning.

Læs guiden
Persondata og dokumentation · Klar

Behandlingsfortegnelse: forbind GDPR-overblikket med den virkelige app

Beskriv formål, persongrupper, datakategorier, modtagere, overførsler, slettefrister og sikkerhed, og hold fortegnelsen opdateret når appens dataflow ændres.

Læs guiden
Test, miljøer og persondata · Klar

Testdata: undgå kopier af rigtige kunder i udvikling og staging

Byg syntetiske fixtures med realistiske relationer og grænsetilfælde, og begræns, beskyt og slet produktionsdata, hvis en konkret test undtagelsesvis kræver dem.

Læs guiden
Login, browser og API-sikkerhed · Klar

CSRF-beskyttelse: stop skjulte handlinger med brugerens session

Kortlæg cookie-baserede ændringer, brug frameworkets servervaliderede kontrol, og test tokens, SameSite, CORS og Fetch Metadata mod forfalskede requests.

Læs guiden
Brugere, adgang og drift · Klar

Adgangsreview: find glemte konti og for brede rettigheder

Gennemgå brugere, administratorer, gæster, grupper, servicekonti og integrationer, bekræft ejer og behov, og fjern gammel adgang med kontrolleret efterprøvning.

Læs guiden
Stabil drift og forventninger · Klar

Driftsmål: mål om appen virker for brugerne

Vælg kritiske brugerrejser, definér SLI og SLO, skeln interne mål fra SLA-løfter, og brug fejlbudget og alarmer til konkrete driftsbeslutninger.

Læs guiden
Persondata og risikovurdering · Klar

DPIA og konsekvensanalyse: vurder høj risiko før drift

Afklar om behandlingen kræver en DPIA, beskriv det faktiske dataflow, vurder nødvendighed og konsekvenser for mennesker, og forbind hver væsentlig risiko med en testbar foranstaltning.

Læs guiden
Sikkerhed og beredskab · Klar

Rapportering af sikkerhedsfejl: gør kontaktvejen privat og tydelig

Opret en kanal med en reel ejer, udgiv security.txt og en kort policy, og øv hvordan et fund modtages, genskabes sikkert, eskaleres og afsluttes.

Læs guiden
Persondata og gennemsigtighed · Klar

Privatlivsinformation: forklar hvad appen gør med persondata

Forbind appens faktiske dataflow med formål, grundlag, modtagere og slettefrister, og vis forståelig information dér, hvor kunder og medarbejdere afgiver deres data.

Læs guiden
Brugere og data på enheden · Klar

Browserlagring og sikker logout: efterlad ikke brugerdata på enheden

Kortlæg localStorage, IndexedDB og caches, vælg hvad der må overleve, og test at logout og kontoskift ikke viser den forrige brugers data.

Læs guiden
Persondata og leverandører · Klar

Databehandlere: forbind aftalerne med appens faktiske leverandørkæde

Kortlæg hosting, database, login, mail, overvågning og AI-tjenester, kontrollér databehandleraftaler og underdatabehandlere, og før tilsyn efter den konkrete risiko.

Læs guiden
Persondata og rettigheder · Klar

GDPR-anmodninger: find, udlever, ret og slet persondata sikkert

Kontrollér identitet, find data på tværs af app og leverandører, beskyt andre personer, håndtér backup og modtagere, og verificér den færdige ændring eller udlevering.

Læs guiden
Brugere og adgang · Klar

Fratrædelse og rolleskift: luk adgang uden at slette historik

Deaktivér konti, luk aktive sessioner, fjern gamle rettigheder, overfør opgaver og integrationer, og verificér at adgangen faktisk er væk.

Læs guiden
Ibrugtagning og drift · Klar

Pilotdrift: luk rigtige brugere ind uden big bang

Afgræns brugergruppe, funktioner og data, gør support og målinger synlige, og aftal på forhånd hvornår piloten udvides, holdes eller stoppes.

Læs guiden
Klar

GitHub: få styr på koden og historikken

Forstå hvorfor et repository er fundamentet under en app, og få jeres eksisterende projekt sikkert ind i et privat GitHub-repository.

Læs guiden
Klar

Cursor som IDE: brug AI uden at miste kontrollen

Brug Cursor til afgrænsede kodeopgaver med gode prompts, projektregler, Privacy Mode, Git, review og automatiske kontroller.

Læs guiden
Klar

PWA: gør webappen installérbar og mere robust

Forstå hvornår en Progressive Web App giver mening, og få styr på manifest, service worker, offline-data, opdateringer og test.

Læs guiden
Data og stabil drift · Klar

Offline data og synkronisering: undgå dubletter og tabte ændringer

Afgræns offline-flowet, vis forskel på lokal og synkroniseret data, gør retries idempotente, håndtér konflikter og sletninger, og test gammel kø mod ny appversion.

Læs guiden
Klar

Hosting: Netlify, Vercel, Firebase eller Azure?

Sammenlign platformenes styrker, ulemper, prisrisici og binding, og vælg efter frontend, backend og virksomhedens eksisterende cloudmiljø.

Læs guiden
Klar

Cloudbudget og forbrugsalarmer: stop løbsk forbrug i tide

Kortlæg de handlinger, der skaber regningen, opsæt budget- og forbrugsalarmer, begræns dyre funktioner, og planlæg reduceret drift uden at slukke ukritisk for hele appen.

Læs guiden
Klar

Sikkert login i drift: MFA, sessioner og kontogendannelse

Beskyt privilegerede konti, vælg sessioners levetid, tilbagekald adgang ved tyveri eller fratrædelse, og gendan konti uden en usikker supportgenvej.

Læs guiden
Klar

Brugerinvitationer: forbind person, virksomhed og rolle sikkert

Lad serveren styre inviterende administrator, modtager, virksomhed, rolle og status, og beskyt invitationslinket med udløb, engangsbrug, identitetskontrol og negative tests.

Læs guiden
Klar

DNS og domæner: køb, ejerskab og sikker opsætning

Forstå domæne, DNS og hosting, køb domænet i virksomhedens navn, og flyt web og mail uden at miste vigtige records.

Læs guiden
Klar

Backup og gendannelse: bevis at appen kan komme tilbage

Kortlæg kode, database, filer, konfiguration og adgang, vælg en realistisk backupplan, og gennemfør en sikker gendannelsestest.

Læs guiden
Klar

Dataeksport og exit-plan: bevis at appen kan flyttes

Kortlæg kode, data, filer, brugere og konfiguration, kontrollér platformens eksportgrænser, og afprøv en exit-pakke uden adgang til produktion.

Læs guiden
Klar

CSV- og Excel-eksport: afgræns data og stop farlige formler

Kontrollér bruger, virksomhed, filtre og felter på serveren, generér CSV korrekt, beskyt mod formelinjektion, og test store eksporter og kortlivede downloads.

Læs guiden
Klar

API-nøgler og secrets: placering, adgang og rotation

Find følsomme adgange, få dem ud af frontend og Git, adskil miljøer, begræns rettigheder, og afprøv rotation og lækhåndtering.

Læs guiden
Sikkerhed og data · Klar

Kryptering af data: forstå HTTPS, lagring og nøgleansvar

Kortlæg dataflowet, kontrollér TLS og kryptering i hvile, vælg nøglemodel efter risiko, beskyt kopier, og afprøv rotation uden at bygge jeres egen kryptografi.

Læs guiden
Klar

Logning og overvågning: opdag fejl før brugerne gør

Kortlæg kritiske brugerforløb, skriv brugbare logs, beskyt persondata, opsæt uptime checks og alarmer, og lav en enkel runbook til driftsfejl.

Læs guiden
Klar

Fejlhåndtering: undgå blanke sider og tabt arbejde

Skeln mellem kendte og uventede fejl, giv sikre og konkrete beskeder, bevar brugerens arbejde, standardisér API-fejl, og test fallback og ukendt resultat.

Læs guiden
Klar

Driftsberedskab: håndtér nedbrud og sikkerhedshændelser

Aftal hvornår en hændelse erklæres, fordel roller, stabilisér driften, kommunikér med fakta, håndtér mulige persondatabrud, og lær af forløbet.

Læs guiden
Klar

Transaktionelle emails: få loginlinks og kvitteringer frem

Kortlæg kritiske mails, godkend afsenderen med SPF, DKIM og DMARC, beskyt loginlinks, håndtér bounces, og overvåg den faktiske leveringsstatus.

Læs guiden
Klar

Revisionslog: se hvem der ændrede hvad

Vælg kritiske hændelser, registrér aktør, handling, objekt og relevante ændringer, beskyt historikken mod omskrivning, og test at andre kan rekonstruere et forløb.

Læs guiden
Klar

Driftsdokumentation: gør appen uafhængig af hukommelse

Saml README, systemkort, ansvar, deployment, rollback, runbooks og overdragelsestest, så andre kan drive appen uden at gætte.

Læs guiden
Klar

Infrastruktur som kode: gør cloudopsætningen genskabelig

Kortlæg manuelle cloudressourcer, vælg IaC efter den eksisterende stack, overtag produktion sikkert, beskyt state og secrets, og bevis opsætningen i et isoleret miljø.

Læs guiden
Klar

Ejerskab og administratoradgang: behold kontrollen over platformene

Kortlæg GitHub, cloud, hosting, domæne og leverandørkonti, placér ejerskab hos virksomheden, begræns daglig adminadgang, og afprøv offboarding og nødadgang.

Læs guiden
Klar

Afhængigheder og opdateringer: hold pakker og runtime ved lige

Kortlæg pakker, lockfile og runtime, aktivér sikkerhedsalarmer, vurder risiko, og afprøv opdateringer uden at satse produktionen.

Læs guiden
Klar

Testmiljø og rollback: udgiv uden at satse driften

Adskil test og produktion, brug preview eller staging efter risiko, kør et fast smoke test, og afprøv en rollback, der også tager højde for data.

Læs guiden
Klar

Feature flags og nødstop: åbn og luk risikable funktioner roligt

Adskil deployment fra frigivelse, vælg en sikker standard, åbn for en afgrænset målgruppe, mål virkningen, og øv et nødstop uden at bruge flag som adgangskontrol.

Læs guiden
Klar

Teststrategi: beskyt de kritiske brugerrejser

Udvælg de største risici, fordel dem på unit-, komponent-, integrations- og browser-tests, hold testdata ude af produktion, og lad relevante kontroller stoppe en dårlig udgivelse.

Læs guiden
Klar

Belastningstest og kapacitet: afprøv appen med flere brugere

Vælg et kritisk brugerforløb, sæt mål ud fra den virkelige arbejdsdag, beskyt testdata og produktion, og find flaskehalse på tværs af API, database, køer og integrationer.

Læs guiden
Test og brugeroplevelse · Klar

Browserkompatibilitet: test på brugernes enheder

Vælg en realistisk browser- og enhedsmatrix, kontrollér webfunktioner frem for browsernavne, automatisér kritiske flows, og brug rigtige enheder til de risikable handlinger.

Læs guiden
Klar

Store datamængder: hent det nødvendige frem for hele databasen

Find brede datalæsninger, afgræns lister og søgning, brug stabil pagination, mål indeks og optællinger, og test med realistiske datamængder uden at svække adgangskontrollen.

Læs guiden
Klar

Sletning og massehandlinger: begræns skade og gør fejl mulige at rette

Vis præcist hvad handlingen rammer, kontrollér bruger og omfang på serveren, håndtér relationer og store jobs, og afprøv revisionsspor og gendannelse.

Læs guiden
Klar

Samtidige ændringer: undgå overskrivninger og dubletter

Beskyt bookinger, ordrer og redigeringer med atomiske regler, transaktioner, versionskontrol og idempotens, og test hvad der sker, når handlinger overlapper.

Læs guiden
Klar

Status og arbejdsgange: stop ugyldige spring i appen

Kortlæg tilladte overgange, aktører og betingelser, håndhæv dem ved dataadgangen, og adskil statusskift fra email, betaling og andre sideeffekter.

Læs guiden
Brugere og adgang · Klar

Kritiske handlinger: adskil bestilling og godkendelse

Vælg højrisikohandlinger efter konsekvens, bind godkendelsen til de konkrete data, afvis self-review på serveren, og test udløb, samtidighed og nødadgang.

Læs guiden
Klar

Baggrundsjob og jobkøer: få langsomme opgaver sikkert i mål

Flyt imports, rapporter og integrationer ud af webrequestet, vis ærlig jobstatus, og beskyt retries mod tabte opgaver, dubletter og skjulte fejl.

Læs guiden
Klar

Tidszoner og sommertid: kør bookinger og jobs på rette tid

Skeln mellem øjeblikke, lokale aftaler, datoer og gentagelser, bevar IANA-zonen, og test planlagte jobs omkring sommertid, forsinkelse og dobbeltkørsel.

Læs guiden
Klar

Webhooks i drift: signaturer, dubletter og genbehandling

Kontrollér afsenderen på den rå request, kvittér hurtigt, behandl events idempotent, og find eller genkør leveringer, der fejler eller kommer i forkert rækkefølge.

Læs guiden
Integrationer og drift · Klar

Dataafstemning: find forskelle mellem app og eksterne systemer

Vælg sandhedskilde pr. forretningsfaktum, forbind poster med stabile id’er, sammenlign på en tidsplan, og reparér afvigelser uden blind overskrivning.

Læs guiden
Klar

Onlinebetaling: forbind ordre, betaling og levering sikkert

Opret betalinger på serveren, behandl retur-siden som status, bekræft med signerede webhooks, undgå dobbelt levering, og afstem ordrer med betalingsudbyderen.

Læs guiden
Betaling og adgang · Klar

Abonnementer og adgang: hold betaling og produktfunktioner i takt

Adskil betaling, abonnement og adgang, håndtér prøveperioder, fornyelsesfejl og opsigelser med verificerede webhooks, og reparér afvigelser med løbende afstemning.

Læs guiden
Klar

Pengebeløb og afrunding: undgå øre-fejl i priser og moms

Vælg en præcis pengemodel, saml beregningen, dokumentér afrunding, bevar godkendte beløb, og afstem appen med betaling og bogføring.

Læs guiden
Klar

Eksterne API-kald: timeout, retries og sikker nødadfærd

Sæt tidsgrænser på udgående kald, retry kun midlertidige fejl, beskyt skrivehandlinger med idempotens, og vis en ærlig status, når leverandørens resultat er ukendt.

Læs guiden
Klar

Dataimport og datamigrering: flyt rigtige data uden kaos

Kortlæg felter og kildenøgler, valider før skrivning, gør importen sikker at genkøre, afstem resultatet, og planlæg rollback og sletning af midlertidige filer.

Læs guiden
Klar

GitHub Actions: test og udgiv uden manuelle trin

Se hvordan automatiske arbejdsgange kan kontrollere, at appen kan bygges, før en ny version bliver sendt videre til brugerne.

Læs guiden
Udgivelse og drift · Klar

Deployment-pipeline: udgiv med sporbarhed og afgrænset adgang

Forbind en godkendt version med det rigtige miljø, adskil test fra produktionsadgang, brug kortlivede credentials hvor det passer, begræns samtidige releases, og verificér den faktiske live-app.

Læs guiden
Udgivelse og drift · Klar

Gamle faner efter deployment: undgå blanke sider og manglende filer

Få HTML, versionsnavngivne assets, SPA-fallback, service worker og backend til at skifte version uden at knække åbne faner eller lazy-loaded funktioner.

Læs guiden
Udgivelse og drift · Klar

Miljøvariabler og appkonfiguration: undgå fejl i produktion

Kortlæg offentlige værdier, serverkonfiguration og secrets, validér typer og miljøsammenhænge, og gør konfigurationsændringer mulige at teste, spore og rulle tilbage.

Læs guiden
Kode og sikkerhed · Klar

Sikkerhedsscanning: fang secrets og kodefejl før deployment

Kombinér secret scanning, dependency review og statisk kodeanalyse, baselinér gamle fund, og gør stabile kontroller til en del af pull request-flowet.

Læs guiden
Kode og sikkerhed · Klar

Sikkerhedstest: prøv roller, data og forretningsregler

Afgræns hosts, roller, testkonti og tilladte metoder, prøv appens faktiske adgangs- og procesgrænser, og luk fund med årsagsrettelse, regressionstest og retest.

Læs guiden
Kode og dokumentation · Klar

Open source-licenser: kend appens komponenter og kodeoprindelse

Kortlæg dependencies, kopieret kode og assets, knyt licenser og notices til den faktiske release, og behandl ukendt oprindelse som et fund, der skal afklares.

Læs guiden
Klar

Beskyt main på GitHub: pull requests og krævede checks

Find den branch der faktisk udgiver, kræv pull requests og relevante checks, tilpas review til bemandingen, og afprøv at en fejlende ændring bliver blokeret.

Læs guiden
Klar

Roller og rettigheder: beskyt funktioner og hver enkelt datapost

Skeln mellem login og autorisation, lav en adgangsmatrix, håndhæv regler ved data og API, og test forkert rolle, kunde og objekt.

Læs guiden
Klar

Adskil kundedata: hold hver virksomhed inden for sin egen grænse

Forbind bruger og rolle med en serververificeret virksomhed, håndhæv grænsen i alle dataveje, og test at API, filer, cache, jobs og eksport afviser andre kunders data.

Læs guiden
Klar

Supportadgang: hjælp brugeren uden en skjult superbruger

Vælg det mindst indgribende supportniveau, brug tidsbegrænset adgang med tydeligt mål og omfang, bevar den virkelige aktør, og test udløb, tilbagekaldelse og revisionsspor.

Læs guiden
Klar

Trusselsmodel: find og prioritér appens egne sikkerhedsrisici

Kortlæg brugerrejser, dataflow og tillidsgrænser, beskriv konkrete misbrugsscenarier, og gør hver risikobeslutning målbar, testbar og ejet.

Læs guiden
Klar

API-sikkerhed: validering, misbrugsgrænser og sikre integrationer

Kortlæg appens indgange, valider input og felter på serveren, beskyt cookie-sessioner, begræns dyre kald, og behandl eksterne API-svar som ubetroede.

Læs guiden
Klar

API-kontrakter: opdatér uden at knække gamle klienter

Kortlæg requests, svar og adfærd, skeln mellem kompatible og breaking changes, test gamle klienter mod ny backend, og udfas versioner med måling og en tydelig ejer.

Læs guiden
Klar

Botter, spam og rate limiting: beskyt offentlige appfunktioner

Kortlæg de flows, der kan misbruges, sæt grænser efter aktør og virkning, håndhæv dem på serveren, og test botkontrol, 429-svar, alarmer og falske positiver.

Læs guiden
Klar

Prompt injection: afgræns AI-funktionens adgang og handlinger

Hold instruktioner adskilt fra tekst og filer, validér modeloutput, giv værktøjer mindst mulig adgang, kræv godkendelse ved høj risiko, og test både direkte og indirekte prompt injection.

Læs guiden
Klar

XSS og sikkerhedsheaders: beskyt appen i browseren

Find usikre renderingsveje, vis data som tekst, sanitér nødvendig formateret tekst, tilpas Content Security Policy og andre relevante headers, og kontrollér det faktiske live-svar.

Læs guiden
Klar

SSRF og sikre URL-kald: beskyt appens udgående requests

Find URL-import, previews og webhooktest, fjern frie destinationer hvor muligt, kontrollér protokol, domæne, IP og redirects, og begræns netværksadgang, tid, størrelse og samtidighed.

Læs guiden
Klar

GDPR og persondata: dataflow, sletning og ansvar

Kortlæg persondata i app, logs, integrationer og AI-tjenester, og få styr på formål, leverandører, sletning, rettigheder, risici og sikkerhedsbrud.

Læs guiden
Klar

Dataretention og slettefrister: fjern data, når formålet ophører

Knyt hvert datasæt til en starthændelse og sluttilstand, kortlæg kopier i filer, logs, integrationer og backup, og kør automatiseret sletning som et kontrolleret job.

Læs guiden
Klar

Firebase Authentication: login og adgang til data

Opsæt Firebase-projekter og brugerlogin, og forstå hvorfor Security Rules stadig er nødvendige, før andre får adgang.

Læs guiden
Klar

Firebase Hosting og Firestore: udgiv appen og beskyt data

Få styr på deployment, datamodel, Security Rules, indekser, backup og omkostninger, før appen får rigtige brugere.

Læs guiden
Klar

Supabase: RLS, nøgler og sikker dataadgang

Kortlæg browser- og serveradgang, begræns grants, håndhæv Row Level Security pr. bruger og virksomhed, og test at andre kunders data bliver afvist.

Læs guiden
Klar

Microsoft SSO: opret app registration i kundens tenant

Sæt virksomhedslogin op med Microsoft Entra ID, korrekt tenant, redirect URI, rettigheder, MSAL og server-side tokenvalidering.

Læs guiden
Klar

Azure Functions: backend og integrationer uden egen server

Byg HTTP-endpoints, webhooks og planlagte opgaver med Node.js, sikker adgang, managed identity, retries og overvågning.

Læs guiden
Klar

Azure Table Storage og Blob Storage: data og filer

Vælg det rigtige lager til enkle poster og filer, og få styr på nøgler, managed identity, lifecycle, versionering og gendannelse.

Læs guiden
Klar

SQL og PostgreSQL: struktur, sikker adgang og migreringer

Modellér relationer og forretningsregler, håndhæv datakvalitet, begræns databaseadgang, og udgiv schemaændringer uden at satse rigtige data.

Læs guiden
Klar

Databaseforbindelser og pooling: hold serverless-apps stabile

Kortlæg forbindelsesbudget og runtime, vælg direkte adgang, session eller transaction pooling efter opgaven, og mål poolventetid, databaseforbindelser og brugerflow under belastning.

Læs guiden
Klar

Databasemigreringer: ændr SQL-skema uden at miste data

Versionsstyr skemaændringer, hold gamle og nye appversioner kompatible, mål låse og backfill, og planlæg deployment og nødvej før produktion.

Læs guiden
Klar

Google OAuth: giv adgang uden at dele adgangskoder

Vælg målgruppe og mindst mulige scopes, beskyt callback og tokens, adskil miljøer, og gør forbindelsen klar til drift og tilbagekaldelse.

Læs guiden
Klar

Sikker filupload og download: beskyt dokumenter og billeder

Afgræns filtyper og størrelse, håndhæv adgang pr. fil, brug privat lager og karantæne, og test behandling, download, sletning og fejlsituationer.

Læs guiden
Klar

Webtilgængelighed: tastatur, formularer og tydelig feedback

Afprøv kritiske brugerforløb uden mus og ved kraftig zoom, brug semantisk HTML, gør fejl forståelige, og kombinér automatiske fund med manuel test.

Læs guiden

Vil I hellere have fundamentet gennemgået sammen?

Startklar er til virksomheder, der allerede har en fungerende AI-bygget prototype og vil have hjælp til at gøre den sikker, dokumenteret og klar til daglig brug.

Se Startklar-forløbet