Chrome Extension
Flyttebilen
Arkiver dit fællesskabs historik fra Facebook, automatisk pseudonymisering, beskyttelse af personoplysninger og portabelt format til migration til en ny platform.
-
Komplet udtrækning
Opslag, kommentarer, medier, begivenheder og filer
-
Automatisk privatlivsbeskyttelse
Maskering af personoplysninger og pseudonymisering
-
Brugerkontrol
Admin gennemgår alle fund før publicering
-
Portabelt format
Neutralt JSON, ikke låst til en platform
01
Problemet
Facebook-grupper rummer årtiers fællesskabshistorik, samtaler, billeder, begivenheder, filer, låst inde på en platform, hvor I ikke ejer jeres egne data.
Hvis gruppen skal flytte, er der ingen nem vej ud. Og en manuel flytning risikerer at eksponere medlemmernes personlige oplysninger.
-
Data er låst inde
Ingen officiel eksportmulighed for gruppeindhold
-
Privatlivsrisiko
Manuel kopiering eksponerer medlemmers personoplysninger
-
Flyttebilen
Automatiseret udtrækning med privatlivsbeskyttelse
02
Brugerrejsen
To adskilte flows. Admins arkiveringsproces i fire trin, og medlemmets rejse til at tilknytte sit indhold på den nye platform.
Adminens rejse
-
1 Opsætning Forbind til platformen
Admin installerer Chrome-udvidelsen og forbinder den til den nye platform via OAuth. Udvidelsen gemmer et auth-token og er klar til brug.
Når admin navigerer til en Facebook-gruppe, detekterer udvidelsen automatisk gruppen og viser en arkiveringsknap.
-
2 Udtrækning Udtræk alt indhold
Udvidelsen scroller automatisk gennem gruppens feed, udfolder kommentartråde og udtrækker alt indhold, tekst, billeder, videoer, begivenheder og filer.
For hvert element beregnes et pseudonym for forfatteren, og teksten scannes for personoplysninger. Indhold streames løbende til staging-serveren. Admin kan lade browseren køre i baggrunden.
-
3 Review Gennemgå fundne personoplysninger
Når udtrækningen er fuldført, præsenterer udvidelsen et review-interface med alle steder hvor maskeren har fundet potentielle personoplysninger.
For hvert flag kan admin vælge at beholde maskeringen, gendanne originalteksten eller lave en tilpasset redigering. Ingen data publiceres uden eksplicit godkendelse.
-
4 Publicering Godkend arkivet
Når alle flag er gennemgået, godkender admin det samlede arkiv. Et overblik viser antal opslag, kommentarer, medier og behandlede personoplysninger.
Med et klik importeres arkivet til den nye platform med alle pseudonymer og maskeringer intakte. Herefter er adminens arbejde færdigt.
Medlemmets rejse
Når arkivet er importeret, kan hvert gruppemedlem tilknytte sit indhold på den nye platform.
-
1 Invitation Se invitationen
Medlemmet modtager besked om at gruppen er flyttet. På den nye platform vises en velkomstside med mulighed for at tilknytte sit indhold.
Ingen konto er oprettet på forhånd. Medlemmet vælger selv om de vil tilknytte sig. Indholdet forbliver pseudonymiseret indtil da.
-
2 Claiming Log ind og bekræft
Medlemmet logger ind med Facebook OAuth. Platformen modtager brugerens Facebook-ID, hasher det med samme salt og matcher mod pseudonymerne i arkivet.
På få sekunder tilknyttes alle opslag, kommentarer og begivenheder til den nye konto. Medlemmet kan straks se og administrere sit indhold.
03
Arkitektur
Tre lag, fra brugerens browser til den nye platform.
Chrome-udvidelse
Brugerens browser
- Scroll og parse DOM
- Maskering
- Upload-kø
- Review UI
Staging API
Server
- Auth og tokens
- Indholdslagring
- Medier via S3
- Flag og kryptering
Platform
Discourse eller custom
- Import af arkiv
- Brugerkonti
- Claiming-flow
- Browser sender maskeret indhold til serveren over HTTPS med kortlivede, arkiv-scopede tokens.
- Staging-serveren holder et kladde-arkiv med krypteret originaltekst og auto-sletter efter 30 dage uden godkendelse.
- Ved godkendelse importeres arkivet til platformen i neutralt JSON-format uden platform-lock.
04
Privatlivsmodellen
Tre mekanismer sikrer at medlemmernes privatliv beskyttes gennem hele processen.
Pseudonymisering
Facebook bruger
Hans Jensen
fb:100082345678
Hash-funktion
SHA-256(ID + salt)
Salt opbevares server-side
Pseudonym
user_7f3a2b
Irreversibelt uden salt
Maskering af personoplysninger
Originaltekst
Hej alle! Ring til mig på 23 45 67 89 eller skriv til hans@jensen.dk, jeg bor på Adelgade 12, 8660 Skanderborg
Maskeret
Hej alle! Ring til mig på [TELEFON] eller skriv til [EMAIL], jeg bor på [ADRESSE]
Tekst scannes automatisk for telefonnumre, email-adresser, fysiske adresser og CPR-numre. Fundne oplysninger erstattes med mærkater. Admin gennemgår alle fund manuelt inden godkendelse.
Claiming
Når arkivet er importeret, kan hvert gruppemedlem selv vælge at tilknytte sit indhold via Facebook OAuth. Platformen modtager brugerens Facebook-ID, beregner samme hash og matcher mod pseudonymerne i arkivet. Alle opslag og kommentarer tilknyttes herefter den nye konto.
05
Teknologi og API
Teknologivalg og API-oversigt for den tekniske målgruppe.
Teknologistak
- Extension: TypeScript + React
- Maskering (lokal): Ollama med lille model
- Maskering (API): Custom service
- Staging API: Node.js eller Go
- Storage: S3-kompatibel
- Database: PostgreSQL
API-endpoints
Autentificering
- POST
/auth/connect - GET
/auth/me
Arkiver
- POST
/archives - GET
/archives/:id - PATCH
/archives/:id
Streaming
- POST
/archives/:id/posts - POST
/archives/:id/media - POST
/archives/:id/events
Personoplysninger
- GET
/archives/:id/pii-flags - PATCH
/archives/:id/pii-flags/:id
06
Roadmap
Hvad der er inkluderet i v1, og hvad der kommer senere.
-
Komplet gruppeindholds-udtrækning
Opslag, kommentarer, medier, begivenheder, filer
-
Automatisk pseudonymisering
Server-side salt, irreversibel hash
-
Maskering med admin-gennemgang
LLM-baseret detektion, manuelt review
-
Claiming via Facebook OAuth
Brugere tilknytter eget indhold
-
Portabelt JSON-format
Platformuafhængig eksport
-
Genoptagelig udtrækning
Checkpoints for store grupper
-
Billed- og video-maskering
OCR og ansigtsblurring
-
Direkte Discourse-import
Nativt importformat
-
Batch-arkivering
Flere grupper i sekvens
-
Kollaborativ gennemgang
Flere admins, tildelte flags
07
Variant B, Krypteret indhold
En alternativ tilgang med stærkere privatlivsbeskyttelse, alt indhold er krypteret og forbliver utilgængeligt, indtil hvert medlem selv vælger at låse det op.
Pseudonymisering
Indhold er læsbart fra dag ét, men tilskrevet pseudonyme forfattere. Medlemmer kan efterfølgende tilknytte deres indhold via Facebook OAuth.
- Indhold tilgængeligt med det samme
- Søgbart og navigerbart fra start
- Indhold synligt uden forfatterens samtykke
- Ingen incitament til at tilknytte sig
Kryptering med oplåsning
Alt indhold er krypteret per forfatter. Opslag vises som skjulte på den nye platform, indtil forfatteren selv melder sig og låser sit indhold op.
- Intet indhold synligt uden forfatterens samtykke
- Indbygget incitament: progressbar driver tilmelding
- Stærkere GDPR-profil
- Tomt forum indtil nok medlemmer tilmelder sig
Sådan virker det
-
1 Arkivering Admin arkiverer gruppen som normalt. Hvert opslag krypteres med en nøgle afledt af forfatterens Facebook-ID. Kun den krypterede version importeres til den nye platform.
-
2 Skjult visning Den nye platform viser krypterede opslag som skjulte blokke, synlig dato og trådstruktur, men sløret indhold. En progressbar viser hvor stor en del af arkivet der er låst op.
-
3 Oplåsning Når et medlem logger ind med Facebook OAuth, genskabes deres nøgle. Alle deres opslag og kommentarer dekrypteres og vises med deres nye brugernavn. Progressbaren stiger.