Adquiere de cualquier fuente, con seguridad.

Próximamente

Envía un enlace o llama a la API. {{PRODUCT_NAME}} resuelve la fuente, mapea cada archivo y adquiere lo que tu política selecciona, verificado y registrado.

Fuentes

  • Enlaces directoshttps://archive.example.org/…
  • Listados webIndex of /pub/2026/
  • Servicios onion….onion
  • Enjambres P2Pmagnet:?xt=urn:btih:…

Publicados, los más recientes primero

  1. attachments/samples.zip1,4 GiBChecksum de la fuente verificado
  2. attachments/bulletins/bulletin-2026-07.pdf16,9 MiBChecksum calculado al llegar
  3. captures/listing-0001.html428 KiBChecksum calculado al llegar
  4. attachments/indicators-0417.json2,3 MiBVerificado por el protocolo de transferencia
  5. screens/page-0001.png717 KiBChecksum calculado al llegar
  6. attachments/bulletins/bulletin-2026-06.pdf14,2 MiBChecksum de la fuente verificado
  7. shared/case-0417/notes.txt6,2 KiBChecksum de la fuente verificado

Todo lo que hay tras un enlace.

Un mismo flujo genérico resuelve cada fuente, conocida o no. Estándares, recetas revisadas y conectores versionados lo amplían sin tocar el núcleo.

Solo fuentes que estás autorizado a recolectar. Un acceso que falta se convierte en una petición de acción, nunca en un rodeo.

  1. Enlaces directos

    Se alcanza porTúneles VPNPool de Tor

    Enlaces directos, compartidos y temporales, redirecciones y las páginas intermedias entre ellos.

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

    Se alcanza porTúneles VPNPool de Tor

    Índices de servidor, catálogos, tablas, páginas de detalle, galerías, feeds y listados JSON paginados.

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

    Se alcanza porTúneles VPN

    FTP y FTPS, SFTP con claves de host fijadas y colecciones WebDAV, carpeta a carpeta.

    • ftp://
    • ftps://
    • sftp://
    • PROPFIND
  4. Almacenamiento en la nube

    Se alcanza porTúneles VPN

    Remotos de almacenamiento configurados y carpetas compartidas, listados con sus propias interfaces.

    • remote:bucket/
    • /shared/
    • next_page_token
  5. Alojamiento de archivos

    Se alcanza porTúneles VPN

    Servicios con formatos de enlace propios, resueltos por adaptadores dedicados y motores aislados.

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

    Se alcanza porTúneles VPNPool de Tor

    Los enlaces que solo construye un script los encuentra un navegador aislado, con presupuestos estrictos.

    • <script>
    • fetch()
    • subresources
  7. Servicios onion

    Se alcanza porPool de Tor

    Las direcciones onion van solo al pool aislado de Tor y nunca pasan por el DNS ordinario.

    • .onion
    • client auth
  8. Enjambres P2P

    Se alcanza porSesiones P2P

    Los enlaces magnet y los archivos torrent van en sus propias sesiones tunelizadas, nunca por Tor y sin compartir después.

    • magnet:?xt=
    • .torrent
    • info-hash
  9. Comprimidos y conjuntos

    Se alcanza porCualquier red

    Los comprimidos se listan miembro a miembro, y las partes de un conjunto multiparte se eligen como una sola.

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

    Se alcanza porTúneles VPNPool de Tor

    Contraseñas, tokens, claves y claves de cliente onion se envían una vez, se guardan como referencias y no vuelven a mostrarse.

    • username_password
    • token
    • ssh_key
    • onion_client_auth

Un enlace se convierte en un inventario completo.

La resolución reúne pruebas antes de creer nada. Un tamaño es desconocido hasta probarse y un listado solo está completo cuando cierra cada rama.

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

Túnel VPN

