Отримуйте з будь-якого джерела безпечно.
Незабаром
Надішліть посилання або викличте API. Corvidint визначає джерело, складає карту кожного файлу й отримує те, що обирає ваша політика, з перевіркою та записом.
Джерела
- Прямі посиланняhttps://archive.example.org/…
- ВебперелікиIndex of /pub/2026/
- Onion-сервіси….onion
- Рої peer-to-peermagnet:?xt=urn:btih:…
Опубліковано, найновіші першими
- attachments/samples.zip1,4 GiBКонтрольну суму джерела перевірено
- attachments/bulletins/bulletin-2026-07.pdf16,9 MiBКонтрольну суму обчислено після отримання
- captures/listing-0001.html428 KiBКонтрольну суму обчислено після отримання
- attachments/indicators-0417.json2,3 MiBПеревірено протоколом передачі
- screens/page-0001.png717 KiBКонтрольну суму обчислено після отримання
- attachments/bulletins/bulletin-2026-06.pdf14,2 MiBКонтрольну суму джерела перевірено
- shared/case-0417/notes.txt6,2 KiBКонтрольну суму джерела перевірено
Усе, до чого може привести посилання.
Один універсальний конвеєр визначає будь-яке джерело, відоме чи ні. Стандарти, перевірені рецепти та конектори з версіями розширюють його без нового коду в ядрі.
Лише джерела, з яких вам дозволено збирати дані. Відсутній доступ стає запитом на дію, а не обхідним шляхом.
Прямі посилання
Шлях черезVPN-тунеліПул Tor
Прямі, спільні й тимчасові посилання, перенаправлення та проміжні сторінки між ними.
- https://
- http://
- 302 Found
- ?expires=…
Вебпереліки
Шлях черезVPN-тунеліПул Tor
Індекси серверів, каталоги, таблиці, сторінки подробиць, галереї, фіди та посторінкові переліки JSON.
- Index of /
- ?page=2
- <enclosure>
- next_cursor
Файлові сервери
Шлях черезVPN-тунелі
FTP і FTPS, SFTP із закріпленими ключами хоста та колекції WebDAV, тека за текою.
- ftp://
- ftps://
- sftp://
- PROPFIND
Хмарні сховища
Шлях черезVPN-тунелі
Налаштовані віддалені сховища та спільні теки, перелічені через їхні власні інтерфейси.
- remote:bucket/
- /shared/
- next_page_token
Файлові хостинги
Шлях черезVPN-тунелі
Хостингові сервіси з власними форматами посилань, що визначаються окремими адаптерами та ізольованими рушіями.
- /file/…
- /folder/…
- #key
Динамічні сторінки
Шлях черезVPN-тунеліПул Tor
Посилання, які будує лише скрипт, знаходить браузер в ізольованому середовищі, у суворих межах ресурсів.
- <script>
- fetch()
- subresources
Onion-сервіси
Шлях черезПул Tor
Onion-адреси йдуть лише до ізольованого пулу Tor і ніколи не торкаються звичайного DNS.
- .onion
- client auth
Рої peer-to-peer
Шлях черезСесії пірів
Magnet-посилання й торент-файли працюють у власних тунельованих сесіях, ніколи через Tor, без подальшої роздачі.
- magnet:?xt=
- .torrent
- info-hash
Архіви та набори
Шлях черезБудь-яка мережа
Архіви перелічуються елемент за елементом, а частини багатотомного набору обираються як одне ціле.
- .zip
- .tar.gz
- .7z
- .rar
- .iso
- .part1
Дозволений доступ
Шлях черезVPN-тунеліПул Tor
Паролі, токени, ключі та клієнтські ключі onion надсилаються один раз, зберігаються як посилання й більше ніколи не показуються.
- username_password
- token
- ssh_key
- onion_client_auth
Одне посилання стає повним інвентарем.
Визначення спершу збирає докази, а вже потім чомусь вірить. Розмір лишається невідомим, доки не доведено, а перелік повний, лише коли закрито кожну гілку.
- 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
- ПеревіритиСхема, порт і клас хоста перевіряються без звернення до джерела.
- Обрати мережуНазва onion обирає пул Tor, будь-яка інша назва обирає VPN-тунель.
- Зібрати доказиЗаголовки, сигнатури, переліки та читання діапазонів, від найдешевших.
- КласифікуватиФайл, тека, колекція чи проміжна сторінка, кожне з доказами.
- ПерелічитиТеки сторінка за сторінкою, архіви елемент за елементом, цикли обрізано.
- Закрити перелікПовний у межах охоплення лише тоді, коли не лишилося відкритих гілок.
{"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 і віддалені сховища, зрозумілі з коробки.
- РецептиОтримати, вибрати, витягти, видати. Жодних скриптів чи коду, лише операції, які дозволяє платформа.
- КонекториПакети з версіями, що працюють поза процесом і спершу проходять набір перевірки відповідності.
Як рецепт заслуговує на своє місце
- Запропоновано
- Перевірено на тестових даних
- Канарка на частці роботи
- Підвищено за доказами
- Відкликано через дрейф
Модель може запропонувати кроки рецепта. Людина їх перевіряє, а підвищує рецепт лише доказ.
{"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
Нічого не завантажується, доки порядок не доведено.
Правила вирішують, що дозволено, виключено чи поміщено на карантин. Суворий вибір чекає на закритий перелік і відомі розміри, а потім упорядковує кожен файл за розміром.
Правила політики, від найвищого пріоритету
- 1exclude-videoВідео, яке можна відтворити, виключається.
- 2inspect-unknownНевідомі типи перевіряються, а непереконливий результат означає карантин.
- 3opaque_
encrypted_ Зашифровані архіви лишаються непрозорими, доки хтось не надасть пароль.when_ acquired - 4default_
action Усе інше дозволено.
Записано разом із вибором
strict_order_closed_inventory
Кожен файл повного інвентаря впорядковано за розміром до завантаження.
Режими вибору
- 1Кожен файл, від найбільшого
- 2Найбільший файл
- 3Найбільший файл кожної теки
- 4Файли в межах діапазону розміру
Суворий режим чекає на закритий перелік і відомі розміри. Поступовий режим стартує раніше й повідомляє про це.
{"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"}]}Кожен запит виходить через тунель.
Проби, переліки й передавання однаково використовують дозволений вихід у мережу. Коли тунель падає, запити зупиняються: прямого маршруту, на який можна переключитися, немає.
Кожен запит проходить шлюз політики, а потім виходить каналом, якого вимагає його джерело.
Трафік onion іде багатошаровими ланцюгами Tor в окремому ізольованому пулі.
До роїв долучаються з власних сесій пірів. Фрагменти надходять, а подальша роздача не відбувається.
Тунель впав. Нові запити зупиняються, передавання зберігають контрольні точки, і нічого не виходить напряму.
Тунель повернувся. Передавання відновлюються з контрольних точок.
- Приватні адреси, loopback і адреси метаданих відхиляються під час з’єднання.
- Назви onion ніколи не торкаються звичайного DNS.
- Сесії пірів припиняють роздачу, щойно запитані файли завершено.
- Відкликане прив’язування закриває активні з’єднання, і шлюз це підтверджує.
- Коли зупинку не можна підтвердити, її ємність лишається утримуваною, доки не підтвердять.
- Часткові файли лежать в об’єктному сховищі, тож інший вузол може їх продовжити.
Перевірено, записано, ніколи не виконано.
Незалежний верифікатор хешує кожен підготовлений файл. Байти зберігаються за вмістом, публікуються один раз і віддаються лише як вкладення.
Розбіжність відправляється на карантин і отримується заново, але ніколи не публікується.
Два місця, один блоб
Ідентичні байти зберігаються один раз за їхнім SHA-256. Кожне місце, що на них вказувало, зберігається.
Зберігається як доказ, ніколи не запускається
- Нічого з отриманого не відкривається, не запускається, не встановлюється й не монтується.
- Аналізатори працюють без мережі, від власного користувача, з обмеженнями часу та пам’яті.
- Шляхи в архіві перевіряються до вилучення жодного елемента.
- Файли виходять лише як вкладення, через короткоживучі посилання з окремого джерела.
{"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 й стежить за ними через події. Парсер бере кожен опублікований файл з його контрольною сумою та походженням.
- Ваш проєкт
- Завантажувач
- Парсер
- Ваш проєктЗавантажувачНадсилає завданняЗавдання з ключем ідемпотентності: повторна спроба ніколи не створює друге завдання.
Завдання, яке надсилає ваш проєкт {"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"} - ЗавантажувачВаш проєктПриймає його після збереженняВідповідь надходить лише після збереження завдання та його політики.
Що повертається {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false} - ЗавантажувачПарсерОголошує опублікований файлПідписані вебхуки або події, які ви опитуєте чи отримуєте потоком від курсору.
Подія, яку отримує парсер {"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}} - ПарсерЗавантажувачЧитає запис файлуПарсер перевіряє, що файл зафіксовано, і читає його 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"} - ПарсерЗавантажувачОтримує його за короткоживучим посиланнямКороткоживуче посилання; парсер хешує байти ще раз перед розбором.
Інвентар, маніфест і рішення також експортуються як NDJSON.
Вигадані значення, назви полів точно такі, як визначає API
Побачте це на власних джерелах.
Розкажіть, що вам потрібно. Ми покажемо фіксацію наживо: від допису до запечатаного запису.
Волієте листування? Пишіть на [email protected].