Pozyskuj z dowolnego źródła, bezpiecznie.

Wkrótce

Prześlij link lub wywołaj API. Corvidint rozpoznaje źródło, mapuje każdy plik i pozyskuje to, co wybiera Państwa polityka, ze weryfikacją i zapisem.

Źródła

  • Linki bezpośredniehttps://archive.example.org/…
  • Listingi WWWIndex of /pub/2026/
  • Usługi onion….onion
  • Roje peer-to-peermagnet:?xt=urn:btih:…

Opublikowane, najnowsze najpierw

  1. attachments/samples.zip1,4 GiBSuma kontrolna ze źródła zweryfikowana
  2. attachments/bulletins/bulletin-2026-07.pdf16,9 MiBSuma kontrolna obliczona po dotarciu
  3. captures/listing-0001.html428 KiBSuma kontrolna obliczona po dotarciu
  4. attachments/indicators-0417.json2,3 MiBZweryfikowane przez protokół transferu
  5. screens/page-0001.png717 KiBSuma kontrolna obliczona po dotarciu
  6. attachments/bulletins/bulletin-2026-06.pdf14,2 MiBSuma kontrolna ze źródła zweryfikowana
  7. shared/case-0417/notes.txt6,2 KiBSuma kontrolna ze źródła zweryfikowana

Wszystko, do czego prowadzi link.

Jeden ogólny potok rozpoznaje każde źródło, znane lub nie. Standardy, sprawdzone przepisy i wersjonowane konektory rozszerzają go bez nowego kodu w rdzeniu.

Tylko źródła, z których wolno Państwu zbierać dane. Brakujący dostęp staje się prośbą o działanie, nigdy obejściem.

  1. Linki bezpośrednie

    Docierane przezTunele VPNPula Tor

    Linki bezpośrednie, udostępnione i tymczasowe, przekierowania oraz strony pośrednie między nimi.

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

    Docierane przezTunele VPNPula Tor

    Indeksy serwerów, katalogi, tabele, strony szczegółów, galerie, feedy i stronicowane listingi JSON.

    • Index of /
    • ?page=2
    • <enclosure>
    • next_cursor
  3. Serwery plików

    Docierane przezTunele VPN

    FTP i FTPS, SFTP z przypiętymi kluczami hosta oraz kolekcje WebDAV, folder po folderze.

    • ftp://
    • ftps://
    • sftp://
    • PROPFIND
  4. Magazyny w chmurze

    Docierane przezTunele VPN

    Skonfigurowane zdalne magazyny i foldery współdzielone, wyświetlane przez ich własne interfejsy.

    • remote:bucket/
    • /shared/
    • next_page_token
  5. Hosting plików

    Docierane przezTunele VPN

    Usługi z własnymi formatami linków, rozpoznawane przez dedykowane adaptery i izolowane silniki.

    • /file/…
    • /folder/…
    • #key
  6. Strony dynamiczne

    Docierane przezTunele VPNPula Tor

    Linki budowane wyłącznie skryptem znajduje przeglądarka w piaskownicy, w ścisłych budżetach.

    • <script>
    • fetch()
    • subresources
  7. Usługi onion

    Docierane przezPula Tor

    Adresy onion trafiają wyłącznie do izolowanej puli Tor i nigdy nie dotykają zwykłego DNS.

    • .onion
    • client auth
  8. Roje peer-to-peer

    Docierane przezSesje peer

    Linki magnet i pliki torrent działają we własnych sesjach tunelowanych, nigdy przez Tor, bez późniejszego seedowania.

    • magnet:?xt=
    • .torrent
    • info-hash
  9. Archiwa i zestawy

    Docierane przezDowolna sieć

    Archiwa są wyświetlane element po elemencie, a części zestawu wieloczęściowego wybiera się jako całość.

    • .zip
    • .tar.gz
    • .7z
    • .rar
    • .iso
    • .part1
  10. Autoryzowany dostęp

    Docierane przezTunele VPNPula Tor

    Hasła, tokeny, klucze i klucze klienta onion są wysyłane raz, zapisywane jako odwołania i nigdy więcej nie pokazywane.

    • username_password
    • token
    • ssh_key
    • onion_client_auth

Jeden link staje się pełnym inwentarzem.

Rozpoznawanie zbiera dowody, zanim cokolwiek uzna za prawdę. Rozmiar pozostaje nieznany do czasu potwierdzenia, a listing jest kompletny dopiero, gdy zamkną się wszystkie gałęzie.

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

Tunel VPN