Coberturaen cursocompleta en el alcance

  • archive.example.org/collections/0417/colección
  • attachments/83 archivos1,9 GiB
  • bulletins/79 archivos282 MiB
  • indicators-0417.jsondatos2,3 MiB
  • samples-part2.7zcomprimidotamaño desconocido286 MiB
  • samples.zipcomprimido1,4 GiB
  • readme.txtmiembro del comprimido
  • docs/overview.pdfmiembro del comprimido
  • 10 miembros más
  • unknown-0042.bintipo desconocido3,1 MiB
  • captures/148 archivos46,1 MiB
  • index.htmlpágina intermedia48,0 KiB
  • README.txttexto2,1 KiB
  • screens/64 archivos41,1 MiB
  • video/2 archivos1,5 GiB
  • recording-02.mp4vídeo1,1 GiB
  • walkthrough.mp4vídeo412 MiB
  1. ValidarSe comprueban esquema, puerto y tipo de host sin contactar con la fuente.
  2. Elegir la redUn nombre onion elige el pool de Tor; cualquier otro, un túnel VPN.
  3. Reunir pruebasCabeceras, firmas, listados y lecturas por rangos, de menor a mayor coste.
  4. ClasificarArchivo, carpeta, colección o página intermedia, cada uno con sus pruebas.
  5. EnumerarCarpetas página a página, comprimidos miembro a miembro, ciclos cortados.
  6. Cerrar el listadoCompleto dentro del alcance solo cuando no queda ninguna rama abierta.
Un nodo de ese árbol, tal como lo devuelve la 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"}}}

Sitios nuevos, sin código nuevo

Los protocolos estándar solo piden configuración; las páginas conocidas, recetas declarativas; los protocolos nuevos, un conector versionado, nunca cambios en el núcleo.

  • EstándaresListados web, FTP, SFTP, WebDAV y remotos de almacenamiento, entendidos de serie.
  • RecetasObtener, seleccionar, extraer, emitir. Sin scripts ni código, solo operaciones que la plataforma permite.
  • ConectoresPaquetes versionados que se ejecutan fuera de proceso y antes superan un kit de conformidad.

Cómo se gana su sitio una receta

  1. Propuesta
  2. Probada con casos de prueba
  3. Canario sobre una parte del trabajo
  4. Promovida con pruebas
  5. Retirada si deriva

Un modelo puede proponer los pasos de una receta. La revisan personas, y solo las pruebas la promueven.

