Nivel de confianza — Sin procesar
Ajuste predeterminado «original»
Sin procesamiento aplicado. La imagen es exactamente lo que salió de la cámara. Elegible para ambas insignias de confianza.
Caso de estudio técnico / Proveo
Los contratistas de servicios venden con fotos antes/después. El problema es que cualquiera puede falsificarlas. Proveo necesitaba una capa de confianza verificable por diseño.
Las fotos antes/después son la principal herramienta de ventas para los contratistas. También son lo más fácil de falsificar. Un contratista puede copiar el trabajo de otra persona, reclamarlo como propio y construir un historial completamente fabricado. Los clientes que ven un portafolio no pueden distinguirlas. No hay metadatos que puedan inspeccionar, no hay marca de tiempo en la que puedan confiar. La respuesta ingenua es una marca de agua o superposición de marca de tiempo. Ninguna prueba nada. Las marcas de agua pueden recortarse, las marcas de tiempo pueden añadirse con Photoshop. El problema no es el etiquetado — es la evidencia.
La primera capa de IA resuelve un problema de UX: los contratistas que suben dos fotos no deberían tener que etiquetar manualmente cuál es el "antes" y cuál es el "después". GPT-4o Vision analiza ambas imágenes simultáneamente e identifica cuál muestra el estado sin tratar y cuál muestra el resultado final. El modelo también detecta la categoría de servicio (lavado a presión, pintura, jardinería, detallado, etc.) y genera un título de trabajo sugerido localizado en el idioma preferido del contratista. La limitación de velocidad es compartida por el espacio de trabajo (30 solicitudes/hora entre todos los miembros) para evitar la multiplicación de costos de IA.
Cada ajuste predeterminado de mejora que un contratista puede aplicar a sus fotos se clasifica en el servidor en uno de tres niveles de confianza. La clasificación es determinista, no impulsada por IA:
Nivel de confianza — Sin procesar
Ajuste predeterminado «original»
Sin procesamiento aplicado. La imagen es exactamente lo que salió de la cámara. Elegible para ambas insignias de confianza.
Nivel de confianza — Corregido
bright_clean, cool_professional, job_site_clean, high_def, studio_light, definition
Correcciones de exposición, nitidez o balance de blancos que no alteran la escena. Mejoran la legibilidad sin tergiversar el trabajo.
Nivel de confianza — Estilizado
warm, dramatic, daylight_pop, soft_glow, vivid, vintage, y 10+ más
Tratamientos estéticos que cambian el estado de ánimo o la apariencia. La elegibilidad para la insignia de confianza se elimina.
La elección de diseño clave: los ajustes predeterminados desconocidos caen en 'estilizado' por defecto. Los nuevos ajustes predeterminados no pueden heredar accidentalmente la elegibilidad para la insignia. La confianza debe otorgarse explícitamente en el registro del servidor.
Las fotos se suben directamente desde el navegador a Cloudinary. El servidor de Proveo nunca recibe los bytes del archivo. Si el servidor nunca ve los bytes, ¿cómo sabe qué se subió? La respuesta: calcular la evidencia antes de la subida. Antes de que cada foto salga del navegador, el cliente calcula: — Hash SHA-256 de los bytes brutos del archivo, usando la API Web Crypto (nativa del navegador) — Método de captura: 'guided' (tomada dentro de la app), 'upload' (desde la galería), o 'import' — Marca de tiempo de captura — desde EXIF cuando esté disponible, con respaldo en File.lastModified — Señal del dispositivo — cadena de user-agent truncada — ID de sesión de captura guiada — token aleatorio por sesión Este payload de procedencia firmado se envía a la API junto con los datos de comparación. El servidor valida cada campo y degrada cualquier campo malformado al método más débil.
Con el estado de prueba y la procedencia en mano, el resolvedor de insignias ejecuta cinco verificaciones en secuencia. Las cinco deben pasar para el nivel superior — "Verificado Auténtico":
Captura guiada
Ambas fotos tomadas en la app, no desde la galería
Estado de prueba sin procesar
Sin mejora aplicada (ajuste predeterminado original)
Brecha de tiempo mínima
> 2 segundos entre antes y después
Brecha de tiempo máxima
< 12 horas entre antes y después
Unicidad SHA-256
Los bytes de antes y después no son idénticos
Cualquier verificación fallida degrada a "Verificado Sin Filtrar" o elimina la insignia. La ventana de marca de tiempo — 2 segundos mínimo, 12 horas máximo — está diseñada alrededor de la cadencia real del trabajo. La decisión de insignia es completamente determinista. La IA identifica la evidencia; el algoritmo decide el nivel.
Proveo usa dos modelos deliberadamente, por razones diferentes: GPT-4o maneja el razonamiento visual — identificar antes vs. después, detectar la categoría de servicio, generar subtítulos desde la imagen compuesta. Claude maneja todas las tareas de lenguaje y razonamiento — explicaciones de auditoría de confianza, copiloto de operaciones, respuestas del centro de ayuda, orientación de incorporación. Claude produce prosa legible para contratistas en lugar de texto genérico de IA. El agente de auditoría de confianza (Claude) es el ejemplo más claro de la separación: lee el nivel de insignia calculado y los señales de procedencia, luego explica el resultado al contratista en lenguaje simple. Claude interpreta la evidencia. No la decide.
La IA identifica qué hay en las fotos. El código determinista decide si esas fotos son confiables. Nunca mezclamos esas dos responsabilidades.
Este es el tipo de trabajo de arquitectura que hacemos — sistemas donde la IA y la lógica determinista se usan cada una donde son apropiadas, no de manera intercambiable.