Een antwoord dat je niet tot een bron kunt herleiden is een gok met een grafiek eromheen.
Wat hieronder valt
Verzamelen uit API's, registers, documenten en webpagina's. Normaliseren en entiteiten samenvoegen. Verrijken en correleren. Opslag die het ruwe record naast het afgeleide bewaart. En de query- of rapportagelaag die mensen daadwerkelijk openen.
Plus de saaie helft die bepaalt of het geheel de werkelijkheid overleeft: rate limits, veranderende schema's, bewaartermijnen, toegangsbeheer en een licentiecheck op elke bron.
Herkomst is het product. Verzamelen is het makkelijke deel.
Elk team kan een dataset ophalen en er een grafiek van maken. Wat bepaalt of iemand er iets mee kan, is of je over een half jaar nog kunt beantwoorden waar dit getal vandaan komt, wanneer de bron zijn schema heeft omgegooid en de analist ergens anders werkt. Dus blijft het ruwe record staan, worden bewerkingen als stappen vastgelegd in plaats van ter plekke overschreven, en houdt elk afgeleid cijfer een verwijzing terug. Taalmodellen verdienen hun plek bij triage en samenvatten; ze blijven buiten de bewijsketen, want een model kun je niet ondervragen.
Wanneer dit het juiste werk is
- Dezelfde vraag levert een ander antwoord op, afhankelijk van wie je hem stelt.
- De analyse draait in een notebook op één laptop, en die laptop ís het systeem.
- Bronnen worden met de hand verzameld en verouderen tussen twee rapportages door.
- Een bevinding moet standhouden tegenover iemand die er niet bij was.
- Er zitten persoonsgegevens in en over bewaartermijnen is nooit besloten.
- Twee systemen zijn het oneens over welke records dezelfde entiteit beschrijven.
Wat er verandert
Bronnen staan in een inventaris, met licentievoorwaarden en rate limits erbij. Verzamelen draait op een schema en faalt hoorbaar in plaats van stilletjes gisteren terug te geven. Entiteiten worden één keer samengevoegd, niet per rapport opnieuw. Elk cijfer in een rapport klapt open naar het ruwe record.
Bewaren en toegang worden beslissingen die iemand genomen heeft, in plaats van standaardinstellingen die niemand gekozen heeft.
Over de juridische kant
OSINT-werk raakt persoonsgegevens, gebruiksvoorwaarden en in Nederland de AVG. We bepalen wat rechtmatig verzameld en bewaard mag worden vóórdat de collector gebouwd wordt, niet als hij al draait. Kan een bron niet gebruikt worden voor het doel dat je voor ogen hebt, dan is dát de bevinding, en nu is die een stuk goedkoper dan later.
Hoe we eraan werken
Begin bij de vraag die het systeem moet beantwoorden en werk terug naar de bronnen die dat kunnen. Modelleer de entiteiten voordat je een collector schrijft. Houd bewerkingsstappen los van elkaar, zodat een verkeerde aanname opnieuw afgespeeld kan worden in plaats van opnieuw verzameld. En lever iets op dat een analist kan uitbreiden zonder een engineer te hoeven vragen.
Gereedschap waar we vaak naar grijpen
Per probleem gekozen, niet per mode. Zo ziet de kast eruit.