Verkrijg uit elke bron, veilig.

Binnenkort

Dien een link in of roep de API aan. Corvidint herkent de bron, brengt elk bestand in kaart en verkrijgt wat uw beleid selecteert, geverifieerd en vastgelegd.

Bronnen

  • Directe linkshttps://archive.example.org/…
  • WeblijstenIndex of /pub/2026/
  • Onion-services….onion
  • Peer-to-peer-swarmsmagnet:?xt=urn:btih:…

Gepubliceerd, nieuwste eerst

  1. attachments/samples.zip1,4 GiBChecksum van de bron geverifieerd
  2. attachments/bulletins/bulletin-2026-07.pdf16,9 MiBChecksum berekend bij aankomst
  3. captures/listing-0001.html428 KiBChecksum berekend bij aankomst
  4. attachments/indicators-0417.json2,3 MiBGeverifieerd door het overdrachtsprotocol
  5. screens/page-0001.png717 KiBChecksum berekend bij aankomst
  6. attachments/bulletins/bulletin-2026-06.pdf14,2 MiBChecksum van de bron geverifieerd
  7. shared/case-0417/notes.txt6,2 KiBChecksum van de bron geverifieerd

Alles waar een link naartoe kan leiden.

Eén generieke pijplijn herkent elke bron, bekend of niet. Standaarden, beoordeelde recipes en connectoren met versiebeheer verbreden haar zonder nieuwe code in de kern.

Alleen bronnen waaruit u geautoriseerd mag verzamelen. Ontbrekende toegang wordt een verzoek om actie, nooit een omweg.

  1. Directe links

    Bereikt viaVPN-tunnelsTor-pool

    Directe, gedeelde en tijdelijke links, redirects en de tussenpagina’s daartussen.

    • https://
    • http://
    • 302 Found
    • ?expires=…
  2. Weblijsten

    Bereikt viaVPN-tunnelsTor-pool

    Serverindexen, catalogi, tabellen, detailpagina’s, galerijen, feeds en gepagineerde JSON-lijsten.

    • Index of /
    • ?page=2
    • <enclosure>
    • next_cursor
  3. Bestandsservers

    Bereikt viaVPN-tunnels

    FTP en FTPS, SFTP met vastgezette hostsleutels en WebDAV-collecties, map voor map.

    • ftp://
    • ftps://
    • sftp://
    • PROPFIND
  4. Cloudopslag

    Bereikt viaVPN-tunnels

    Geconfigureerde opslag-remotes en gedeelde mappen, opgesomd via hun eigen interfaces.

    • remote:bucket/
    • /shared/
    • next_page_token
  5. Bestandshosts

    Bereikt viaVPN-tunnels

    Hostingdiensten met eigen linkformaten, herkend door speciale adapters en geïsoleerde engines.

    • /file/…
    • /folder/…
    • #key
  6. Dynamische pagina’s

    Bereikt viaVPN-tunnelsTor-pool

    Links die alleen een script opbouwt, worden gevonden door een browser in een sandbox, binnen strikte budgetten.

    • <script>
    • fetch()
    • subresources
  7. Onion-services

    Bereikt viaTor-pool

    Onion-adressen gaan alleen naar de geïsoleerde Tor-pool en raken nooit gewone DNS.

    • .onion
    • client auth
  8. Peer-to-peer-swarms

    Bereikt viaPeersessies

    Magnetlinks en torrentbestanden draaien in eigen getunnelde sessies, nooit over Tor, zonder daarna te seeden.

    • magnet:?xt=
    • .torrent
    • info-hash
  9. Archieven en sets

    Bereikt viaElk netwerk

    Archieven worden onderdeel voor onderdeel opgesomd en de delen van een set uit meerdere delen worden als één gekozen.

    • .zip
    • .tar.gz
    • .7z
    • .rar
    • .iso
    • .part1
  10. Geautoriseerde toegang

    Bereikt viaVPN-tunnelsTor-pool

    Wachtwoorden, tokens, sleutels en onion-clientsleutels worden eenmaal verstuurd, bewaard als verwijzing en nooit meer getoond.

    • username_password
    • token
    • ssh_key
    • onion_client_auth

Eén link wordt een volledige inventaris.

