DigitalForensics

70 13 63 23

Electron‑apps lokalt: Teams, Slack og Discord på computeren

Electron-apps lokalt: Teams, Slack og Discord på computeren

Forside › Google Workspace-forensik · Gennemgået oktober 2026 · Af John Nielsen

Desktop-udgaverne af Slack og Discord, og den klassiske udgave af Teams, er bygget med Electron, som er en indpakket Chromium-browser. Den nye Teams-klient bygger på en beslægtet browserkomponent, WebView2. Fælles for dem er, at de gemmer data på computeren på samme måde som en browser: i databaser som IndexedDB og Local Storage, i en cache med hentede filer og billeder, i cookies og i logfiler. Det kan give spor af beskeder, kanaler, brugere og filer, også nogle, der ikke længere findes i skyen. Men den lokale cache er altid ufuldstændig, og den er et supplement til eksporten fra tjenesten, ikke en erstatning.

Hvordan data ligger i tjenesterne selv, er beskrevet i Teams teknisk: hvor chats, filer og optagelser gemmes og Slack-eksport teknisk.

Hvor dataene ligger

Hver app har en profilmappe under brugerens profil. På Windows ligger den typisk under AppData, enten i Roaming eller Local, og for apps installeret fra Microsoft Store under en pakkemappe. På macOS ligger den typisk under Library, Application Support, eller i en Containers-mappe for apps fra App Store. Den nye Teams-klient er en undtagelse: Den er ikke bygget på Electron, men på Microsofts WebView2, som også bygger på Chromium, og den installeres på Windows som en pakke med data under AppData, Local, Packages, også når den ikke er hentet fra Microsoft Store. Stierne skifter mellem versioner og installationsformer, så den faktiske sti noteres for hver sikring.

I profilmappen findes de samme typer data som i en Chromium-profil:

  • IndexedDB · Strukturerede data, ofte beskeder, samtaler, brugere og indstillinger
  • Local Storage og Session Storage · Nøgle-værdi-data, fx seneste kanal og brugeroplysninger
  • Cache · Hentede filer, billeder, avatarer og API-svar
  • Cookies · Sessionsoplysninger, ofte krypteret
  • Logs · Appens egne logfiler med tidspunkter for opstart, forbindelser og fejl

IndexedDB og Local Storage er gemt i LevelDB-format. Formatet og dets særlige egenskaber, fx at slettede poster kan overleve indtil komprimering, er beskrevet i Plist, LevelDB og andre app-formater.

Hvad der kan findes

Teams (klassisk): IndexedDB kan indeholde beskeder fra chats og kanaler, som klienten har vist eller synkroniseret, med afsender, tidspunkt og tekst. Den nye klient har en anden mappestruktur, men bruger også IndexedDB i LevelDB-format. Den offentligt beskrevne forskning i, hvilke beskeddata den gemmer, er mindre moden, så fund skal kontrolleres på en testprofil med samme version.

Slack: Databaserne kan indeholde dele af beskedhistorikken for de arbejdsområder, appen har været logget ind på, samt oplysninger om kanaler og brugere. Cachen kan indeholde billeder og forhåndsvisninger af delte filer.

Discord: Cachen indeholder ofte billeder og vedhæftninger, som brugeren har set, og databaserne kan indeholde oplysninger om servere, kanaler og konti. Beskedtekst gemmes i mindre omfang lokalt. Discord som bevis set fra den juridiske side er beskrevet i Discord og spilplatforme som bevis.

Fælles er, at indholdet afhænger af, hvad appen har hentet og vist, af appens version og af, hvornår cachen sidst blev ryddet.

Appernes egne logfiler

Ud over databaserne skriver apperne logfiler, som ofte overses. De kan vise, hvornår appen blev startet og lukket, hvornår den mistede og genvandt forbindelsen, hvilken konto og hvilket arbejdsområde der var logget ind, og hvilken version der kørte. De indeholder sjældent beskedtekst, men de er nyttige til at fastlægge, hvornår appen var aktiv på enheden. Det kan bekræfte eller afkræfte en påstand om, at en bruger ikke var logget ind på et bestemt tidspunkt.

Logfilerne roteres typisk, så kun en begrænset periode er bevaret, og formatet skifter mellem versioner. Notér de ældste og nyeste tidsstempler i de bevarede logs, og sammenhold dem med styresystemets egne spor for opstart af programmer, fx Prefetch og registreringsdatabasen på Windows.

Private enheder og flere brugere

Den lokale cache findes på den enhed, appen er brugt på. Har en medarbejder brugt Slack eller Teams på en privat computer, ligger cachen dér, og den kan kun sikres med ejerens samtykke eller på andet lovligt grundlag. På delte computere har hver brugerprofil sin egen app-mappe, men flere personer kan have brugt samme profil. Afgræns sikringen til de relevante profiler og apps, og undgå at medtage private data, der ikke vedrører sagen.

