Adquira de qualquer fonte, com segurança.

Em breve

Envie um link ou chame a API. O Corvidint resolve a fonte, mapeia cada arquivo e adquire o que a sua política seleciona, verificado e registrado.

Fontes

  • Links diretoshttps://archive.example.org/…
  • Listagens webIndex of /pub/2026/
  • Serviços onion….onion
  • Swarms peer-to-peermagnet:?xt=urn:btih:…

Publicados, os mais recentes primeiro

  1. attachments/samples.zip1,4 GiBChecksum da fonte verificado
  2. attachments/bulletins/bulletin-2026-07.pdf16,9 MiBChecksum calculado na chegada
  3. captures/listing-0001.html428 KiBChecksum calculado na chegada
  4. attachments/indicators-0417.json2,3 MiBVerificado pelo protocolo de transferência
  5. screens/page-0001.png717 KiBChecksum calculado na chegada
  6. attachments/bulletins/bulletin-2026-06.pdf14,2 MiBChecksum da fonte verificado
  7. shared/case-0417/notes.txt6,2 KiBChecksum da fonte verificado

Tudo para onde um link pode levar.

Um único pipeline genérico resolve qualquer fonte, conhecida ou não. Padrões, receitas revisadas e conectores versionados ampliam o alcance sem código novo no núcleo.

Somente fontes de que você está autorizado a coletar. A falta de acesso vira uma solicitação de ação, nunca um contorno.

  1. Links diretos

    Acessada porTúneis VPNPool Tor

    Links diretos, compartilhados e temporários, redirecionamentos e as páginas intermediárias entre eles.

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

    Acessada porTúneis VPNPool Tor

    Índices de servidor, catálogos, tabelas, páginas de detalhe, galerias, feeds e listagens JSON paginadas.

    • Index of /
    • ?page=2
    • <enclosure>
    • next_cursor
  3. Servidores de arquivos

    Acessada porTúneis VPN

    FTP e FTPS, SFTP com chaves de host fixadas e coleções WebDAV, pasta por pasta.

    • ftp://
    • ftps://
    • sftp://
    • PROPFIND
  4. Armazenamento em nuvem

    Acessada porTúneis VPN

    Remotes de armazenamento configurados e pastas compartilhadas, listados pelas suas próprias interfaces.

    • remote:bucket/
    • /shared/
    • next_page_token
  5. Hospedagens de arquivos

    Acessada porTúneis VPN

    Serviços de hospedagem com formatos de link próprios, resolvidos por adaptadores dedicados e mecanismos isolados.

    • /file/…
    • /folder/…
    • #key
  6. Páginas dinâmicas

    Acessada porTúneis VPNPool Tor

    Links que só um script monta são encontrados por um navegador em sandbox, dentro de orçamentos rígidos.

    • <script>
    • fetch()
    • subresources
  7. Serviços onion

    Acessada porPool Tor

    Endereços onion vão somente ao pool Tor isolado e nunca tocam o DNS comum.

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

    Acessada porSessões de peers

    Links magnet e arquivos torrent rodam em sessões próprias, em túnel, nunca pelo Tor, sem seeding depois.

    • magnet:?xt=
    • .torrent
    • info-hash
  9. Arquivos compactados e conjuntos

    Acessada porQualquer rede

    Arquivos compactados são listados membro por membro, e as partes de um conjunto em várias partes são escolhidas como uma só.

    • .zip
    • .tar.gz
    • .7z
    • .rar
    • .iso
    • .part1
  10. Acesso autorizado

    Acessada porTúneis VPNPool Tor

    Senhas, tokens, chaves e chaves de cliente onion são enviados uma vez, mantidos como referências e nunca mais exibidos.

    • username_password
    • token
    • ssh_key
    • onion_client_auth

Um link se torna um inventário completo.

A resolução reúne evidências antes de acreditar em qualquer coisa. Um tamanho continua desconhecido até ser comprovado, e uma listagem só está completa quando todos os ramos se fecham.

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

Túnel VPN