Herkenning verzamelt bewijs voordat ze iets gelooft. Een grootte blijft onbekend tot ze is bewezen, en een lijst is pas compleet wanneer elke tak is gesloten.

https://archive.example.org/collections/0417/

VPN-tunnel

Dekkingbezigcompleet binnen de scope

  • archive.example.org/collections/0417/collectie
  • attachments/83 bestanden1,9 GiB
  • bulletins/79 bestanden282 MiB
  • indicators-0417.jsondata2,3 MiB
  • samples-part2.7zarchiefgrootte onbekend286 MiB
  • samples.ziparchief1,4 GiB
  • readme.txtarchiefonderdeel
  • docs/overview.pdfarchiefonderdeel
  • 10 onderdelen meer
  • unknown-0042.binonbekend type3,1 MiB
  • captures/148 bestanden46,1 MiB
  • index.htmltussenpagina48,0 KiB
  • README.txttekst2,1 KiB
  • screens/64 bestanden41,1 MiB
  • video/2 bestanden1,5 GiB
  • recording-02.mp4video1,1 GiB
  • walkthrough.mp4video412 MiB
  1. ValiderenSchema, poort en hostklasse worden gecontroleerd zonder de bron te benaderen.
  2. Netwerk kiezenEen onion-naam kiest de Tor-pool, elke andere naam een VPN-tunnel.
  3. Bewijs verzamelenHeaders, handtekeningen, lijsten en range-reads, goedkoopste eerst.
  4. ClassificerenBestand, map, collectie of tussenpagina, elk met zijn bewijs.
  5. OpsommenMappen pagina voor pagina, archieven onderdeel voor onderdeel, lussen doorbroken.
  6. De lijst sluitenCompleet binnen de scope, alleen wanneer geen enkele tak openstaat.
Eén node van die boom, zoals de API hem teruggeeft
{"location_id": "loc_01JAH8K2","name": "samples.zip","depth": 1,"has_children": false,"listing_complete": true,"resource": {"resource_id": "res_01JAH8K2","kind": "file","kind_status": "confirmed","discovery_state": "resolved","size": {"bytes": "1481763717","status": "validated","basis": "representation"},"media": {"category": "archive","identification_status": "confirmed","detected_media_type": "application/zip"}}}

Nieuwe sites, zonder nieuwe code

Standaardprotocollen vragen alleen configuratie. Bekende paginalay-outs krijgen declaratieve recipes. Nieuwe protocollen krijgen een connector met versiebeheer, nooit een wijziging in de kern.

  • StandaardenWeblijsten, FTP, SFTP, WebDAV en opslag-remotes, direct begrepen.
  • RecipesFetch, select, extract, emit. Geen scripts, geen code, alleen bewerkingen die het platform toestaat.
  • ConnectorenPakketten met versiebeheer die buiten het proces draaien en eerst een conformiteitskit doorstaan.

Hoe een recipe zijn plek verdient

  1. Voorgesteld
  2. Getest op fixtures
  3. Canary op een deel van het werk
  4. Gepromoveerd op bewijs
  5. Ingetrokken bij drift

Een model mag de stappen van een recipe voorstellen. Mensen beoordelen ze en alleen bewijs promoveert ze.

Een recipedocument, in de recipetaal
{"recipe_key": "archive-listing.paged","version": 3,"language_version": "1.0","scope": {"hosts": ["archive.example.org"],"path_patterns": ["/collections/*"]},"steps": [{"op": "fetch","target": "input_url","accept": "html"},{"op": "select","language": "css","expression": "table.listing a.file","as": "links"},{"op": "extract","from": "links","attribute": "href","as": "hrefs"},{"op": "emit","kind": "unknown","native_id_from": "hrefs","relation": "contains"}],"expected_evidence": {"exhaustiveness": "provider_declared"}}

Fictieve waarden, veldnamen precies zoals de API ze definieert

Er wordt niets gedownload voordat de volgorde vaststaat.

Regels bepalen wat is toegestaan, wordt uitgesloten of in quarantaine gaat. Strikte selectie wacht op een gesloten lijst en bekende groottes en rangschikt daarna elk bestand op grootte.

