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
- attachments/samples.zip1,4 GiBChecksum de la fuente verificado
- attachments/bulletins/bulletin-2026-07.pdf16,9 MiBChecksum calculado al llegar
- captures/listing-0001.html428 KiBChecksum calculado al llegar
- attachments/indicators-0417.json2,3 MiBVerificado por el protocolo de transferencia
- screens/page-0001.png717 KiBChecksum calculado al llegar
- attachments/bulletins/bulletin-2026-06.pdf14,2 MiBChecksum de la fuente verificado
- 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.
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=…
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
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
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
Alojamiento de archivos
Se alcanza porTúneles VPN
Servicios con formatos de enlace propios, resueltos por adaptadores dedicados y motores aislados.
- /file/…
- /folder/…
- #key
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
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
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
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
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.
- 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
- ValidarSe comprueban esquema, puerto y tipo de host sin contactar con la fuente.
- Elegir la redUn nombre onion elige el pool de Tor; cualquier otro, un túnel VPN.
- Reunir pruebasCabeceras, firmas, listados y lecturas por rangos, de menor a mayor coste.
- ClasificarArchivo, carpeta, colección o página intermedia, cada uno con sus pruebas.
- EnumerarCarpetas página a página, comprimidos miembro a miembro, ciclos cortados.
- Cerrar el listadoCompleto dentro del alcance solo cuando no queda ninguna rama abierta.
{"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
- Propuesta
- Probada con casos de prueba
- Canario sobre una parte del trabajo
- Promovida con pruebas
- Retirada si deriva
Un modelo puede proponer los pasos de una receta. La revisan personas, y solo las pruebas la promueven.
{"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
- 1exclude-videoEl vídeo reproducible se deja fuera.
- 2inspect-unknownLos tipos desconocidos se inspeccionan; si no hay conclusión, cuarentena.
- 3opaque_encrypted_when_acquiredLos comprimidos cifrados siguen opacos hasta que alguien aporte la contraseña.
- 4default_actionTodo lo demás se permite.
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
- 1Cada archivo, del mayor al menor
- 2El archivo más grande
- 3El archivo más grande de cada carpeta
- 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.
{"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.
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.
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.
{"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
- 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"} - 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} - 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}} - 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"} - 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.
¿Prefieres el correo? Escríbenos a {{CONTACT_EMAIL}}.