Pokryciew tokukompletny w zakresie

  • archive.example.org/collections/0417/kolekcja
  • attachments/83 pliki1,9 GiB
  • bulletins/79 plików282 MiB
  • indicators-0417.jsondane2,3 MiB
  • samples-part2.7zarchiwumrozmiar nieznany286 MiB
  • samples.ziparchiwum1,4 GiB
  • readme.txtelement archiwum
  • docs/overview.pdfelement archiwum
  • jeszcze 10 elementów
  • unknown-0042.binnieznany typ3,1 MiB
  • captures/148 plików46,1 MiB
  • index.htmlstrona pośrednia48,0 KiB
  • README.txttekst2,1 KiB
  • screens/64 pliki41,1 MiB
  • video/2 pliki1,5 GiB
  • recording-02.mp4wideo1,1 GiB
  • walkthrough.mp4wideo412 MiB
  1. WalidacjaSprawdzane są schemat, port i klasa hosta, bez kontaktu ze źródłem.
  2. Wybór sieciNazwa onion wybiera pulę Tor, każda inna tunel VPN.
  3. Zbieranie dowodówNagłówki, sygnatury, listingi i odczyty zakresów, od najtańszych.
  4. KlasyfikacjaPlik, folder, kolekcja lub strona pośrednia, każde z własnymi dowodami.
  5. WyliczanieFoldery strona po stronie, archiwa element po elemencie, cykle odcinane.
  6. Zamknięcie listinguKompletny w zakresie dopiero, gdy nie została żadna otwarta gałąź.
Jeden węzeł tego drzewa, tak jak zwraca go API
{"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"}}}

Nowe serwisy, bez nowego kodu

Standardowe protokoły wymagają tylko konfiguracji. Znane układy stron dostają deklaratywne przepisy. Nowe protokoły dostają wersjonowany konektor, nigdy zmianę w rdzeniu.

  • StandardyListingi WWW, FTP, SFTP, WebDAV i zdalne magazyny, obsługiwane od razu.
  • PrzepisyPobierz, wybierz, wyodrębnij, wyemituj. Bez skryptów i kodu, tylko operacje, na które pozwala platforma.
  • KonektoryWersjonowane pakiety uruchamiane poza procesem, które najpierw przechodzą zestaw zgodności.

Jak przepis zdobywa swoje miejsce

  1. Zaproponowany
  2. Przetestowany na przypadkach testowych
  3. Kanarek na części pracy
  4. Awansowany na podstawie dowodów
  5. Wycofany przy dryfie

Model może zaproponować kroki przepisu. Weryfikują go ludzie, a awansują go wyłącznie dowody.

Dokument przepisu, w języku przepisów
{"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"}}

Wartości fikcyjne, nazwy pól dokładnie takie, jak definiuje je API

Nic się nie pobiera, zanim kolejność zostanie udowodniona.

Reguły decydują, co jest dozwolone, pominięte lub poddane kwarantannie. Ścisły wybór czeka na zamknięty listing i znane rozmiary, a potem szereguje każdy plik według rozmiaru.

Reguły polityki, od najwyższego priorytetu

  1. 1exclude-videopriority: 100Odtwarzalne wideo jest pomijane.
  2. 2inspect-unknownpriority: 50Nieznane typy są badane, a brak rozstrzygnięcia oznacza kwarantannę.
  3. 3opaque_encrypted_when_acquiredquarantineZaszyfrowane archiwa pozostają nieprzezroczyste, dopóki ktoś nie poda hasła.
  4. 4default_actionallowCała reszta jest dozwolona.
PozycjaPlikRozmiarDecyzja
1samples.zip1,4 GiBDozwolony
2bulletin-2026-07.pdf16,9 MiBDozwolony
3bulletin-2026-06.pdf14,2 MiBDozwolony
53indicators-0417.json2,3 MiBDozwolony
294README.txt2,1 KiBDozwolony
samples-part2.7z286 MiBCzeka na hasłowymagane hasło
unknown-0042.bin3,1 MiBW kwarantannieidentyfikacja nieznana
recording-02.mp41,1 GiBPominiętywideo pominięte
walkthrough.mp4412 MiBPominiętywideo pominięte

Zapisane razem z wyborem

strict_order_closed_inventory

Każdy plik pełnego inwentarza został uszeregowany według rozmiaru przed pobraniem.

Tryby wyboru

  1. 1Każdy plik, od największego
  2. 2Największy plik
  3. 3Największy plik z każdego folderu
  4. 4Pliki w przedziale rozmiaru

Tryb ścisły czeka na zamknięty listing i znane rozmiary. Tryb progresywny startuje wcześniej i mówi o tym wprost.

Decyzja, tak jak zwraca ją API
{"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"}]}

Każde żądanie wychodzi przez tunel.

Sondowanie, listingi i transfery korzystają z tego samego autoryzowanego wyjścia. Gdy tunel padnie, żądania się zatrzymują: nie ma bezpośredniej trasy zapasowej.

Sesje tuneli VPNIzolowana pula TorSesje peer

Każde żądanie przechodzi przez bramę polityki, a potem wychodzi ścieżką wymaganą przez swoje źródło.

Ruch onion biegnie warstwowymi obwodami Tor, w osobnej, izolowanej puli.

Do rojów dołącza się z własnych sesji peer. Fragmenty napływają, a potem nic nie jest udostępniane dalej.