Beleidsregels, hoogste prioriteit eerst

  1. 1exclude-videopriority: 100Afspeelbare video wordt uitgesloten.
  2. 2inspect-unknownpriority: 50Onbekende typen worden geïnspecteerd; niet-sluitend betekent quarantaine.
  3. 3opaque_encrypted_when_acquiredquarantineVersleutelde archieven blijven ondoorzichtig tot iemand het wachtwoord geeft.
  4. 4default_actionallowAl het andere is toegestaan.
RangBestandGrootteBeslissing
1samples.zip1,4 GiBToegestaan
2bulletin-2026-07.pdf16,9 MiBToegestaan
3bulletin-2026-06.pdf14,2 MiBToegestaan
53indicators-0417.json2,3 MiBToegestaan
294README.txt2,1 KiBToegestaan
samples-part2.7z286 MiBWacht op wachtwoordwachtwoord vereist
unknown-0042.bin3,1 MiBIn quarantaineidentificatie onbekend
recording-02.mp41,1 GiBUitgeslotenvideo uitgesloten
walkthrough.mp4412 MiBUitgeslotenvideo uitgesloten

Vastgelegd bij de selectie

strict_order_closed_inventory

Elk bestand van de volledige inventaris is vóór het downloaden op grootte gerangschikt.

Selectiemodi

  1. 1Elk bestand, grootste eerst
  2. 2Het grootste bestand
  3. 3Het grootste bestand per map
  4. 4Bestanden binnen een groottebereik

Strikte modus wacht op een gesloten lijst en bekende groottes. Progressieve modus begint eerder en zegt dat.

Een beslissing, zoals de API haar teruggeeft
{"candidate_id": "rep_0008D","display_name": "walkthrough.mp4","candidate_kind": "representation","selection_revision": 2,"action": "exclude","rule_id": "exclude-video","reason_codes": ["video_excluded"],"evidence": [{"mechanism": "format_header","attribute": "kind","status": "confirmed","summary": "video/mp4"}]}

Elk verzoek vertrekt via een tunnel.

Probes, lijsten en overdrachten gebruiken allemaal geautoriseerde egress. Valt een tunnel weg, dan stoppen de verzoeken: er is geen directe route om op terug te vallen.

VPN-tunnelsessiesGeïsoleerde Tor-poolPeersessies

Elk verzoek passeert de beleidspoort en vertrekt dan via de route die zijn bron vereist.

Onion-verkeer neemt gelaagde Tor-circuits, in een eigen geïsoleerde pool.

Swarms worden betreden vanuit eigen peersessies. Stukken komen binnen en daarna wordt niets geseed.

Tunnel uit. Nieuwe verzoeken stoppen, overdrachten maken een checkpoint en er vertrekt niets direct.

Tunnel terug. Overdrachten hervatten vanaf hun checkpoints.

  • Privé-, loopback- en metadata-adressen worden bij het verbinden geweigerd.
  • Onion-namen raken nooit gewone DNS.
  • Peersessies stoppen met delen zodra de gevraagde bestanden compleet zijn.
  • Een ingetrokken koppeling sluit lopende verbindingen en de gateway bevestigt dat.
  • Wanneer een stop niet kan worden bevestigd, blijft de capaciteit vastgehouden tot dat wel kan.
  • Gedeeltelijke bestanden staan in objectopslag, zodat een andere eenheid ze kan hervatten.

Geverifieerd, vastgelegd, nooit uitgevoerd.

Een onafhankelijke verifier hasht elk gestaged bestand. Bytes worden op inhoud opgeslagen, eenmalig gepubliceerd en alleen als bijlage geleverd.

Gepubliceerde bestanden van de fictieve opdracht en hun integriteitsniveauChecksum van de bron geverifieerdKomt overeen met een checksum die de bron zelf publiceerde.Geverifieerd door het overdrachtsprotocolGecontroleerd tegen de eigen hashes van het protocol, bestand voor bestand.Checksum berekend bij aankomstSHA-256 van de opgeslagen bytes, en precies zo gemarkeerd.
attachments/samples.zip1,4 GiB21d80013…336753Checksum van de bron geverifieerd
attachments/bulletins/bulletin-2026-07.pdf16,9 MiB45fc57dc…6589c6Checksum berekend bij aankomst
attachments/bulletins/bulletin-2026-06.pdf14,2 MiBd918bbf1…71f434Checksum van de bron geverifieerd
attachments/indicators-0417.json2,3 MiB13e8534b…865223Geverifieerd door het overdrachtsprotocol
captures/listing-0001.html428 KiBa3651f3c…f7b3e8Checksum berekend bij aankomst
screens/page-0001.png717 KiB1a53f598…76d1dbChecksum berekend bij aankomst

