Отримуйте з будь-якого джерела безпечно.

Незабаром

Надішліть посилання або викличте API. Corvidint визначає джерело, складає карту кожного файлу й отримує те, що обирає ваша політика, з перевіркою та записом.

Джерела

  • Прямі посиланняhttps://archive.example.org/…
  • ВебперелікиIndex of /pub/2026/
  • Onion-сервіси….onion
  • Рої peer-to-peermagnet:?xt=urn:btih:…

Опубліковано, найновіші першими

  1. attachments/samples.zip1,4 GiBКонтрольну суму джерела перевірено
  2. attachments/bulletins/bulletin-2026-07.pdf16,9 MiBКонтрольну суму обчислено після отримання
  3. captures/listing-0001.html428 KiBКонтрольну суму обчислено після отримання
  4. attachments/indicators-0417.json2,3 MiBПеревірено протоколом передачі
  5. screens/page-0001.png717 KiBКонтрольну суму обчислено після отримання
  6. attachments/bulletins/bulletin-2026-06.pdf14,2 MiBКонтрольну суму джерела перевірено
  7. shared/case-0417/notes.txt6,2 KiBКонтрольну суму джерела перевірено

Усе, до чого може привести посилання.

Один універсальний конвеєр визначає будь-яке джерело, відоме чи ні. Стандарти, перевірені рецепти та конектори з версіями розширюють його без нового коду в ядрі.

Лише джерела, з яких вам дозволено збирати дані. Відсутній доступ стає запитом на дію, а не обхідним шляхом.

  1. Прямі посилання

    Шлях черезVPN-тунеліПул Tor

    Прямі, спільні й тимчасові посилання, перенаправлення та проміжні сторінки між ними.

    • https://
    • http://
    • 302 Found
    • ?expires=…
  2. Вебпереліки

    Шлях черезVPN-тунеліПул Tor

    Індекси серверів, каталоги, таблиці, сторінки подробиць, галереї, фіди та посторінкові переліки JSON.

    • Index of /
    • ?page=2
    • <enclosure>
    • next_cursor
  3. Файлові сервери

    Шлях черезVPN-тунелі

    FTP і FTPS, SFTP із закріпленими ключами хоста та колекції WebDAV, тека за текою.

    • ftp://
    • ftps://
    • sftp://
    • PROPFIND
  4. Хмарні сховища

    Шлях черезVPN-тунелі

    Налаштовані віддалені сховища та спільні теки, перелічені через їхні власні інтерфейси.

    • remote:bucket/
    • /shared/
    • next_page_token
  5. Файлові хостинги

    Шлях черезVPN-тунелі

    Хостингові сервіси з власними форматами посилань, що визначаються окремими адаптерами та ізольованими рушіями.

    • /file/…
    • /folder/…
    • #key
  6. Динамічні сторінки

    Шлях черезVPN-тунеліПул Tor

    Посилання, які будує лише скрипт, знаходить браузер в ізольованому середовищі, у суворих межах ресурсів.

    • <script>
    • fetch()
    • subresources
  7. Onion-сервіси

    Шлях черезПул Tor

    Onion-адреси йдуть лише до ізольованого пулу Tor і ніколи не торкаються звичайного DNS.

    • .onion
    • client auth
  8. Рої peer-to-peer

    Шлях черезСесії пірів

    Magnet-посилання й торент-файли працюють у власних тунельованих сесіях, ніколи через Tor, без подальшої роздачі.

    • magnet:?xt=
    • .torrent
    • info-hash
  9. Архіви та набори

    Шлях черезБудь-яка мережа

    Архіви перелічуються елемент за елементом, а частини багатотомного набору обираються як одне ціле.

    • .zip
    • .tar.gz
    • .7z
    • .rar
    • .iso
    • .part1
  10. Дозволений доступ

    Шлях черезVPN-тунеліПул Tor

    Паролі, токени, ключі та клієнтські ключі onion надсилаються один раз, зберігаються як посилання й більше ніколи не показуються.

    • username_password
    • token
    • ssh_key
    • onion_client_auth

Одне посилання стає повним інвентарем.

Визначення спершу збирає докази, а вже потім чомусь вірить. Розмір лишається невідомим, доки не доведено, а перелік повний, лише коли закрито кожну гілку.

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

VPN-тунель