Tunel nie działa. Nowe żądania się zatrzymują, transfery zapisują punkty kontrolne i nic nie wychodzi bezpośrednio.

Tunel wrócił. Transfery wznawiają się od punktów kontrolnych.

  • Adresy prywatne, loopback i metadanych są odrzucane w chwili połączenia.
  • Nazwy onion nigdy nie dotykają zwykłego DNS.
  • Sesje peer przestają udostępniać, gdy tylko żądane pliki są kompletne.
  • Unieważnione powiązanie zamyka aktywne połączenia, a brama to potwierdza.
  • Gdy zatrzymania nie da się potwierdzić, jego przepustowość pozostaje zarezerwowana, dopóki nie zostanie potwierdzone.
  • Części częściowe leżą w magazynie obiektów, więc inna jednostka może je wznowić.

Zweryfikowane, zapisane, nigdy nie uruchamiane.

Niezależny weryfikator liczy hash każdego pliku z poczekalni. Bajty są przechowywane według zawartości, publikowane raz i udostępniane wyłącznie jako załączniki.

Opublikowane pliki fikcyjnego zadania i ich poziom integralnościSuma kontrolna ze źródła zweryfikowanaZgadza się z sumą kontrolną opublikowaną przez samo źródło.Zweryfikowane przez protokół transferuSprawdzone względem hashy samego protokołu, plik po pliku.Suma kontrolna obliczona po dotarciuSHA-256 zapisanych bajtów, oznaczony dokładnie tak.
attachments/samples.zip1,4 GiB21d80013…336753Suma kontrolna ze źródła zweryfikowana
attachments/bulletins/bulletin-2026-07.pdf16,9 MiB45fc57dc…6589c6Suma kontrolna obliczona po dotarciu
attachments/bulletins/bulletin-2026-06.pdf14,2 MiBd918bbf1…71f434Suma kontrolna ze źródła zweryfikowana
attachments/indicators-0417.json2,3 MiB13e8534b…865223Zweryfikowane przez protokół transferu
captures/listing-0001.html428 KiBa3651f3c…f7b3e8Suma kontrolna obliczona po dotarciu
screens/page-0001.png717 KiB1a53f598…76d1dbSuma kontrolna obliczona po dotarciu

Niezgodność trafia do kwarantanny i jest pozyskiwana ponownie, nigdy nie jest publikowana.

Dwie lokalizacje, jeden blob

Identyczne bajty są zapisywane raz, według ich SHA-256. Wszystkie lokalizacje, które na nie wskazywały, są zachowane.

Zachowane jako dowód, nigdy nie uruchamiane

  • Nic z pozyskanych danych nie jest otwierane, uruchamiane, instalowane ani montowane.
  • Analizatory działają bez sieci, jako osobny użytkownik, z limitami czasu i pamięci.
  • Ścieżki w archiwum są sprawdzane, zanim zostanie wypakowany choćby jeden element.
  • Pliki wychodzą wyłącznie jako załączniki, krótko żyjącymi linkami z osobnego origin.
Wpis manifestu, tak jak zwraca go API
{"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"}

Wartości fikcyjne, nazwy pól dokładnie takie, jak definiuje je API

Zbudowany, by go wywoływać, gotowy dla parsera.

Dowolny projekt przesyła zadania przez API i śledzi je przez zdarzenia. Parser pobiera każdy opublikowany plik wraz z jego sumą kontrolną i pochodzeniem.

  • Państwa projekt
  • Downloader
  • Parser
  1. Państwa projektDownloaderPrzesyła zadanieZadanie z kluczem idempotentności: ponowienie nigdy nie tworzy drugiego zadania.
    Zadanie wysyłane przez Państwa projekt
    {"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. DownloaderPaństwa projektPrzyjmuje je po zapisaniuOdpowiedź dopiero po zapisaniu zadania i jego polityki.
    Co wraca w odpowiedzi
    {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false}
  3. DownloaderParserOgłasza opublikowany plikPodpisane webhooki albo zdarzenia pobierane lub strumieniowane od kursora.
    Zdarzenie otrzymywane przez parser
    {"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. ParserDownloaderOdczytuje rekord plikuParser sprawdza, że plik jest zatwierdzony, i odczytuje jego SHA-256.
    Rekord pliku sprawdzany przez parser
    {"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. ParserDownloaderPobiera go krótko żyjącym linkiemKrótko żyjący link; parser ponownie liczy hash bajtów przed parsowaniem.

Inwentarz, manifest i decyzje można też wyeksportować jako NDJSON.

Wartości fikcyjne, nazwy pól dokładnie takie, jak definiuje je API

Sprawdź to na własnych źródłach.

Prosimy opisać potrzeby. Pokażemy przechwycenie na żywo, od posta po zapieczętowany rekord.

Umów briefing

Wolą Państwo e-mail? Prosimy pisać na [email protected].