Coberturaem andamentocompleto dentro do escopo

  • archive.example.org/collections/0417/coleção
  • attachments/83 arquivos1,9 GiB
  • bulletins/79 arquivos282 MiB
  • indicators-0417.jsondados2,3 MiB
  • samples-part2.7zarquivo compactadotamanho desconhecido286 MiB
  • samples.ziparquivo compactado1,4 GiB
  • readme.txtmembro do arquivo compactado
  • docs/overview.pdfmembro do arquivo compactado
  • 10 membros a mais
  • unknown-0042.bintipo desconhecido3,1 MiB
  • captures/148 arquivos46,1 MiB
  • index.htmlpágina intermediária48,0 KiB
  • README.txttexto2,1 KiB
  • screens/64 arquivos41,1 MiB
  • video/2 arquivos1,5 GiB
  • recording-02.mp4vídeo1,1 GiB
  • walkthrough.mp4vídeo412 MiB
  1. ValidarEsquema, porta e classe do host são verificados sem contatar a fonte.
  2. Escolher a redeUm nome onion seleciona o pool Tor, qualquer outro nome, um túnel VPN.
  3. Reunir evidênciasCabeçalhos, assinaturas, listagens e leituras por faixa, das mais baratas às mais caras.
  4. ClassificarArquivo, pasta, coleção ou página intermediária, cada um com a sua evidência.
  5. EnumerarPastas página por página, arquivos compactados membro por membro, ciclos cortados.
  6. Fechar a listagemCompleta dentro do escopo somente quando nenhum ramo fica aberto.
Um nó dessa árvore, como a API o retorna
{"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"}}}

Novos sites, sem código novo

Protocolos padrão precisam apenas de configuração. Layouts de página conhecidos recebem receitas declarativas. Protocolos inéditos recebem um conector versionado, nunca uma alteração no núcleo.

  • PadrõesListagens web, FTP, SFTP, WebDAV e remotes de armazenamento, compreendidos de fábrica.
  • ReceitasBuscar, selecionar, extrair, emitir. Sem scripts, sem código, apenas operações que a plataforma permite.
  • ConectoresPacotes versionados que rodam fora do processo e passam antes por um kit de conformidade.

Como uma receita conquista o seu lugar

  1. Proposta
  2. Testada em fixtures
  3. Canary em parte do trabalho
  4. Promovida com base em evidências
  5. Retirada por mudança no site

Um modelo pode propor as etapas de uma receita. Pessoas a revisam, e somente evidências a promovem.

Um documento de receita, na linguagem de receitas
{"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"}}

Valores fictícios, com os nomes de campo exatamente como a API os define

Nada é baixado antes de a ordem ser comprovada.

As regras decidem o que é permitido, ignorado ou posto em quarentena. A seleção estrita aguarda uma listagem fechada e tamanhos conhecidos, e então ordena cada arquivo por tamanho.

Regras de política, da maior prioridade para a menor

  1. 1exclude-videopriority: 100Vídeo reproduzível é ignorado.
  2. 2inspect-unknownpriority: 50Tipos desconhecidos são inspecionados; sem conclusão, vão para a quarentena.
  3. 3opaque_encrypted_when_acquiredquarantineArquivos compactados criptografados permanecem opacos até que alguém informe a senha.
  4. 4default_actionallowTodo o resto é permitido.
PosiçãoArquivoTamanhoDecisão
1samples.zip1,4 GiBPermitido
2bulletin-2026-07.pdf16,9 MiBPermitido
3bulletin-2026-06.pdf14,2 MiBPermitido
53indicators-0417.json2,3 MiBPermitido
294README.txt2,1 KiBPermitido
samples-part2.7z286 MiBAguardando senhasenha necessária
unknown-0042.bin3,1 MiBEm quarentenaidentificação desconhecida
recording-02.mp41,1 GiBIgnoradovídeo ignorado
walkthrough.mp4412 MiBIgnoradovídeo ignorado

Registrado com a seleção

strict_order_closed_inventory

Todos os arquivos do inventário completo foram ordenados por tamanho antes do download.

Modos de seleção

  1. 1Todos os arquivos, do maior para o menor
  2. 2O maior arquivo
  3. 3O maior arquivo de cada pasta
  4. 4Arquivos dentro de uma faixa de tamanho

O modo estrito aguarda uma listagem fechada e tamanhos conhecidos. O modo progressivo começa cedo, e avisa isso.

Uma decisão, como a API a retorna
{"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"}]}

Toda requisição sai por um túnel.

Sondagens, listagens e transferências usam a saída autorizada. Quando um túnel cai, as requisições param: não existe rota direta para recorrer.

Sessões de túnel VPNPool Tor isoladoSessões de peers