Охопленнятриваєповний у межах охоплення

  • archive.example.org/collections/0417/колекція
  • attachments/83 файли1,9 GiB
  • bulletins/79 файлів282 MiB
  • indicators-0417.jsonдані2,3 MiB
  • samples-part2.7zархіврозмір невідомий286 MiB
  • samples.zipархів1,4 GiB
  • readme.txtелемент архіву
  • docs/overview.pdfелемент архіву
  • ще 10 елементів
  • unknown-0042.binневідомий тип3,1 MiB
  • captures/148 файлів46,1 MiB
  • index.htmlпроміжна сторінка48,0 KiB
  • README.txtтекст2,1 KiB
  • screens/64 файли41,1 MiB
  • video/2 файли1,5 GiB
  • recording-02.mp4відео1,1 GiB
  • walkthrough.mp4відео412 MiB
  1. ПеревіритиСхема, порт і клас хоста перевіряються без звернення до джерела.
  2. Обрати мережуНазва onion обирає пул Tor, будь-яка інша назва обирає VPN-тунель.
  3. Зібрати доказиЗаголовки, сигнатури, переліки та читання діапазонів, від найдешевших.
  4. КласифікуватиФайл, тека, колекція чи проміжна сторінка, кожне з доказами.
  5. ПерелічитиТеки сторінка за сторінкою, архіви елемент за елементом, цикли обрізано.
  6. Закрити перелікПовний у межах охоплення лише тоді, коли не лишилося відкритих гілок.
Один вузол цього дерева, як його повертає 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"}}}

Нові сайти без нового коду

Стандартні протоколи потребують лише конфігурації. Відомі розмітки сторінок отримують декларативні рецепти. Нові протоколи отримують конектор із версіями, але ніколи не правки ядра.

  • СтандартиВебпереліки, FTP, SFTP, WebDAV і віддалені сховища, зрозумілі з коробки.
  • РецептиОтримати, вибрати, витягти, видати. Жодних скриптів чи коду, лише операції, які дозволяє платформа.
  • КонекториПакети з версіями, що працюють поза процесом і спершу проходять набір перевірки відповідності.

Як рецепт заслуговує на своє місце

  1. Запропоновано
  2. Перевірено на тестових даних
  3. Канарка на частці роботи
  4. Підвищено за доказами
  5. Відкликано через дрейф

Модель може запропонувати кроки рецепта. Людина їх перевіряє, а підвищує рецепт лише доказ.

Документ рецепта, мовою рецептів
{"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"}}

Вигадані значення, назви полів точно такі, як визначає API

Нічого не завантажується, доки порядок не доведено.

Правила вирішують, що дозволено, виключено чи поміщено на карантин. Суворий вибір чекає на закритий перелік і відомі розміри, а потім упорядковує кожен файл за розміром.

Правила політики, від найвищого пріоритету

  1. 1exclude-videopriority: 100Відео, яке можна відтворити, виключається.
  2. 2inspect-unknownpriority: 50Невідомі типи перевіряються, а непереконливий результат означає карантин.
  3. 3opaque_encrypted_when_acquiredquarantineЗашифровані архіви лишаються непрозорими, доки хтось не надасть пароль.
  4. 4default_actionallowУсе інше дозволено.
РангФайлРозмірРішення
1samples.zip1,4 GiBДозволено
2bulletin-2026-07.pdf16,9 MiBДозволено
3bulletin-2026-06.pdf14,2 MiBДозволено
53indicators-0417.json2,3 MiBДозволено
294README.txt2,1 KiBДозволено
samples-part2.7z286 MiBЧекає парольпотрібен пароль
unknown-0042.bin3,1 MiBКарантинтип не визначено
recording-02.mp41,1 GiBВиключеновідео виключено
walkthrough.mp4412 MiBВиключеновідео виключено

Записано разом із вибором

strict_order_closed_inventory

Кожен файл повного інвентаря впорядковано за розміром до завантаження.

Режими вибору

  1. 1Кожен файл, від найбільшого
  2. 2Найбільший файл
  3. 3Найбільший файл кожної теки
  4. 4Файли в межах діапазону розміру

Суворий режим чекає на закритий перелік і відомі розміри. Поступовий режим стартує раніше й повідомляє про це.

Рішення, як його повертає 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"}]}

Кожен запит виходить через тунель.

Проби, переліки й передавання однаково використовують дозволений вихід у мережу. Коли тунель падає, запити зупиняються: прямого маршруту, на який можна переключитися, немає.

Сесії VPN-тунелівІзольований пул TorСесії пірів