Een afwijking gaat in quarantaine en wordt opnieuw verkregen, nooit gepubliceerd.

Twee locaties, één blob

Identieke bytes worden eenmalig opgeslagen op hun SHA-256. Elke locatie die ernaar verwees blijft bewaard.

Bewaard als bewijs, nooit uitgevoerd

  • Niets wat is verkregen wordt geopend, uitgevoerd, geïnstalleerd of gemount.
  • Analyzers draaien zonder netwerk, als eigen gebruiker, met tijd- en geheugenlimieten.
  • Archiefpaden worden gecontroleerd voordat één enkel onderdeel wordt uitgepakt.
  • Bestanden verlaten het platform alleen als bijlage, via kortlevende links op een aparte origin.
Een manifestitem, zoals de API het teruggeeft
{"file_id": "file_0008","logical_path": "attachments/samples.zip","stored_name": "21d80013bfc9266b","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","origin_checksum": {"algorithm": "sha256","value": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753"},"source_resource_id": "res_01JAH8K2","published_at": "2026-10-05T08:31:00Z"}

Fictieve waarden, veldnamen precies zoals de API ze definieert

Gebouwd om te worden aangeroepen, klaar voor de parser.

Elk project dient opdrachten in via de API en volgt ze via events. De parser neemt elk gepubliceerd bestand over met zijn checksum en herkomst.

  • Uw project
  • Downloader
  • Parser
  1. Uw projectDownloaderDient opdracht inEen opdracht met een idempotentiesleutel: een nieuwe poging maakt nooit een tweede opdracht.
    De opdracht die uw project verstuurt
    {"sources": [{"url": "https://archive.example.org/collections/0417/"},{"url": "https://share.example.net/s/K7q2xWm9"}],"policy_profile": "evidence-default","destination_id": "evidence-store","client_reference": "Archive capture, case 0417"}
  2. DownloaderUw projectAccepteert na opslagPas beantwoord zodra de opdracht en haar beleid zijn opgeslagen.
    Wat er terugkomt
    {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false}
  3. DownloaderParserKondigt een gepubliceerd bestand aanOndertekende webhooks, of events die u pollt of vanaf een cursor streamt.
    Het event dat de parser ontvangt
    {"event_id": "0f6e2a90-41d7-4c0b-9e5a-000000000010","event_type": "file.published","schema_version": "1.0","occurred_at": "2026-10-05T08:31:12Z","job_id": "job_01JAH7Q2M4K8V3","aggregate_type": "file","aggregate_id": "file_0008","aggregate_version": 3,"stream_seq": "10","data": {"file_id": "file_0008","logical_path": "attachments/samples.zip","size_bytes": "1481763717","verification_level": "origin_checksum_verified","selection_revision": 2}}
  4. ParserDownloaderLeest het bestandsrecordDe parser controleert of het bestand is gecommit en leest zijn SHA-256.
    Het bestandsrecord dat de parser controleert
    {"file_id": "file_0008","job_id": "job_01JAH7Q2M4K8V3","logical_path": "attachments/samples.zip","original_name": "samples.zip","size_bytes": "1481763717","sha256": "21d80013bfc9266bc453a3db98d1f3d14a2be4483d5020d74ec194a763336753","integrity_level": "origin_checksum_verified","state": "committed","detected_media_type": "application/zip"}
  5. ParserDownloaderHaalt het op via een kortlevende linkEen kortlevende link; de parser hasht de bytes opnieuw voordat hij parset.

Inventaris, manifest en beslissingen kunnen ook als NDJSON worden geëxporteerd.

Fictieve waarden, veldnamen precies zoals de API ze definieert

Zie het op uw eigen bronnen.

Vertel ons wat u nodig hebt. Wij laten u een live capture zien, van post tot verzegeld record.

Vraag een briefing aan

Liever e-mail? Schrijf naar [email protected].