Sådan sikres de lokale data

  1. Sikr tjenesten først. Eksport, hold og opbevaring i Teams, Slack eller Discord har forrang, fordi de er mere fuldstændige.
  2. Tag en forensisk kopi af computerens disk, hvis den lokale cache er relevant. Det bevarer også slettede data og ikke-allokeret plads (unallocated), hvor rester af databaser kan findes. Se Forensiske diskformater.
  3. Er en målrettet sikring nødvendig, så luk appen først, hvis det er muligt, og kopiér hele profilmappen med et værktøj, der bevarer tidsstempler og beregner hashværdier. En kørende app skriver løbende til databaserne, og en kopi midt i en skrivning kan være inkonsistent.
  4. Start ikke appen på den sikrede enhed for at “se, hvad der er”. Den synkroniserer med skyen og kan overskrive eller slette lokale data, der er fjernet i tjenesten.
  5. Notér appens version, som har stor betydning for fortolkningen.

Krypterede data, fx cookies, er beskyttet med styresystemets nøglelager. Adgang til dem kræver lovligt grundlag og den rette brugerkontekst. Indholdet af cookies bruges kun til dokumentation, aldrig til at genbruge sessioner. Se Browsercache, cookies og gemte sessioner som spor.

Analyse

Analysen sker på kopien med værktøjer, der kan læse LevelDB, IndexedDB og Chromium-cache. Der findes både kommercielle forensiske værktøjer og open source-parsere. Uanset værktøj:

  • Kontrollér resultatet manuelt for de poster, konklusionen hviler på, ved at finde dem i den rå database.
  • Afprøv på en testprofil med samme appversion, hvis det er afgørende, hvordan en bestemt handling registreres.
  • Skeln mellem aktive og gendannede poster. En post, der findes i en ikke-komprimeret del af LevelDB, kan være en ældre version af en besked.

Fejlkilder i fortolkningen

  • Cache er ikke læsning. At en besked eller et billede er i cachen, betyder, at appen hentede det, ikke nødvendigvis at brugeren så det. Forudindlæsning kan hente indhold, der aldrig blev vist.
  • Tidsstempler i cachen er ofte tidspunktet for hentning, ikke for afsendelse. Brug beskedens egne tidsfelter, hvor de findes.
  • Flere konti og arbejdsområder kan dele samme profil. Knyt hver post til den rigtige konto.
  • Ufuldstændighed. Fravær af en besked i den lokale cache viser intet om, hvorvidt den fandtes i tjenesten.
  • Versionsskift. En opdatering af appen kan omstrukturere eller rydde databaserne.

Hvad de lokale data kan og ikke kan bevise

Lokale data kan vise, at appen på denne enhed og under denne brugerprofil havde hentet bestemte beskeder, filer eller oplysninger om samtaler, og nogle gange at de fandtes, efter de var slettet i tjenesten. De kan ikke vise den fulde samtale, og de kan ikke alene vise, at en person læste indholdet. Konklusioner bør bekræftes af tjenestens egne data. Er tjenestens data ikke længere tilgængelige, fx fordi opbevaringen er udløbet, kan de lokale data blive den eneste kilde. Så skal begrænsningerne stå særligt tydeligt i rapporten, og fundene bør så vidt muligt bekræftes af andre lokale spor eller af modtagerens kopi.

Dokumentation til rapporten

Angiv enhed, brugerprofil, app og version, sikringsmetode og om appen var lukket, hashværdier, analyseværktøjer og versioner, de manuelle kontroller og hvilke poster der er aktive og hvilke gendannede.

Kilder og versioner

Senest gennemgået: oktober 2026.

Næste skridt

Del af: Google Workspace-forensik

Læs også: Slack-eksport teknisk: formater, planer og Discovery API · Google Chat og Google Meet: revisionslogs, opbevaring og eksport

→ Google Workspace-forensik · For sagkyndige · Tlf. 70 13 63 23 · Digital bevissikring hos Nielco IT

Skrevet af John Nielsen, IT‑sagkyndig og indehaver af Nielco IT. Selvstændig siden 2009 og mere end 30 års erfaring med IT‑sikkerhed. Har været IT‑sagkyndig i danske retskredse og ved Den Fælles Europæiske Patentdomstol (UPC). Om John Nielsen · LinkedIn · Redaktionel politik

John Nielsen, IT-sagkyndig

Brug for en forensisk undersøgelse?

Skriv kort, hvilke systemer eller enheder det drejer sig om, og om noget haster, så vender jeg tilbage. Kun civile sager.

Tak for din henvendelse. Jeg vender tilbage hurtigst muligt.