Un documento de receta, en el lenguaje de recetas
{"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 ficticios, nombres de campo tal como los define la API

Nada se descarga antes de probar el orden.

Las reglas deciden qué se permite, se excluye o va a cuarentena. La selección estricta espera listado cerrado y tamaños conocidos, y ordena por tamaño.

Reglas de la política, primero la de mayor prioridad

  1. 1exclude-videopriority: 100El vídeo reproducible se deja fuera.
  2. 2inspect-unknownpriority: 50Los tipos desconocidos se inspeccionan; si no hay conclusión, cuarentena.
  3. 3opaque_encrypted_when_acquiredquarantineLos comprimidos cifrados siguen opacos hasta que alguien aporte la contraseña.
  4. 4default_actionallowTodo lo demás se permite.
PuestoArchivoTamañoDecisión
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 MiBEspera una contraseñacontraseña necesaria
unknown-0042.bin3,1 MiBEn cuarentenaidentificación desconocida
recording-02.mp41,1 GiBExcluidovídeo excluido
walkthrough.mp4412 MiBExcluidovídeo excluido

Registrado con la selección

strict_order_closed_inventory

Cada archivo del inventario completo se ordenó por tamaño antes de descargar.

Modos de selección

  1. 1Cada archivo, del mayor al menor
  2. 2El archivo más grande
  3. 3El archivo más grande de cada carpeta
  4. 4Archivos dentro de un rango de tamaño

El modo estricto espera un listado cerrado y tamaños conocidos. El modo progresivo empieza antes, y lo dice.

Una decisión, tal como la devuelve la 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"}]}

Cada petición sale por un túnel.

Sondeos, listados y transferencias usan la misma salida autorizada. Si un túnel cae, las peticiones se detienen: no hay ruta directa a la que recurrir.

Sesiones de túnel VPNPool aislado de TorSesiones P2P

Cada petición cruza la pasarela de políticas y sale por el carril que exige su fuente.

El tráfico onion recorre circuitos de Tor por capas, en un pool aislado propio.

A los enjambres se entra desde sesiones P2P propias. Llegan las piezas y después no se comparte nada.

Túnel caído. Las peticiones nuevas se detienen, las transferencias guardan su punto de control y nada sale directamente.

Túnel de vuelta. Las transferencias se reanudan desde su punto de control.

  • Las direcciones privadas, de loopback y de metadatos se rechazan al conectar.
  • Los nombres onion nunca pasan por el DNS ordinario.
  • Las sesiones P2P dejan de compartir en cuanto los archivos pedidos están completos.
  • Un vínculo revocado cierra las conexiones vivas, y la pasarela lo confirma.
  • Si una parada no puede confirmarse, su capacidad queda reservada hasta que se confirme.
  • Los parciales viven en almacenamiento de objetos, así que otra unidad puede reanudarlos.

Verificado, registrado, nunca ejecutado.

Un verificador independiente calcula el hash de cada archivo recibido. Los bytes se guardan por contenido, se publican una vez y solo salen como adjuntos.

Archivos publicados del trabajo ficticio y su nivel de integridadChecksum de la fuente verificadoCoincide con un checksum que publicó la propia fuente.Verificado por el protocolo de transferenciaComprobado con los hashes del propio protocolo, archivo a archivo.Checksum calculado al llegarSHA-256 de los bytes guardados, y etiquetado exactamente así.
attachments/samples.zip1,4 GiB21d80013…336753Checksum de la fuente verificado
attachments/bulletins/bulletin-2026-07.pdf16,9 MiB45fc57dc…6589c6Checksum calculado al llegar
attachments/bulletins/bulletin-2026-06.pdf14,2 MiBd918bbf1…71f434Checksum de la fuente verificado
attachments/indicators-0417.json2,3 MiB13e8534b…865223Verificado por el protocolo de transferencia
captures/listing-0001.html428 KiBa3651f3c…f7b3e8Checksum calculado al llegar
screens/page-0001.png717 KiB1a53f598…76d1dbChecksum calculado al llegar

Una discrepancia va a cuarentena y se adquiere de nuevo, nunca se publica.

Dos ubicaciones, un blob

Los bytes idénticos se guardan una vez por su SHA-256. Se conservan todas las ubicaciones que apuntaban a ellos.

Se guarda como prueba, nunca se ejecuta

  • Nada de lo adquirido se abre, se ejecuta, se instala ni se monta.
  • Los analizadores funcionan sin red, con su propio usuario y límites de tiempo y memoria.
  • Las rutas de un comprimido se comprueban antes de extraer un solo miembro.
  • Los archivos solo salen como adjuntos, por enlaces de corta duración en un origen aparte.
Una entrada del manifiesto, tal como la devuelve la 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"}

Valores ficticios, nombres de campo tal como los define la API

Hecho para que lo llamen, listo para el parser.

Cualquier proyecto envía trabajos por la API y los sigue por eventos. El parser recibe cada archivo publicado con su checksum y su procedencia.

  • Tu proyecto
  • Downloader
  • Parser
  1. Tu proyectoDownloaderEnvía un trabajoUn trabajo con clave de idempotencia: un reintento nunca crea un segundo trabajo.
    El trabajo que envía tu proyecto
    {"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. DownloaderTu proyectoLo acepta una vez guardadoSe responde solo cuando el trabajo y su política están guardados.
    Lo que recibe de vuelta
    {"job_id": "job_01JAH7Q2M4K8V3","policy_revision": "prv_4","accepted_at": "2026-10-05T08:12:04Z","idempotent_replay": false}
  3. DownloaderParserAnuncia un archivo publicadoWebhooks firmados, o eventos que consultas o recibes en streaming desde un cursor.
    El evento que recibe el 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. ParserDownloaderLee la ficha del archivoEl parser comprueba que el archivo está confirmado y lee su SHA-256.
    La ficha del archivo que comprueba el 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. ParserDownloaderLo descarga por un enlace de corta duraciónUn enlace de corta duración; el parser vuelve a calcular el hash antes de parsear.

El inventario, el manifiesto y las decisiones también se exportan en NDJSON.

Valores ficticios, nombres de campo tal como los define la API

Míralo en tus propias fuentes.

Cuéntanos qué necesitas. Te enseñaremos una captura en directo, desde el post hasta el registro sellado.

Solicitar una sesión

¿Prefieres el correo? Escríbenos a {{CONTACT_EMAIL}}.