Кожен запит проходить шлюз політики, а потім виходить каналом, якого вимагає його джерело.

Трафік onion іде багатошаровими ланцюгами Tor в окремому ізольованому пулі.

До роїв долучаються з власних сесій пірів. Фрагменти надходять, а подальша роздача не відбувається.

Тунель впав. Нові запити зупиняються, передавання зберігають контрольні точки, і нічого не виходить напряму.

Тунель повернувся. Передавання відновлюються з контрольних точок.

  • Приватні адреси, loopback і адреси метаданих відхиляються під час з’єднання.
  • Назви onion ніколи не торкаються звичайного DNS.
  • Сесії пірів припиняють роздачу, щойно запитані файли завершено.
  • Відкликане прив’язування закриває активні з’єднання, і шлюз це підтверджує.
  • Коли зупинку не можна підтвердити, її ємність лишається утримуваною, доки не підтвердять.
  • Часткові файли лежать в об’єктному сховищі, тож інший вузол може їх продовжити.

Перевірено, записано, ніколи не виконано.

Незалежний верифікатор хешує кожен підготовлений файл. Байти зберігаються за вмістом, публікуються один раз і віддаються лише як вкладення.

Опубліковані файли вигаданого завдання та їхній рівень цілісностіКонтрольну суму джерела перевіреноЗбігається з контрольною сумою, яку опублікувало саме джерело.Перевірено протоколом передачіЗвірено з власними хешами протоколу, файл за файлом.Контрольну суму обчислено після отриманняSHA-256 збережених байтів, і саме так позначено.
attachments/samples.zip1,4 GiB21d80013…336753Контрольну суму джерела перевірено
attachments/bulletins/bulletin-2026-07.pdf16,9 MiB45fc57dc…6589c6Контрольну суму обчислено після отримання
attachments/bulletins/bulletin-2026-06.pdf14,2 MiBd918bbf1…71f434Контрольну суму джерела перевірено
attachments/indicators-0417.json2,3 MiB13e8534b…865223Перевірено протоколом передачі
captures/listing-0001.html428 KiBa3651f3c…f7b3e8Контрольну суму обчислено після отримання
screens/page-0001.png717 KiB1a53f598…76d1dbКонтрольну суму обчислено після отримання

Розбіжність відправляється на карантин і отримується заново, але ніколи не публікується.

Два місця, один блоб

Ідентичні байти зберігаються один раз за їхнім SHA-256. Кожне місце, що на них вказувало, зберігається.

Зберігається як доказ, ніколи не запускається

  • Нічого з отриманого не відкривається, не запускається, не встановлюється й не монтується.
  • Аналізатори працюють без мережі, від власного користувача, з обмеженнями часу та пам’яті.
  • Шляхи в архіві перевіряються до вилучення жодного елемента.
  • Файли виходять лише як вкладення, через короткоживучі посилання з окремого джерела.
Запис маніфесту, як його повертає 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"}

Вигадані значення, назви полів точно такі, як визначає API

Створено для виклику, готово до парсера.

Будь-який проєкт надсилає завдання через API й стежить за ними через події. Парсер бере кожен опублікований файл з його контрольною сумою та походженням.

  • Ваш проєкт
  • Завантажувач
  • Парсер
  1. Ваш проєктЗавантажувачНадсилає завданняЗавдання з ключем ідемпотентності: повторна спроба ніколи не створює друге завдання.
    Завдання, яке надсилає ваш проєкт
    {"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. ЗавантажувачВаш проєктПриймає його після збереженняВідповідь надходить лише після збереження завдання та його політики.
    Що повертається
    {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false}
  3. ЗавантажувачПарсерОголошує опублікований файлПідписані вебхуки або події, які ви опитуєте чи отримуєте потоком від курсору.
    Подія, яку отримує парсер
    {"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. ПарсерЗавантажувачЧитає запис файлуПарсер перевіряє, що файл зафіксовано, і читає його SHA-256.
    Запис файлу, який перевіряє парсер
    {"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. ПарсерЗавантажувачОтримує його за короткоживучим посиланнямКороткоживуче посилання; парсер хешує байти ще раз перед розбором.

Інвентар, маніфест і рішення також експортуються як NDJSON.

Вигадані значення, назви полів точно такі, як визначає API

Побачте це на власних джерелах.

Розкажіть, що вам потрібно. Ми покажемо фіксацію наживо: від допису до запечатаного запису.

Замовити брифінг

Волієте листування? Пишіть на [email protected].