Toda requisição passa pelo portão de política e então sai pela faixa que a sua fonte exige.

O tráfego onion usa circuitos Tor em camadas, em um pool isolado próprio.

Os swarms são acessados a partir de sessões de peers próprias. As partes chegam, e nada é compartilhado depois.

Túnel fora do ar. Novas requisições param, as transferências gravam checkpoints e nada sai diretamente.

Túnel de volta. As transferências retomam a partir dos seus checkpoints.

  • Endereços privados, de loopback e de metadados são recusados no momento da conexão.
  • Nomes onion nunca tocam o DNS comum.
  • As sessões de peers param de compartilhar assim que os arquivos solicitados estão completos.
  • Um vínculo revogado encerra as conexões ativas, e o gateway confirma.
  • Quando uma parada não pode ser confirmada, a sua capacidade permanece retida até que seja.
  • Os arquivos parciais ficam no armazenamento de objetos, para que outra unidade possa retomá-los.

Verificado, registrado, nunca executado.

Um verificador independente calcula o hash de cada arquivo em staging. Os bytes são armazenados por conteúdo, publicados uma vez e servidos somente como anexos.

Arquivos publicados do job fictício e o seu nível de integridadeChecksum da fonte verificadoConfere com um checksum que a própria fonte publicou.Verificado pelo protocolo de transferênciaConferido com os hashes do próprio protocolo, arquivo por arquivo.Checksum calculado na chegadaSHA-256 dos bytes armazenados, e identificado exatamente como isso.
attachments/samples.zip1,4 GiB21d80013…336753Checksum da fonte verificado
attachments/bulletins/bulletin-2026-07.pdf16,9 MiB45fc57dc…6589c6Checksum calculado na chegada
attachments/bulletins/bulletin-2026-06.pdf14,2 MiBd918bbf1…71f434Checksum da fonte verificado
attachments/indicators-0417.json2,3 MiB13e8534b…865223Verificado pelo protocolo de transferência
captures/listing-0001.html428 KiBa3651f3c…f7b3e8Checksum calculado na chegada
screens/page-0001.png717 KiB1a53f598…76d1dbChecksum calculado na chegada

Uma divergência vai para a quarentena e é adquirida de novo, nunca publicada.

Dois locais, um blob

Bytes idênticos são armazenados uma só vez pelo seu SHA-256. Todo local que apontava para eles é mantido.

Mantido como evidência, nunca executado

  • Nada do que é adquirido é aberto, executado, instalado ou montado.
  • Os analisadores rodam sem rede, com um usuário próprio e limites de tempo e de memória.
  • Os caminhos dos arquivos compactados são verificados antes de extrair um único membro.
  • Os arquivos saem apenas como anexos, por links de curta duração em uma origem separada.
Uma entrada do manifesto, como a API a retorna
{"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"}

Valores fictícios, com os nomes de campo exatamente como a API os define

Feito para ser chamado, pronto para o parser.

Qualquer projeto envia jobs pela API e os acompanha por eventos. O parser recebe cada arquivo publicado com o seu checksum e a sua procedência.

  • Seu projeto
  • Downloader
  • Parser
  1. Seu projetoDownloaderEnvia um jobUm job com uma chave de idempotência: uma nova tentativa nunca cria um segundo job.
    O job que o seu projeto envia
    {"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. DownloaderSeu projetoAceita depois de armazenarRespondido somente depois que o job e a sua política são armazenados.
    O que volta
    {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false}
  3. DownloaderParserAnuncia um arquivo publicadoWebhooks assinados, ou eventos que você consulta ou recebe em stream a partir de um cursor.
    O evento que o parser recebe
    {"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. ParserDownloaderLê o registro do arquivoO parser verifica se o arquivo está confirmado e lê o seu SHA-256.
    O registro do arquivo que o parser verifica
    {"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. ParserDownloaderBusca por um link de curta duraçãoUm link de curta duração; o parser calcula o hash dos bytes de novo antes de interpretar.

Inventário, manifesto e decisões também são exportados como NDJSON.

Valores fictícios, com os nomes de campo exatamente como a API os define

Veja nas suas próprias fontes.

Conte-nos o que você precisa. Vamos mostrar uma captura ao vivo, do post ao registro selado.

Solicitar um briefing

Prefere e-mail? Escreva para [email protected].