[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technologies":3,"\u002Fservices\u002Fai-code-audit":167,"service-parent:\u002Fservices\u002Fai-code-audit":590,"service-children:\u002Fservices\u002Fai-code-audit":597,"glossary":598},[4,10,15,21,26,32,38,43,48,53,58,63,68,73,77,82,87,92,97,103,108,113,118,123,128,133,138,143,147,152,157,162],{"title":5,"description":6,"slug":7,"category":8,"icon":9},"Android","Todas las apps que entregamos llegan a Android: APIs de plataforma, ejecución en segundo plano, permisos y los requisitos de tienda que traen consigo.","android","framework","logos:android-icon",{"title":11,"description":12,"slug":13,"category":8,"icon":14},"Angular","El framework de frontend en el que trabajamos cuando un producto ya es Angular: una estructura con todo incluido que encaja en apps grandes y de vida larga.","angular","logos:angular-icon",{"title":16,"description":17,"slug":18,"category":19,"icon":20},"Dart","El lenguaje en el que está escrita cada app Flutter que entregamos: null safety robusto, pattern matching de verdad y un compilador que apunta a nativo y a la web.","dart","language","logos:dart",{"title":22,"description":23,"slug":24,"category":8,"icon":25},"Django","El framework de Python que usamos cuando un producto necesita administración, autenticación y un modelo de datos real desde el primer día.","django","logos:django-icon",{"title":27,"description":28,"slug":29,"category":30,"icon":31},"Docker","Cada servicio que construimos se publica como contenedor, así que lo que corre en un portátil, en CI y en producción es un solo artefacto y no tres.","docker","infrastructure","logos:docker-icon",{"title":33,"description":34,"slug":35,"category":36,"icon":37},"Fastlane","La automatización de releases móviles: firma, builds y subidas a las tiendas desde CI, no desde el portátil de un ingeniero el día del lanzamiento.","fastlane","tools","logos:fastlane",{"title":39,"description":40,"slug":41,"category":8,"icon":42},"Flutter","Nuestro stack móvil principal desde 2018: una base de código Dart que llega a iOS, Android, web y escritorio sin un equipo por plataforma.","flutter","logos:flutter",{"title":44,"description":45,"slug":46,"category":36,"icon":47},"Git","Todos los proyectos que tocamos viven en Git: pull requests revisadas, CI en cada rama y un historial que sigue teniendo sentido meses después.","git","logos:git-icon",{"title":49,"description":50,"slug":51,"category":19,"icon":52},"Go","Nuestro lenguaje de backend para APIs en tiempo real y servicios bajo carga: binarios pequeños, compilaciones rápidas y concurrencia que sigue siendo legible.","go","logos:gopher",{"title":54,"description":55,"slug":56,"category":30,"icon":57},"Google Cloud","La nube donde corren nuestras cargas de producción: Kubernetes gestionado, almacenamiento y red, sin servidores hechos a mano que nadie quiere mantener.","gcp","logos:google-cloud",{"title":59,"description":60,"slug":61,"category":36,"icon":62},"Gradle","El sistema de build por el que pasa cada release de Android: product flavours, configuraciones de firma y el cableado de dependencias bajo una app Flutter.","gradle","logos:gradle",{"title":64,"description":65,"slug":66,"category":30,"icon":67},"Helm","Cómo empaquetamos un despliegue de Kubernetes: servicio, configuración, secretos e ingress como una unidad versionada que se puede promover y revertir.","helm","logos:helm",{"title":69,"description":70,"slug":71,"category":19,"icon":72},"Kotlin","A lo que recurrimos cuando una app Flutter necesita Android de verdad por debajo: platform channels, trabajo en segundo plano e integraciones con SDK nativos.","kotlin","logos:kotlin-icon",{"title":74,"description":75,"slug":76,"category":8,"icon":72},"Kotlin Multiplatform","Compartir la lógica de negocio entre iOS y Android mientras cada plataforma conserva su UI nativa: la alternativa cuando Flutter no encaja.","kmp",{"title":78,"description":79,"slug":80,"category":30,"icon":81},"Kubernetes","Cómo ejecutamos servicios en producción: despliegues con Helm, rollouts reversibles y escalado que no necesita a nadie a las 3 de la mañana.","kubernetes","logos:kubernetes",{"title":83,"description":84,"slug":85,"category":30,"icon":86},"NATS","Mensajería ligera entre servicios: publicación\u002Fsuscripción y petición\u002Frespuesta sin el peso operativo de un clúster de broker completo.","nats","logos:nats-icon",{"title":88,"description":89,"slug":90,"category":8,"icon":91},"Nuxt","Vue con renderizado en servidor, enrutado y SEO resueltos: así hacemos sitios y apps web que deben ser rápidas e indexables en la primera carga.","nuxt","logos:nuxt-icon",{"title":93,"description":94,"slug":95,"category":19,"icon":96},"PHP","Donde trabajamos con un backend PHP ya existente: extenderlo, integrarse con él y construir los clientes móviles y web a los que tiene que servir.","php","logos:php",{"title":98,"description":99,"slug":100,"category":101,"icon":102},"PostgreSQL","Nuestra base de datos por defecto, salvo que un producto dé una razón concreta para no usarla: del diseño del esquema al ajuste de índices.","postgres","database","logos:postgresql",{"title":104,"description":105,"slug":106,"category":19,"icon":107},"Python","Nuestro lenguaje para backends, trabajo con datos e integraciones de IA, incluidos los bindings de Python que publicamos para nuestras propias herramientas en Rust.","python","logos:python",{"title":109,"description":110,"slug":111,"category":8,"icon":112},"React","La librería de frontend en la que trabajamos cuando un producto ya es React: componentes, hooks y el ecosistema que ha crecido a su alrededor.","react","logos:react",{"title":114,"description":115,"slug":116,"category":101,"icon":117},"Redis","Donde ponemos los datos que tienen que ser rápidos y se pueden reconstruir: cachés, sesiones, límites de tasa y las colas tras las rutas lentas de un producto.","redis","logos:redis",{"title":119,"description":120,"slug":121,"category":19,"icon":122},"Ruby","El lenguaje de nuestra automatización de releases móviles: lanes de Fastlane, acciones a medida y el pegamento de CI que sube builds a las tiendas.","ruby","logos:ruby",{"title":124,"description":125,"slug":126,"category":19,"icon":127},"Rust","A donde vamos cuando importan tanto el rendimiento como la corrección: renderizado de documentos, herramientas de CLI y servicios que tienen que ser rápidos y predecibles.","rust","simple-icons:rust",{"title":129,"description":130,"slug":131,"category":101,"icon":132},"SQLite","La base de datos que viaja dentro de la app: cachés locales, almacenamiento offline-first y todo lo que tiene que seguir funcionando sin red.","sqlite","logos:sqlite",{"title":134,"description":135,"slug":136,"category":8,"icon":137},"Strapi","Un CMS headless para cuando los editores necesitan ser dueños del contenido: una administración de verdad y una API limpia, sin construirlas desde cero.","strapi","logos:strapi-icon",{"title":139,"description":140,"slug":141,"category":19,"icon":142},"Swift","A lo que recurrimos cuando una app Flutter necesita iOS de verdad por debajo: platform channels, integraciones con SDK nativos, widgets y App Clips.","swift","logos:swift",{"title":144,"description":145,"slug":146,"category":8,"icon":142},"SwiftUI","El framework de UI de Apple, donde construimos las superficies nativas que una app Flutter no puede tener: widgets, App Clips y extensiones.","swiftui",{"title":148,"description":149,"slug":150,"category":8,"icon":151},"Tailwind CSS","Cómo damos estilo a cada frontend que construimos: clases de utilidad y design tokens en lugar de una hoja de estilos que solo crece y nunca se borra.","tailwind","logos:tailwindcss-icon",{"title":153,"description":154,"slug":155,"category":19,"icon":156},"TypeScript","Lo predeterminado para todo lo que escribimos para el navegador y para servicios Node: tipos que detectan errores de integración antes de llegar a una revisión.","typescript","logos:typescript-icon",{"title":158,"description":159,"slug":160,"category":8,"icon":161},"Vue","Nuestro framework de frontend para paneles de administración, cuadros de mando y apps web que deben seguir siendo mantenibles durante años.","vue","logos:vue",{"title":163,"description":164,"slug":165,"category":36,"icon":166},"Whisper","El modelo de reconocimiento de voz de código abierto de OpenAI: el motor de transcripción detrás de la entrada por voz, que funciona como servicio de backend y también en el propio dispositivo.","whisper","simple-icons:openai",{"id":168,"title":169,"body":170,"description":561,"extension":562,"footerCta":563,"headingCta":577,"image":582,"meta":585,"metaDescription":586,"metaTitle":587,"navigation":588,"ogDescription":589,"parent":590,"path":591,"seo":592,"slug":593,"stem":594,"updated":595,"__hash__":596},"services_es\u002Fservices\u002Fai-code-audit.md","Auditoría de código IA",{"type":171,"value":172,"toc":542},"minimark",[173,177,180,185,188,193,197,200,204,218,222,225,230,238,242,245,249,252,256,285,289,296,299,305,308,314,323,329,341,345,350,353,358,366,371,374,378,383,386,391,398,403,406,412,416,432,438,442,445,450,453,458,461,466,469,474,477,483,491,495,498,504,513,517,520,524,531,535,538],[174,175,176],"p",{},"Una auditoría de código IA es una revisión independiente de una base de código —generada por IA o escrita a mano— que comprueba vulnerabilidades de seguridad, debilidades de arquitectura y huecos de preparación para producción antes de que los encuentren usuarios reales. Termina con un informe de hallazgos priorizado por severidad y un camino claro para corregir lo que encuentra.",[174,178,179],{},"La mayor parte de lo que auditamos hoy empezó en Cursor, Bolt, Lovable, Claude o ChatGPT: rápido para prototipar, raramente listo para producción el primer día. Pero la auditoría en sí no se limita a lo generado por IA: las mismas categorías de riesgo, y el mismo proceso, aplican a una base de código que nadie construyó con IA. Ya seas un equipo que lanza rápido con herramientas de IA y quiere una revisión antes del próximo release, o un fundador que heredó una app construida con IA y necesita saber qué hay realmente dentro, recibes la misma auditoría.",[181,182,184],"h2",{"id":183},"qué-auditamos","Qué auditamos",[174,186,187],{},"Siete categorías, siempre, no solo el escaneo de seguridad en el que se quedan la mayoría de las herramientas de \"revisión de código IA\".",[189,190],"features",{":items":191,":title":192},"[{\"label\": \"Seguridad\", \"description\": \"Vulnerabilidades del OWASP Top 10, ataques de inyección, elusión de autenticación, secretos expuestos y almacenamiento inseguro de datos.\"}, {\"label\": \"Arquitectura\", \"description\": \"Límites de servicio, flujo de datos y acoplamiento: si el diseño aguanta con usuarios y carga reales.\"}, {\"label\": \"Rendimiento\", \"description\": \"Consultas a base de datos, problemas N+1, fugas de memoria y capacidad bajo tráfico de producción.\"}, {\"label\": \"Corrección\", \"description\": \"Lógica de negocio, casos límite y los bugs que solo aparecen cuando llegan datos reales al sistema.\"}, {\"label\": \"Dependencias\", \"description\": \"Paquetes desactualizados, CVEs conocidas y riesgo de licencias en el árbol de dependencias.\"}, {\"label\": \"Cobertura de tests\", \"description\": \"Qué está probado, qué no, y qué se rompe en silencio la próxima vez que cambie.\"}, {\"label\": \"Vicios del código generado por IA\", \"description\": \"Lógica duplicada, APIs alucinadas y los patrones inconsistentes que deja un agente sin supervisión.\"}]","Lo que cubre cada auditoría",[181,194,196],{"id":195},"qué-recibes","Qué recibes",[174,198,199],{},"Una auditoría no es un PDF que se queda en un cajón. Salen tres cosas de ella.",[189,201],{":items":202,":title":203},"[{\"label\": \"Informe de hallazgos\", \"description\": \"Cada problema clasificado por severidad —crítica, alta, media, baja— con una explicación del riesgo en lenguaje llano y una corrección concreta.\"}, {\"label\": \"Informe de auditoría de muestra\", \"description\": \"Un ejemplo redactado de una auditoría real, para que veas exactamente qué estás pagando antes de enviarnos ningún código.\"}, {\"label\": \"Llamada de remediación\", \"description\": \"Un repaso de cada hallazgo con nuestros ingenieros, y una respuesta directa sobre qué corregir primero.\"}]","El entregable de la auditoría",[205,206,209],"info-box",{":leading-icon":207,":title":208},"lucide:file-text","Ve una muestra antes de decidir",[174,210,211,212,217],{},"¿Quieres ver cómo es un hallazgo real —severidad, explicación del riesgo, corrección— antes de enviarnos tu código? ",[213,214,216],"a",{"href":215},"\u002Fcontact?intent=ai-code-audit","Solicita un informe de auditoría de muestra redactado"," y te lo enviamos.",[181,219,221],{"id":220},"dos-formas-de-empezar","Dos formas de empezar",[174,223,224],{},"La gente nos pide una auditoría por una de dos razones. El informe de hallazgos es el mismo en ambos casos; lo que cambia es por dónde empezamos a mirar.",[226,227,229],"h3",{"id":228},"auditar-una-app-generada-por-ia-o-vibe-coded","Auditar una app generada por IA o vibe-coded",[174,231,232,233,237],{},"Tú (o un fundador no técnico, o un contratista) usaste Cursor, Bolt, Lovable, Claude o ChatGPT para construir algo que funciona: se ve bien en la demo, a los primeros usuarios les gusta, y ahora necesita sobrevivir al contacto con el mundo real. Empezamos donde estas herramientas fallan de forma constante: secretos incrustados en el código, autenticación que cumple el expediente pero no verifica la petición, y uso de APIs que nunca se diseñó pensando en el presupuesto. Nuestro manual para esta transición concreta está en ",[213,234,236],{"href":235},"\u002Fblog\u002Fai-prototype-to-production","Llevar a producción un prototipo construido con IA",".",[226,239,241],{"id":240},"auditoría-acelerada-por-ia-de-cualquier-base-de-código","Auditoría acelerada por IA de cualquier base de código",[174,243,244],{},"Tu base de código no tiene que estar generada por IA para que esto aplique. Ejecutamos el mismo análisis automatizado —análisis estático, escaneo de dependencias, detección de secretos— sobre cualquier stack, asistido por IA o no, y eso es lo que nos permite completar una auditoría en semanas en lugar de meses. La revisión manual posterior es donde nuestros ingenieros leen de verdad tu arquitectura y tu lógica de negocio; la automatización solo significa que se va menos presupuesto en encontrar lo obvio a mano.",[181,246,248],{"id":247},"qué-sale-mal-en-el-código-generado-por-ia","Qué sale mal en el código generado por IA",[174,250,251],{},"Hemos auditado decenas de bases de código generadas por IA. Las mismas categorías de problemas aparecen en casi todas: puntos ciegos sistemáticos, no casos límite.",[253,254],"statistics-grid",{":items":255},"[{\"icon\": \"lucide:shield-alert\", \"value\": \"45%\", \"label\": \"Suspende en seguridad\", \"description\": \"De las muestras de código generado por IA fallan las comprobaciones OWASP (Veracode, 2025)\"}, {\"icon\": \"lucide:dollar-sign\", \"value\": \"5-20x\", \"label\": \"Sobregasto en APIs\", \"description\": \"Desviación de coste típica por un uso no optimizado de APIs de pago\"}, {\"icon\": \"lucide:key\", \"value\": \"2x\", \"label\": \"Más fugas de secretos\", \"description\": \"Los desarrolladores asistidos por IA exponen credenciales casi el doble (Apiiro, 2025)\"}, {\"icon\": \"lucide:clock\", \"value\": \"2-4 semanas\", \"label\": \"Duración de la auditoría\", \"description\": \"Tiempo para identificar y corregir los problemas críticos\"}]",[174,257,258,259,264,265,269,270,274,275,279,280,284],{},"Estas cifras vienen de investigación independiente: ",[213,260,263],{"href":261,"target":262},"https:\u002F\u002Fwww.veracode.com\u002Fblog\u002Fgenai-code-security-report\u002F","_blank","Veracode probó más de 100 LLM"," y encontró que el 45 % del código generado suspende los tests de seguridad. ",[213,266,268],{"href":267,"target":262},"https:\u002F\u002Fapiiro.com\u002Fblog\u002F4x-velocity-10x-vulnerabilities-ai-coding-assistants-are-shipping-more-risks\u002F","El análisis de Apiiro de 2025"," mostró que los desarrolladores asistidos por IA exponen credenciales casi el doble de veces. ",[213,271,273],{"href":272,"target":262},"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2108.09293","Investigadores de la NYU"," encontraron que cerca del 40 % de los programas generados con Copilot contenían vulnerabilidades, mientras que ",[213,276,278],{"href":277,"target":262},"https:\u002F\u002Fee.stanford.edu\u002Fdan-boneh-and-team-find-relying-ai-more-likely-make-your-code-buggier","el estudio de Stanford"," confirmó que los desarrolladores que usan asistentes de IA producen código menos seguro, y están más convencidos de que es seguro. Nuestro propio repaso del Flutter escrito por agentes está en ",[213,281,283],{"href":282},"\u002Fblog\u002Fai-agents-struggle-with-flutter","Por qué los agentes de IA se atascan con Flutter",": estado duplicado, sin tests y una interfaz que nadie volvió a mirar.",[226,286,288],{"id":287},"vulnerabilidades-de-seguridad","Vulnerabilidades de seguridad",[290,291,292],"ol",{},[293,294,295],"li",{},"Claves de API y secretos expuestos",[174,297,298],{},"Las herramientas de IA meten con frecuencia claves de API, credenciales de base de datos y tokens de servicios de terceros directamente en el código fuente. Acaban en repositorios públicos, en bundles del lado del cliente o en archivos de entorno que llegan a producción. Una sola clave de OpenAI filtrada puede generar miles de dólares en uso no autorizado en cuestión de horas.",[290,300,302],{"start":301},2,[293,303,304],{},"Falta de autenticación y autorización",[174,306,307],{},"Las apps generadas por IA suelen implementar la autenticación de forma superficial: existe una pantalla de login, pero el backend no verifica realmente los permisos. Los endpoints de API aceptan cualquier petición. Las rutas de administración son accesibles sin comprobación de rol. El usuario A puede ver los datos del usuario B cambiando un ID en la URL.",[290,309,311],{"start":310},3,[293,312,313],{},"Ataques de inyección",[174,315,316,317,322],{},"La inyección SQL, el XSS y la ",[318,319,321],"term",{"slug":320},"prompt-injection","inyección de prompts"," están por todas partes en el código construido con IA. Los modelos de IA generan código que concatena la entrada del usuario directamente en consultas, HTML o prompts de LLM sin sanearla. Un único endpoint vulnerable puede comprometer toda tu base de datos o permitir que un atacante manipule el comportamiento de tu IA.",[290,324,326],{"start":325},4,[293,327,328],{},"Almacenamiento inseguro de datos",[174,330,331,332,335,336,340],{},"Datos personales guardados en texto plano, tokens de sesión en localStorage, contraseñas con hash MD5 o sin hash en absoluto. Las herramientas de IA recurren por defecto a la implementación más simple, que rara vez es la segura. El cumplimiento del ",[318,333],{"slug":334},"gdpr"," y de la privacidad suele brillar por su ausencia. Nuestra guía sobre ",[213,337,339],{"href":338},"\u002Fblog\u002Fencryption-explained","cifrado en aplicaciones de producción"," cubre cómo deberían protegerse realmente los datos en reposo y en tránsito.",[226,342,344],{"id":343},"optimización-de-costes-de-api","Optimización de costes de API",[290,346,347],{},[293,348,349],{},"Llamadas redundantes a APIs",[174,351,352],{},"El problema más caro que encontramos. Las apps generadas por IA hacen llamadas innecesarias a APIs de pago de terceros: servicios de geocodificación, proveedores de datos financieros, modelos de IA, APIs de verificación. Llaman al mismo endpoint varias veces para el mismo dato, no cachean las respuestas y hacen peticiones que podrían evitarse por completo con algo de lógica local. Encontramos habitualmente apps donde entre el 60 % y el 80 % del gasto en APIs se desperdicia.",[290,354,355],{"start":301},[293,356,357],{},"Sin límites de tasa ni presupuestos",[174,359,360,361,365],{},"Sin ",[318,362,364],{"slug":363},"rate-limiting","límites de tasa"," por usuario. Sin topes de gasto diario. Sin cortacircuitos cuando los costes de API se disparan. Un solo usuario —o un bot— puede quemar todo tu presupuesto mensual en un día. Las herramientas de IA nunca implementan controles de coste porque no tienen ningún concepto de tu modelo de negocio ni de los niveles de precios de los servicios que integras.",[290,367,368],{"start":310},[293,369,370],{},"Sin caché ni agrupación",[174,372,373],{},"Pedir el mismo tipo de cambio, la misma geolocalización por IP o el mismo perfil de usuario a una API de pago en cada petición en vez de cachearlo. Hacer llamadas individuales dentro de un bucle en lugar de usar endpoints por lotes. Cada petición innecesaria cuesta dinero, y a escala eso suma miles de dólares al mes.",[226,375,377],{"id":376},"fugas-de-datos-y-privacidad","Fugas de datos y privacidad",[290,379,380],{},[293,381,382],{},"Registro de información sensible",[174,384,385],{},"Al código generado por IA le encanta el logging exhaustivo. Correos de usuarios, contraseñas, datos de pago e información personal acaban en los logs de aplicación, en los servicios de seguimiento de errores y en la analítica de terceros. Esos logs suelen ser accesibles sin autenticación y se conservan indefinidamente.",[290,387,388],{"start":301},[293,389,390],{},"Exceso de información en las APIs",[174,392,393,394,397],{},"Respuestas de API que devuelven objetos de usuario enteros —incluidas contraseñas hasheadas, IDs internos, direcciones de correo y metadatos— cuando el frontend solo necesita un nombre visible. Endpoints de ",[318,395],{"slug":396},"graphql"," sin límites de profundidad que permiten a un atacante extraer todo tu modelo de datos.",[290,399,400],{"start":310},[293,401,402],{},"Exposición de datos a terceros",[174,404,405],{},"Las herramientas de IA integran servicios de analítica, seguimiento de errores y monitorización sin considerar qué datos fluyen hacia ellos. Comportamiento de usuario, información personal y datos de negocio acaban en sistemas de terceros sin consentimiento, incumpliendo el RGPD y otras normativas de privacidad.",[407,408],"image-box",{"alt":409,"src":410,"subtitle":411},"Desplegar a producción código generado por IA sin auditar","\u002Fservices\u002Fai-transition-example.webp","Qué pasa cuando el código generado por IA llega a producción sin auditoría",[181,413,415],{"id":414},"quién-está-detrás-de-la-auditoría","Quién está detrás de la auditoría",[174,417,418,419,423,424,427,428,431],{},"Nerdy Production está liderada por ",[213,420,422],{"href":421},"\u002Fteam\u002Fnixan","Ilya Nixan",", antiguo CTO de QIWI, una de las mayores plataformas de pago de su mercado, donde dirigió alrededor de 12 equipos de ingeniería que abarcaban desde productos web hasta procesamiento de tarjetas y alcance ",[318,425],{"slug":426},"pci-dss",". Ese es el estándar al que sometemos nuestras auditorías: no \"¿funciona el código?\", sino \"¿sobreviviría a la revisión de alguien que ha cargado con responsabilidades de cumplimiento y ha tenido que responder por un incidente en producción?\". Nosotros mismos no tenemos certificación PCI-DSS ni ",[318,429],{"slug":430},"soc-2",", y te lo diremos claramente cuando un hallazgo quede fuera de lo que una auditoría puede certificar; pero quien fija el listón de qué cuenta como hallazgo crítico ha operado infraestructura regulada, no solo leído sobre ella.",[174,433,434,435,437],{},"Nuestros ingenieros trabajan a diario con herramientas de programación con IA, y por eso sabemos exactamente dónde fallan. ",[213,436,283],{"href":282}," repasa los huecos concretos que deja un agente sin supervisión: estado duplicado, tests ausentes, una interfaz que nadie volvió a mirar: los mismos patrones que buscamos en cada auditoría, sea cual sea el lenguaje o el framework.",[181,439,441],{"id":440},"cómo-funciona-una-auditoría","Cómo funciona una auditoría",[174,443,444],{},"Entregamos una auditoría completa con correcciones accionables, no solo una lista de problemas.",[290,446,447],{},[293,448,449],{},"Acceso a la base de código y alcance",[174,451,452],{},"Nos das acceso de lectura a tu repositorio y a tu entorno desplegado. Definimos el alcance de la auditoría según tus prioridades: auditoría completa o centrada en áreas concretas (seguridad, costes o privacidad de datos). Durante la fase de auditoría no se hace ningún cambio en tu código.",[290,454,455],{"start":301},[293,456,457],{},"Análisis automatizado",[174,459,460],{},"Ejecutamos análisis estático, escaneos de vulnerabilidades en dependencias, detección de secretos y perfilado de costes de API sobre tu base de código. Esto detecta primero lo más evidente: vulnerabilidades conocidas, credenciales expuestas, paquetes desactualizados con parches de seguridad y problemas obvios de rendimiento.",[290,462,463],{"start":310},[293,464,465],{},"Revisión manual experta",[174,467,468],{},"Nuestros ingenieros revisan a mano la arquitectura, la lógica de negocio, los flujos de autenticación, las integraciones de API y el tratamiento de datos. Aquí es donde encontramos los problemas que las herramientas automáticas no ven: fallos de lógica, huecos de autorización, oportunidades de optimización de coste y decisiones de diseño que darán problemas a escala.",[290,470,471],{"start":325},[293,472,473],{},"Informe priorizado por severidad",[174,475,476],{},"Entregamos un informe detallado con cada hallazgo categorizado por severidad (crítica, alta, media, baja) y por tipo (seguridad, coste, privacidad, rendimiento). Cada hallazgo incluye una explicación clara del riesgo, prueba de concepto cuando procede y una recomendación de corrección concreta con ejemplos de código.",[290,478,480],{"start":479},5,[293,481,482],{},"Remediación: tú eliges",[174,484,485,486,490],{},"Tú decides quién corrige los hallazgos. Podemos implementar todas las correcciones nosotros mismos como un proyecto de alcance fijo, con los parches críticos de seguridad primero y tú revisando cada cambio antes de fusionarlo. O, si prefieres que sea tu propio equipo quien corrija, podemos incorporar a un ingeniero que ya conoce tu informe de hallazgos mediante ",[213,487,489],{"href":488},"\u002Fservices\u002Fteam-augmentation","ampliación de equipo",", en lugar de entregarte un documento y desaparecer. En cualquier caso, el resultado es una base de código lista para producción que puedes desplegar con confianza.",[181,492,494],{"id":493},"código-generado-por-ia-frente-a-código-listo-para-producción","Código generado por IA frente a código listo para producción",[174,496,497],{},"Qué cambia cuando tu base de código pasa por una auditoría profesional",[499,500],"features-table",{":heading":501,":rows":502,":top-left-label":503},"[{\"label\": \"Tras la auditoría\", \"hightlightLabel\": \"Listo para producción\"}, {\"label\": \"Código generado por IA\"}, {\"label\": \"Construido desde cero\"}]","[{\"label\": \"Seguridad\",\"cells\": [{\"text\": \"Reforzada\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Superficial\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Según el equipo\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"Costes de API\",\"cells\": [{\"text\": \"Optimizados\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Sobregasto de 5-20x\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Normalmente optimizados\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Privacidad de datos\",\"cells\": [{\"text\": \"Conforme al RGPD\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Fugas frecuentes\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Depende del proceso\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"Tiempo hasta producción\",\"cells\": [{\"text\": \"2-4 semanas\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Ya en marcha\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"3-6 meses\", \"color\": \"error\", \"icon\": \"lucide:x\" }]}, {\"label\": \"Coste de lanzamiento\",\"cells\": [{\"text\": \"Bajo (coste de auditoría)\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Gratis (arriesgado)\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Alto (desarrollo completo)\", \"color\": \"warning\", \"icon\": \"lucide:minus\" }]}, {\"label\": \"Gestión de errores\",\"cells\": [{\"text\": \"Recuperación elegante\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Falla en casos límite\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Normalmente cubierta\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Escalabilidad\",\"cells\": [{\"text\": \"Probada bajo carga\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Sin probar\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Diseñada para escalar\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}, {\"label\": \"Monitorización\",\"cells\": [{\"text\": \"Observabilidad completa\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" },{ \"text\": \"Ninguna o excesiva\", \"color\": \"error\", \"icon\": \"lucide:x\" },{ \"text\": \"Configuración estándar\", \"color\": \"success\", \"icon\": \"lucide:check-circle\" }]}]","Aspecto",[205,505,506],{},[174,507,508,512],{},[509,510,511],"strong",{},"En resumen:"," el código generado por IA te lleva al 80 % del camino en el 5 % del tiempo. Pero ese último 20 % —seguridad, optimización de costes, privacidad de datos, gestión de errores— es lo que separa una demo de una aplicación en producción. Una auditoría cubre esa distancia sin tirar a la basura los cimientos que construiste con IA.",[181,514,516],{"id":515},"precios-de-la-auditoría-de-código-ia","Precios de la auditoría de código IA",[174,518,519],{},"Precios transparentes según el tamaño de tu base de código y el alcance de la auditoría",[521,522],"pricing-table",{":items":523},"[{\"title\": \"Enfocada en seguridad\", \"subtitle\": \"Solo vulnerabilidades críticas\", \"price\": \"ai-code-audit\u002Fsecurity\", \"terms\": \"1-2 semanas\", \"lines\": [\"Escaneo de vulnerabilidades del OWASP Top 10\", \"Detección de secretos y credenciales\", \"Revisión de autenticación y autorización\", \"Comprobación de vulnerabilidades en dependencias\", \"Informe de hallazgos priorizados\", \"Recomendaciones de corrección con ejemplos de código\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Empezar\"}},{\"title\": \"Optimización de costes\", \"subtitle\": \"Reduce tu gasto en APIs\", \"price\": \"ai-code-audit\u002Fcost-optimization\", \"terms\": \"1-2 semanas\", \"lines\": [\"Perfilado del uso de APIs de pago\", \"Identificación de llamadas redundantes\", \"Diseño de estrategia de caché y agrupación\", \"Plan de implementación de límites de tasa\", \"Optimización de coste por petición\", \"Informe de ahorro mensual proyectado\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Empezar\"}},{\"highlight\": \"Popular\",\"title\": \"Auditoría completa\", \"subtitle\": \"Preparación total para producción\", \"price\": \"ai-code-audit\u002Ffull\", \"terms\": \"2-4 semanas\", \"lines\": [\"Todo lo de Enfocada en seguridad\", \"Todo lo de Optimización de costes\", \"Revisión de privacidad de datos y RGPD\", \"Análisis de rendimiento y escalabilidad\", \"Auditoría de infraestructura\", \"Informe detallado + implementación de correcciones\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Empezar\"}},{\"title\": \"Soporte continuo\", \"subtitle\": \"Auditoría y monitorización continuas\", \"price\": \"ai-code-audit\u002Fretainer\", \"terms\": \"al mes\", \"lines\": [\"Escaneos de seguridad mensuales\", \"Monitorización y alertas de coste de API\", \"Revisión de actualizaciones de dependencias\", \"Revisión de seguridad de nuevas funcionalidades\", \"Respuesta prioritaria a incidentes\", \"Acceso directo por Slack\u002FTelegram\"], \"callToAction\": {\"to\": \"\u002Fcontact?intent=ai-code-audit\", \"label\": \"Empezar\"}}]",[205,525,528],{":leading-icon":526,":title":527},"lucide:dollar-sign","Precios a medida disponibles",[174,529,530],{},"El precio depende del tamaño de la base de código, del número de servicios e integraciones y del alcance de la auditoría. Una app pequeña de un solo servicio con una integración de IA estará en la parte baja. Una plataforma multiservicio con varios proveedores de IA, procesamiento de pagos y datos de usuario requerirá una revisión más a fondo. Contáctanos para una evaluación inicial gratuita.",[181,532,534],{"id":533},"preguntas-frecuentes","Preguntas frecuentes",[174,536,537],{},"Dudas habituales sobre auditar código generado por IA y código de producción",[539,540],"questions",{":items":541},"[{\"title\":\"Mi app se construyó con Cursor \u002F Bolt \u002F Lovable, ¿trabajáis con eso?\", \"text\": \"Sí. Auditamos el código sea cual sea la forma en que se generó. Tanto si usaste Cursor, Bolt, Lovable, Claude, ChatGPT, GitHub Copilot o cualquier combinación de herramientas de IA, el proceso de auditoría es el mismo. El resultado es código, y eso es lo que revisamos. Tenemos experiencia con todas las herramientas importantes de programación con IA y conocemos sus patrones de fallo habituales.\"}, {\"title\": \"¿Auditáis bases de código que no se construyeron con IA?\", \"text\": \"Sí. La auditoría detecta las mismas categorías de riesgo —seguridad, arquitectura, rendimiento, corrección, dependencias, cobertura de tests— haya escrito IA el código o no. Lo que llamamos auditoría acelerada por IA usa análisis automatizado para avanzar más rápido por cualquier base de código, así que una app escrita a mano recibe la misma revisión exhaustiva en el mismo plazo.\"}, {\"title\": \"¿Habrá que parar la app durante la auditoría?\", \"text\": \"No. La auditoría no es disruptiva en absoluto. Revisamos tu código fuente y podemos ejecutar pruebas de solo lectura contra un entorno de staging. Tu aplicación en producción sigue funcionando con normalidad durante todo el proceso. Si encontramos una vulnerabilidad crítica que suponga un riesgo inmediato, te avisaremos al momento para que decidas cómo proceder.\"}, {\"title\": \"¿Cuánto puedo ahorrar realmente en costes de API?\", \"text\": \"Según nuestra experiencia, las aplicaciones generadas por IA gastan entre 5 y 20 veces de más en llamadas a APIs de pago. Los ahorros más habituales vienen de eliminar llamadas redundantes a servicios como geocodificación, datos financieros o proveedores de IA, implementar caché de respuestas, agrupar peticiones y añadir límites de tasa para evitar abusos. Hemos visto facturas mensuales de API bajar de 5.000 dólares a menos de 500 tras la optimización, aunque los resultados dependen de tus patrones de uso concretos.\"}, {\"title\": \"¿Podéis también corregir los problemas que encontráis, o solo reportarlos?\", \"text\": \"Ambas cosas. El informe de auditoría incluye recomendaciones de corrección concretas con ejemplos de código para cada hallazgo. Si lo prefieres, podemos implementar todas las correcciones nosotros: está incluido en el nivel de Auditoría completa y disponible como complemento en los demás niveles. Si prefieres que las corrija tu propio equipo, podemos incorporar a un ingeniero mediante ampliación de equipo. Tú revisas y apruebas cada cambio antes de que se fusione.\"}, {\"title\": \"¿Puedo ver un informe de auditoría de muestra antes de decidirme?\", \"text\": \"Sí. Solicita un informe de auditoría de muestra redactado a través del formulario de contacto y te lo enviaremos: el mismo formato priorizado por severidad, con explicaciones de riesgo y recomendaciones de corrección que produce un encargo real, sin los datos que identifican al cliente.\"}, {\"title\": \"No soy técnico, ¿entenderé el informe de auditoría?\", \"text\": \"Sí. Cada hallazgo incluye una explicación en lenguaje llano del riesgo y de su impacto de negocio, no solo jerga técnica. Categorizamos los problemas por severidad para que sepas qué necesita atención inmediata y qué puede esperar. También incluimos un resumen ejecutivo al principio del informe con las conclusiones clave y el plan de acción recomendado.\"}]",{"title":543,"searchDepth":301,"depth":301,"links":544},"",[545,546,547,551,556,557,558,559,560],{"id":183,"depth":301,"text":184},{"id":195,"depth":301,"text":196},{"id":220,"depth":301,"text":221,"children":548},[549,550],{"id":228,"depth":310,"text":229},{"id":240,"depth":310,"text":241},{"id":247,"depth":301,"text":248,"children":552},[553,554,555],{"id":287,"depth":310,"text":288},{"id":343,"depth":310,"text":344},{"id":376,"depth":310,"text":377},{"id":414,"depth":301,"text":415},{"id":440,"depth":301,"text":441},{"id":493,"depth":301,"text":494},{"id":515,"depth":301,"text":516},{"id":533,"depth":301,"text":534},"Para equipos que lanzan rápido con Cursor, Bolt o Claude, y para fundadores que heredaron una app construida con IA: una revisión independiente de tu código en seguridad, arquitectura y preparación para producción.","md",{"heading":564,"text":565,"buttons":566},"¿Listo para una auditoría de código independiente?","Cuéntanos qué tienes en marcha y cómo se construyó: con una herramienta de IA, con un equipo o con ambos. Definimos el alcance de la auditoría y te enviamos un informe de hallazgos priorizado por severidad.",[567,572],{"to":215,"label":568,"leadingIcon":569,"color":570,"variant":571},"Solicitar una auditoría","lucide:message-circle","neutral","outline",{"to":573,"label":574,"color":575,"variant":576},"\u002Fportfolio","Ver nuestro trabajo","primary","solid",[578,579],{"to":215,"label":568,"leadingIcon":569,"color":575,"variant":576},{"to":580,"label":581,"color":570,"variant":571},"#precios-de-la-auditoría-de-código-ia","Ver precios",{"url":583,"alt":169,"text":584},"\u002Fservices\u002Fai-code-audit.webp","Del prototipo con IA a listo para producción",{},"Auditoría de código IA independiente: revisamos apps generadas por IA y vibe-coded en seguridad, arquitectura y preparación para producción. Alcance fijo.","Auditoría de código IA — Seguridad y calidad",true,"¿Lanzaste rápido con Cursor o Claude, o heredaste una app que no escribiste? Una lectura independiente de lo que hay de verdad en el código, con alcance cerrado.",null,"\u002Fservices\u002Fai-code-audit",{"title":169,"description":561},"ai-code-audit","services\u002Fai-code-audit","2026-08-06","tTDCgHJKtBin5Z8lv_ednu_AdoqZigfii7MSeEDVslE",[],[599,614,631,646,659,671,685,700,712,727,740,755,767,780,793,805,822,835,848,861,875,889,901,912,923,935,948,959,968,979,991,1005,1012,1024,1035,1046,1058,1073,1086,1099,1111,1122,1136,1150,1162,1173,1185,1196,1209,1221,1232,1246,1255],{"slug":600,"term":601,"definition":602,"category":603,"aliases":604,"links":606,"related":610,"readMore":-1,"target":612,"hasArticle":613},"aosp","AOSP","El Android Open Source Project: Android sin la capa de Google encima, que cualquiera puede forkear. Los terminales de punto de venta, los kioscos y los sistemas de a bordo funcionan sobre forks suyos, y trabajar a ese nivel expone partes del SO que un desarrollador de apps nunca ve.","platform",[605],"Android Open Source Project",[607],{"kind":608,"url":609},"website","https:\u002F\u002Fsource.android.com\u002F",[611],"host-card-emulation","\u002Fglossary#aosp",false,{"slug":615,"term":616,"definition":617,"category":618,"aliases":619,"links":624,"related":628,"readMore":-1,"target":630,"hasArticle":613},"object-storage","Almacenamiento de objetos","Almacenamiento que guarda un archivo entero bajo una clave en vez de en un árbol de directorios: Amazon S3 y los muchos servicios que hablan su API. Barato, casi ilimitado y el hogar habitual de eventos en bruto, backups y multimedia: se escriben una vez, se leen poco y se guardan para siempre.","architecture",[620,621,622,623],"S3","almacenamiento compatible con S3","object storage","blob storage",[625],{"kind":626,"url":627},"wikipedia","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObject_storage",[629],"bigquery","\u002Fglossary#object-storage",{"slug":632,"term":633,"definition":634,"category":635,"aliases":636,"links":641,"related":642,"readMore":-1,"target":645,"hasArticle":613},"staff-augmentation","Ampliación de equipo","Un modelo de contratación en el que ingenieros de un socio externo se suman a tu equipo y trabajan bajo tu gestión —en tu repositorio, tus sprints, tu proceso— en vez de entregar un proyecto propio. Compras capacidad; el código y el contexto se quedan contigo.","business",[637,638,639,640],"staff augmentation","team augmentation","desarrolladores dedicados","outstaffing",[],[643,644],"total-cost-of-ownership","time-to-market","\u002Fglossary#staff-augmentation",{"slug":647,"term":648,"definition":649,"category":603,"aliases":650,"links":651,"related":655,"readMore":-1,"target":658,"hasArticle":613},"app-clips","App Clips","Una función de Apple que ejecuta una porción pequeña de una app de iOS —menos de 15 MB— sin instalarla entera. Se invoca desde un código QR, una etiqueta NFC o un enlace, para cuando lo primero que hace un usuario no debería exigir pasar por la tienda.",[],[652],{"kind":653,"url":654},"documentation","https:\u002F\u002Fdeveloper.apple.com\u002Fapp-clips\u002F",[656,657],"deep-linking","install-referrer","\u002Fglossary#app-clips",{"slug":629,"term":660,"definition":661,"category":603,"aliases":662,"links":663,"related":668,"readMore":-1,"target":670,"hasArticle":613},"BigQuery","El almacén analítico de Google Cloud. Le lanzas SQL a miles de millones de filas y las recorre en segundos, sobre un almacenamiento separado de las máquinas que consultan, que es lo que mantiene los informes y la exploración fuera de la base de datos que sirve tráfico real.",[],[664,666],{"kind":608,"url":665},"https:\u002F\u002Fcloud.google.com\u002Fbigquery",{"kind":626,"url":667},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBigQuery",[615,669],"elasticsearch","\u002Fglossary#bigquery",{"slug":672,"term":673,"definition":674,"category":675,"aliases":676,"links":680,"related":683,"readMore":-1,"target":684,"hasArticle":613},"ci-cd","CI\u002FCD","Automatización que compila, testea y publica cada cambio sin que nadie ejecute comandos a mano. En móvil es lo que convierte una release en pulsar un botón en lugar de en una tarde esperando a que alguien esté disponible.","practice",[677,678,679],"CI","integración continua","entrega continua",[681],{"kind":626,"url":682},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCI\u002FCD",[],"\u002Fglossary#ci-cd",{"slug":686,"term":687,"definition":688,"category":618,"aliases":689,"links":693,"related":696,"readMore":-1,"target":699,"hasArticle":613},"headless-cms","CMS headless","Un sistema de contenidos con editor y API pero sin frontend propio. Los editores publican en un solo sitio y el sitio web o la app renderizan ese contenido por su cuenta, así que la capa de presentación es tuya y no del proveedor del CMS.",[690,691,692],"headless CMS","gestor de contenidos headless","API de contenidos",[694],{"kind":626,"url":695},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHeadless_content_management_system",[697,698],"server-side-rendering","rest","\u002Fglossary#headless-cms",{"slug":701,"term":702,"definition":703,"category":618,"aliases":704,"links":707,"related":710,"readMore":-1,"target":711,"hasArticle":613},"crud","CRUD","Create, read, update, delete: las cuatro operaciones detrás de casi todo formulario y pantalla de administración. Nombre corto para la mitad rutinaria de una app, la que gestiona datos, frente a la que lleva la lógica de dominio.",[705,706],"Create, Read, Update, Delete","crear, leer, actualizar, borrar",[708],{"kind":626,"url":709},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCreate,_read,_update_and_delete",[698,396],"\u002Fglossary#crud",{"slug":713,"term":714,"definition":715,"category":618,"aliases":716,"links":720,"related":723,"readMore":-1,"target":726,"hasArticle":613},"end-to-end-encryption","Cifrado de extremo a extremo","Cifrado aplicado en el dispositivo que envía y deshecho solo en el que recibe, de modo que el servicio que transporta el mensaje no puede leerlo: ni por orden judicial ni tras una brecha. Protege el contenido y nunca los metadatos.",[717,718,719],"E2EE","cifrado extremo a extremo","end-to-end encryption",[721],{"kind":626,"url":722},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEnd-to-end_encryption",[724,725],"tls","jwt","\u002Fglossary#end-to-end-encryption",{"slug":728,"term":729,"definition":730,"category":618,"aliases":731,"links":735,"related":738,"readMore":-1,"target":739,"hasArticle":613},"floating-point","Coma flotante","El formato binario IEEE 754 detrás de double y float. No puede representar 0,1 de forma exacta, así que 0,1 + 0,2 da 0,30000000000000004: invisible en gráficos y fatal en dinero, que va en unidades menores enteras o en un tipo decimal.",[732,733,734],"IEEE 754","double","aritmética de coma flotante",[736],{"kind":626,"url":737},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIEEE_754",[],"\u002Fglossary#floating-point",{"slug":741,"term":742,"definition":743,"category":635,"aliases":744,"links":749,"related":752,"readMore":-1,"target":754,"hasArticle":613},"in-app-purchase","Compra dentro de la app","Vender bienes digitales o una suscripción a través de la facturación de Apple o Google, obligatoria para contenido digital en ambas tiendas y sujeta a comisión. Lo difícil nunca es la compra: es restaurarla en un dispositivo nuevo y mantener honesto el estado de los derechos.",[745,746,747,748],"IAP","in-app purchase","compras integradas","suscripción in-app",[750],{"kind":653,"url":751},"https:\u002F\u002Fdeveloper.apple.com\u002Fin-app-purchase\u002F",[753],"product-market-fit","\u002Fglossary#in-app-purchase",{"slug":643,"term":756,"definition":757,"category":635,"aliases":758,"links":762,"related":765,"readMore":-1,"target":766,"hasArticle":613},"Coste total de propiedad","Lo que cuesta un producto a lo largo de toda su vida, no solo construirlo: mantenimiento, actualizaciones, migraciones anuales de SO y de tiendas, y el segundo equipo que contratas para mantener dos bases de código alineadas. Suele superar al presupuesto de desarrollo, y casi nunca va dentro.",[759,760,761],"TCO","total cost of ownership","coste de propiedad",[763],{"kind":626,"url":764},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTotal_cost_of_ownership",[644],"\u002Fglossary#total-cost-of-ownership",{"slug":768,"term":769,"definition":770,"category":771,"aliases":772,"links":775,"related":778,"readMore":-1,"target":779,"hasArticle":613},"post-quantum-cryptography","Criptografía poscuántica","Algoritmos de cifrado pensados para resistir a un futuro ordenador cuántico, ya estandarizados por el NIST. La migración urge antes que el hardware: el tráfico capturado hoy puede descifrarse cuando esa máquina exista.","protocol",[773,774],"PQC","cifrado poscuántico",[776],{"kind":626,"url":777},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPost-quantum_cryptography",[724,713],"\u002Fglossary#post-quantum-cryptography",{"slug":656,"term":781,"definition":782,"category":603,"aliases":783,"links":788,"related":791,"readMore":792,"target":792,"hasArticle":588},"Deep linking","Un enlace que abre una pantalla concreta dentro de una app instalada en vez de su pantalla de inicio o una página web. El deep linking diferido sobrevive a la instalación, así que un toque que pasa por la tienda acaba igualmente en la pantalla correcta.",[784,785,786,787],"deep linking diferido","enlaces profundos","universal links","Android App Links",[789],{"kind":626,"url":790},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMobile_deep_linking",[647,657],"\u002Fglossary\u002Fdeep-linking",{"slug":794,"term":795,"definition":796,"category":675,"aliases":797,"links":801,"related":802,"readMore":-1,"target":804,"hasArticle":613},"staged-rollout","Despliegue escalonado","Publicar una build primero a un porcentaje pequeño de usuarios y ampliarlo solo cuando la tasa sin fallos aguanta. Una build mala detectada al diez por ciento es una tarde mala; esa misma build al cien por cien es una semana mala.",[798,799,800],"staged rollout","lanzamiento por fases","release canaria",[],[803,672],"feature-flags","\u002Fglossary#staged-rollout",{"slug":806,"term":807,"definition":808,"category":675,"aliases":809,"links":814,"related":819,"readMore":-1,"target":821,"hasArticle":613},"dev-container","Dev Container","Un entorno de desarrollo descrito una sola vez en devcontainer.json —el SO, las herramientas y las versiones de runtime que un proyecto necesita— y abierto de forma idéntica en un contenedor por el editor de cada colaborador, en vez de una guía que cada quien interpreta a su manera.",[810,811,812,813],"devcontainer.json","Dev Containers","VS Code Dev Containers","contenedor de desarrollo",[815,817],{"kind":608,"url":816},"https:\u002F\u002Fcontainers.dev\u002F",{"kind":653,"url":818},"https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fdevcontainers\u002Fcontainers",[820],"container-registry","\u002Fglossary#dev-container",{"slug":669,"term":823,"definition":824,"category":603,"aliases":825,"links":828,"related":833,"readMore":-1,"target":834,"hasArticle":613},"Elasticsearch","Un motor de búsqueda y analítica que indexa registros para poder filtrarlos y buscarlos de forma interactiva en vez de recorrerlos. Lo que usas cuando la pregunta es «enséñame estas sesiones concretas, filtradas de seis maneras» y no «suma esta columna».",[826,827],"Elastic","ELK",[829,831],{"kind":608,"url":830},"https:\u002F\u002Fwww.elastic.co\u002Felasticsearch",{"kind":626,"url":832},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElasticsearch",[629],"\u002Fglossary#elasticsearch",{"slug":753,"term":836,"definition":837,"category":635,"aliases":838,"links":842,"related":845,"readMore":-1,"target":847,"hasArticle":613},"Encaje producto-mercado","El punto en el que un producto ha encontrado de forma demostrable a gente que lo quiere: lo usa, vuelve y paga. Antes de eso la ingeniería responde a una pregunta; después, responde a la demanda.",[839,840,841],"PMF","product-market fit","product\u002Fmarket fit",[843],{"kind":626,"url":844},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct-market_fit",[846,644],"mvp","\u002Fglossary#product-market-fit",{"slug":849,"term":850,"definition":851,"category":618,"aliases":852,"links":855,"related":856,"readMore":-1,"target":860,"hasArticle":613},"fan-out","Fan-out","Leer una fuente una sola vez y entregar cada actualización a todos los clientes suscritos. La versión ingenua escribe a los suscriptores en un bucle y se atasca en cuanto un socket va lento; una real usa un búfer por cliente y descarta a quien no siga el ritmo.",[853,854],"fanout","difusión",[],[857,858,859],"websocket","pub-sub","server-sent-events","\u002Fglossary#fan-out",{"slug":803,"term":862,"definition":863,"category":675,"aliases":864,"links":868,"related":871,"readMore":-1,"target":874,"hasArticle":613},"Feature flags","Interruptores que activan o desactivan funcionalidad desde la configuración y no desde una release. Permiten que un mismo binario se comporte distinto por marca, mercado o usuario, y apagar una función arriesgada sin pasar una build nueva por revisión.",[865,866,867],"feature flag","feature toggle","banderas de funcionalidad",[869],{"kind":626,"url":870},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeature_toggle",[794,872,873],"white-label","multi-tenancy","\u002Fglossary#feature-flags",{"slug":876,"term":877,"definition":878,"category":618,"aliases":879,"links":883,"related":886,"readMore":-1,"target":888,"hasArticle":613},"state-management","Gestión de estado","Cómo decide una app dónde vive un valor, quién puede cambiarlo y qué partes de la pantalla se redibujan cuando lo hace. En Flutter, elegir entre Riverpod, BLoC y Provider es de las primeras decisiones arquitectónicas y de las más difíciles de revisar.",[880,881,882],"state management","BLoC","Riverpod",[884],{"kind":653,"url":885},"https:\u002F\u002Fdocs.flutter.dev\u002Fdata-and-backend\u002Fstate-mgmt\u002Foptions",[887],"golden-test","\u002Fglossary#state-management",{"slug":887,"term":890,"definition":891,"category":675,"aliases":892,"links":896,"related":899,"readMore":-1,"target":900,"hasArticle":613},"Golden test","Un test que renderiza un widget y compara el resultado píxel a píxel con una imagen de referencia guardada. En Flutter es la forma más barata de saber si un rediseño rompió el estado vacío a 320 pt, en modo oscuro y con el texto al 200 %.",[893,894,895],"golden tests","test de captura","snapshot test",[897],{"kind":653,"url":898},"https:\u002F\u002Fapi.flutter.dev\u002Fflutter\u002Fflutter_test\u002FmatchesGoldenFile.html",[672],"\u002Fglossary#golden-test",{"slug":396,"term":902,"definition":903,"category":618,"aliases":904,"links":905,"related":910,"readMore":-1,"target":911,"hasArticle":613},"GraphQL","Un lenguaje de consulta para APIs donde el cliente nombra exactamente los campos que quiere y recibe una única respuesta con esa forma. Elimina el exceso de datos al que derivan los endpoints REST y añade un fallo propio: una consulta sin límites que recorre todo el modelo.",[],[906,908],{"kind":608,"url":907},"https:\u002F\u002Fgraphql.org\u002F",{"kind":626,"url":909},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGraphQL",[698],"\u002Fglossary#graphql",{"slug":913,"term":914,"definition":915,"category":675,"aliases":916,"links":918,"related":921,"readMore":-1,"target":922,"hasArticle":613},"hipaa","HIPAA","La ley estadounidense que regula la información sanitaria protegida: cómo puede almacenarse, transmitirse, registrarse y divulgarse. Como PCI-DSS, es una restricción arquitectónica que se elige al principio, no un documento de políticas que se añade antes del lanzamiento.",[917],"Health Insurance Portability and Accountability Act",[919],{"kind":626,"url":920},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHealth_Insurance_Portability_and_Accountability_Act",[426,334,430],"\u002Fglossary#hipaa",{"slug":611,"term":924,"definition":925,"category":603,"aliases":926,"links":930,"related":933,"readMore":-1,"target":934,"hasArticle":613},"Host Card Emulation","Permitir que un móvil Android actúe por software como una tarjeta contactless sobre NFC, sin elemento seguro por hardware. Es así como paga una app de wallet en un terminal: el teléfono habla el mismo protocolo EMV contactless que habría hablado la tarjeta de plástico.",[927,928,929],"HCE","EMV Contactless","pagos contactless",[931],{"kind":653,"url":932},"https:\u002F\u002Fdeveloper.android.com\u002Fdevelop\u002Fconnectivity\u002Fnfc\u002Fhce",[426,600],"\u002Fglossary#host-card-emulation",{"slug":936,"term":937,"definition":938,"category":618,"aliases":939,"links":943,"related":946,"readMore":-1,"target":947,"hasArticle":613},"multi-arch-image","Imagen multiarquitectura","Una única etiqueta de imagen que resuelve a binarios distintos según la arquitectura de CPU —linux\u002Famd64 y linux\u002Farm64 son el par habitual—, de modo que el mismo docker pull funciona sin cambios tanto en servidores Intel\u002FAMD como en portátiles con Apple Silicon.",[940,941,942],"build multiarquitectura","multi-arch build","linux\u002Famd64 + linux\u002Farm64",[944],{"kind":653,"url":945},"https:\u002F\u002Fdocs.docker.com\u002Fbuild\u002Fbuilding\u002Fmulti-platform\u002F",[820],"\u002Fglossary#multi-arch-image",{"slug":949,"term":950,"definition":951,"category":603,"aliases":952,"links":953,"related":956,"readMore":-1,"target":958,"hasArticle":613},"impeller","Impeller","El motor de renderizado que usa Flutter hoy, por defecto en iOS desde 2023 y en Android desde 2024. Compila sus shaders por adelantado en lugar de durante la primera animación, lo que eliminó el jank de shaders, el problema más visible de Flutter en producción.",[],[954],{"kind":653,"url":955},"https:\u002F\u002Fdocs.flutter.dev\u002Fperf\u002Fimpeller",[957],"skia","\u002Fglossary#impeller",{"slug":657,"term":960,"definition":961,"category":603,"aliases":962,"links":963,"related":966,"readMore":-1,"target":967,"hasArticle":613},"Install Referrer","Una API de Google Play que entrega a una app Android recién instalada los parámetros de campaña del enlace que llevó a la instalación. La mitad Android del deep linking diferido y la forma fiable de atribuir de dónde viene un usuario.",[],[964],{"kind":653,"url":965},"https:\u002F\u002Fdeveloper.android.com\u002Fgoogle\u002Fplay\u002Finstallreferrer",[656,647],"\u002Fglossary#install-referrer",{"slug":320,"term":969,"definition":970,"category":675,"aliases":971,"links":974,"related":977,"readMore":-1,"target":978,"hasArticle":613},"Inyección de prompts","Un ataque en el que el texto que aporta un usuario lo lee un modelo de lenguaje como instrucciones y no como datos, desviándolo de sus propias reglas. El hermano de la inyección SQL en la era de los LLM, y aparece donde se concatena entrada de usuario en un prompt.",[972,973],"prompt injection","ataque de inyección",[975],{"kind":626,"url":976},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",[363],"\u002Fglossary#prompt-injection",{"slug":725,"term":980,"definition":981,"category":771,"aliases":982,"links":984,"related":989,"readMore":-1,"target":990,"hasArticle":613},"JWT","Un token firmado que lleva sus propios claims, de modo que un servidor puede saber a quién pertenece una petición sin consultar una sesión. Estándar para la autenticación móvil. La firma prueba que no se alteró; no oculta lo que hay dentro.",[983],"JSON Web Token",[985,987],{"kind":608,"url":986},"https:\u002F\u002Fjwt.io\u002F",{"kind":626,"url":988},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON_Web_Token",[426],"\u002Fglossary#jwt",{"slug":992,"term":993,"definition":994,"category":675,"aliases":995,"links":1000,"related":1003,"readMore":-1,"target":1004,"hasArticle":613},"kyc","KYC","Know Your Customer: las verificaciones de identidad que hace un producto financiero regulado antes de dejar mover dinero —captura de documentos, prueba de vida, listas de sanciones y control antiblanqueo—. Condiciona el onboarding más que cualquier decisión de diseño.",[996,997,998,999],"Know Your Customer","AML","KYC\u002FAML","conocimiento del cliente",[1001],{"kind":626,"url":1002},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnow_your_customer",[426,334],"\u002Fglossary#kyc",{"slug":76,"term":74,"definition":1006,"category":603,"aliases":1007,"links":1009,"related":1010,"readMore":1011,"target":1011,"hasArticle":613},"Compartir lógica de negocio escrita en Kotlin entre Android, iOS y el servidor mientras cada plataforma conserva su UI nativa. La alternativa a Flutter cuando la interfaz tiene que ser nativa pero las reglas que hay detrás no.",[1008],"KMP",[],[],"\u002Ftechnologies\u002Fkmp",{"slug":363,"term":1013,"definition":1014,"category":675,"aliases":1015,"links":1019,"related":1022,"readMore":-1,"target":1023,"hasArticle":613},"Limitación de tasa","Un tope de cuántas peticiones puede hacer un mismo cliente en una ventana de tiempo. Es lo que impide que un usuario entusiasta, un scraper o un bot se gaste en una tarde un mes de presupuesto de API, y tiene que vivir en tu lado de la integración.",[1016,1017,1018],"rate limiting","rate limit","throttling",[1020],{"kind":626,"url":1021},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRate_limiting",[320],"\u002Fglossary#rate-limiting",{"slug":846,"term":1025,"definition":1026,"category":635,"aliases":1027,"links":1030,"related":1033,"readMore":-1,"target":1034,"hasArticle":613},"MVP","La versión más pequeña de un producto que puede ponerse delante de usuarios reales y aun así responder la pregunta por la que lo construiste. Una decisión sobre alcance, no sobre calidad: un MVP también tiene que funcionar.",[1028,1029],"producto mínimo viable","minimum viable product",[1031],{"kind":626,"url":1032},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMinimum_viable_product",[872],"\u002Fglossary#mvp",{"slug":872,"term":1036,"definition":1037,"category":635,"aliases":1038,"links":1041,"related":1044,"readMore":1045,"target":1045,"hasArticle":588},"Marca blanca","Un mismo producto publicado bajo muchas marcas. Una plataforma móvil de marca blanca construye para cada cliente una app lista para la tienda con su nombre, su diseño y su contenido desde una única base de código compartida, en vez de forkear el proyecto por cliente.",[872,1039,1040],"white label","app multiinquilino",[1042],{"kind":626,"url":1043},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWhite-label_product",[846],"\u002Fglossary\u002Fwhite-label",{"slug":873,"term":1047,"definition":1048,"category":618,"aliases":1049,"links":1053,"related":1056,"readMore":-1,"target":1057,"hasArticle":613},"Multi-tenancy","Un solo despliegue que sirve a muchos clientes, cada uno viendo solo sus datos, su configuración y sus funciones activas porque el contexto de tenant se resuelve en cada petición. Es lo que hace que una flota de apps de marca sea un producto y no muchos forks.",[1050,1051,1052],"multi-tenant","multiinquilino","tenant",[1054],{"kind":626,"url":1055},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMultitenancy",[872,803],"\u002Fglossary#multi-tenancy",{"slug":1059,"term":1060,"definition":1061,"category":771,"aliases":1062,"links":1066,"related":1071,"readMore":-1,"target":1072,"hasArticle":613},"oauth","OAuth","El estándar detrás de Iniciar sesión con Apple, con Google y demás: el usuario autoriza tu app en un proveedor en el que ya confía y tu app recibe un token en lugar de su contraseña. Nadie inventa una credencial nueva y tú nunca almacenas ninguna.",[1063,1064,1065],"OAuth 2.0","login social","Iniciar sesión con Apple",[1067,1069],{"kind":608,"url":1068},"https:\u002F\u002Foauth.net\u002F2\u002F",{"kind":626,"url":1070},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOAuth",[725],"\u002Fglossary#oauth",{"slug":426,"term":1074,"definition":1075,"category":675,"aliases":1076,"links":1079,"related":1084,"readMore":-1,"target":1085,"hasArticle":613},"PCI-DSS","El estándar de seguridad del sector de tarjetas que obliga a quien almacena, procesa o transmite datos de tarjeta. La mayoría de las apps se mantienen fuera de su alcance a propósito, delegando la introducción de la tarjeta en un proveedor de pagos certificado.",[1077,1078],"PCI DSS","Payment Card Industry Data Security Standard",[1080,1082],{"kind":608,"url":1081},"https:\u002F\u002Fwww.pcisecuritystandards.org\u002F",{"kind":626,"url":1083},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPayment_Card_Industry_Data_Security_Standard",[725],"\u002Fglossary#pci-dss",{"slug":1087,"term":1088,"definition":1089,"category":603,"aliases":1090,"links":1094,"related":1097,"readMore":-1,"target":1098,"hasArticle":613},"platform-channels","Platform channels","El puente que usa una app Flutter para llamar a código nativo de iOS y Android: Keychain y Keystore, biometría, hojas de pago, cualquier SDK sin paquete de Dart. Trabajo rutinario pero real, y lo primero donde encalla quien nunca salió de Dart.",[1091,1092,1093],"platform channel","method channel","canales de plataforma",[1095],{"kind":653,"url":1096},"https:\u002F\u002Fdocs.flutter.dev\u002Fplatform-integration\u002Fplatform-channels",[76],"\u002Fglossary#platform-channels",{"slug":858,"term":1100,"definition":1101,"category":618,"aliases":1102,"links":1106,"related":1109,"readMore":-1,"target":1110,"hasArticle":613},"Pub\u002FSub","Un patrón de mensajería donde un productor publica un evento y cualquier número de consumidores lo lee de forma independiente, con un broker en medio. El productor nunca los espera, y así la ruta de la petición sigue siendo rápida mientras el trabajo lento ocurre detrás.",[1103,1104,1105],"publicación\u002Fsuscripción","publish\u002Fsubscribe","Google Cloud Pub\u002FSub",[1107],{"kind":626,"url":1108},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPublish%E2%80%93subscribe_pattern",[],"\u002Fglossary#pub-sub",{"slug":698,"term":1112,"definition":1113,"category":618,"aliases":1114,"links":1117,"related":1120,"readMore":-1,"target":1121,"hasArticle":613},"REST","El estilo convencional de las APIs HTTP: una URL nombra un recurso y el verbo HTTP dice qué hacer con él. La forma por defecto en que una app habla con un backend, y lo que esperan encontrar la mayoría de integraciones de terceros.",[1115,1116],"API REST","Representational State Transfer",[1118],{"kind":626,"url":1119},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FREST",[857,859],"\u002Fglossary#rest",{"slug":334,"term":1123,"definition":1124,"category":675,"aliases":1125,"links":1129,"related":1134,"readMore":-1,"target":1135,"hasArticle":613},"RGPD","El reglamento de la UE sobre los datos personales de las personas en la UE: una base legal para recogerlos, consentimiento real para el rastreo y derechos de acceso y supresión. Sigue a tus usuarios, no a tus servidores, así que se aplica esté donde esté la empresa.",[1126,1127,1128],"GDPR","Reglamento General de Protección de Datos","protección de datos",[1130,1132],{"kind":608,"url":1131},"https:\u002F\u002Fgdpr.eu\u002F",{"kind":626,"url":1133},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[426,430,913],"\u002Fglossary#gdpr",{"slug":820,"term":1137,"definition":1138,"category":618,"aliases":1139,"links":1145,"related":1148,"readMore":-1,"target":1149,"hasArticle":613},"Registro de contenedores","Almacenamiento alojado para imágenes de contenedores, direccionadas por nombre y etiqueta: Docker Hub, GitHub Container Registry o el propio de un proveedor cloud. Publicar una build ahí convierte 'funciona en mi máquina' en una imagen que cualquiera puede descargar y ejecutar sin cambios.",[1140,1141,1142,1143,1144],"registro de imágenes","Docker registry","GHCR","ghcr.io","container registry",[1146],{"kind":653,"url":1147},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpackages\u002Fworking-with-a-github-packages-registry\u002Fworking-with-the-container-registry",[806,936],"\u002Fglossary#container-registry",{"slug":697,"term":1151,"definition":1152,"category":618,"aliases":1153,"links":1157,"related":1160,"readMore":-1,"target":1161,"hasArticle":613},"Renderizado en servidor","Construir una página como HTML terminado en el servidor, de modo que la primera respuesta ya lleva el contenido, los encabezados, las metaetiquetas y los datos estructurados. Los rastreadores, las vistas previas de enlaces y los dispositivos lentos lo leen sin ejecutar JavaScript.",[1154,1155,1156],"SSR","server-side rendering","renderizado del lado del servidor",[1158],{"kind":626,"url":1159},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-side_scripting",[686],"\u002Fglossary#server-side-rendering",{"slug":430,"term":1163,"definition":1164,"category":675,"aliases":1165,"links":1168,"related":1171,"readMore":-1,"target":1172,"hasArticle":613},"SOC 2","Un informe de auditoría externa sobre cómo trata una organización los datos de clientes —seguridad, disponibilidad, confidencialidad— y no un certificado que se compra. Los clientes empresariales lo piden, y condiciona la arquitectura mucho antes que la propia auditoría.",[1166,1167],"SOC2","System and Organization Controls",[1169],{"kind":626,"url":1170},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSystem_and_Organization_Controls",[426,334,913],"\u002Fglossary#soc-2",{"slug":1174,"term":1175,"definition":1176,"category":635,"aliases":1177,"links":1180,"related":1183,"readMore":-1,"target":1184,"hasArticle":613},"saas","SaaS","Software vendido como suscripción continua a un producto alojado, en lugar de como una licencia única que el cliente instala y opera. El proveedor mantiene los servidores, publica actualizaciones sin parar y cobra por usuario o por uso.",[1178,1179],"Software as a Service","software como servicio",[1181],{"kind":626,"url":1182},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_as_a_service",[873,872],"\u002Fglossary#saas",{"slug":859,"term":1186,"definition":1187,"category":771,"aliases":1188,"links":1191,"related":1194,"readMore":-1,"target":1195,"hasArticle":613},"Server-Sent Events","Un flujo unidireccional del servidor al cliente sobre una conexión HTTP corriente. Más simple que un WebSocket y suficiente allí donde solo el servidor tiene algo que decir: un feed de progreso, o una respuesta de IA que llega token a token.",[1189,1190],"SSE","eventos enviados por el servidor",[1192],{"kind":626,"url":1193},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FServer-sent_events",[857,698],"\u002Fglossary#server-sent-events",{"slug":957,"term":1197,"definition":1198,"category":603,"aliases":1199,"links":1202,"related":1207,"readMore":-1,"target":1208,"hasArticle":613},"Skia","La librería gráfica 2D de código abierto de Google que dibuja Chrome, Android y —hasta Impeller— cada fotograma de Flutter. Renderiza tanto a PDF como a pantalla, que es lo que hace la función de imprimir a PDF de Chrome.",[1200,1201],"Skia Graphics Engine","skia-safe",[1203,1205],{"kind":608,"url":1204},"https:\u002F\u002Fskia.org\u002F",{"kind":626,"url":1206},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSkia_Graphics_Engine",[949],"\u002Fglossary#skia",{"slug":724,"term":1210,"definition":1211,"category":771,"aliases":1212,"links":1216,"related":1219,"readMore":-1,"target":1220,"hasArticle":613},"TLS","La capa de cifrado bajo HTTPS. Demuestra que el servidor es quien dice su certificado, acuerda una clave nueva para la sesión y cifra todo lo demás, de modo que la red intermedia solo ve texto cifrado que no puede alterar sin que se note.",[1213,1214,1215],"SSL","HTTPS","Transport Layer Security",[1217],{"kind":626,"url":1218},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransport_Layer_Security",[713,725],"\u002Fglossary#tls",{"slug":644,"term":1222,"definition":1223,"category":635,"aliases":1224,"links":1227,"related":1230,"readMore":-1,"target":1231,"hasArticle":613},"Time to market","Cuánto se tarda en llevar un producto desde la decisión hasta usuarios reales. Casi todas las discusiones sobre stack y alcance son en realidad discusiones sobre este número, porque cada semana ahorrada es una semana de ingresos, feedback y posición competitiva.",[1225,1226],"TTM","tiempo de salida al mercado",[1228],{"kind":626,"url":1229},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTime_to_market",[846,643],"\u002Fglossary#time-to-market",{"slug":1233,"term":1234,"definition":1235,"category":771,"aliases":1236,"links":1238,"related":1243,"readMore":-1,"target":1245,"hasArticle":613},"webrtc","WebRTC","El estándar de navegador y móvil para enviar audio, vídeo y datos directamente entre dos dispositivos, con los servidores implicados solo en presentarlos entre sí. Es sobre lo que se construye una videollamada dentro de una app cuando no es un SDK alquilado.",[1237],"Web Real-Time Communication",[1239,1241],{"kind":608,"url":1240},"https:\u002F\u002Fwebrtc.org\u002F",{"kind":626,"url":1242},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWebRTC",[1244,857],"xmpp","\u002Fglossary#webrtc",{"slug":857,"term":1247,"definition":1248,"category":771,"aliases":1249,"links":1250,"related":1253,"readMore":-1,"target":1254,"hasArticle":613},"WebSocket","Un protocolo que mantiene una conexión abierta entre cliente y servidor para que cualquiera de los dos pueda enviar en cualquier momento, en vez de que el cliente pregunte una y otra vez. Sobre esto funcionan los precios en vivo, el chat y los indicadores de presencia.",[],[1251],{"kind":626,"url":1252},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWebSocket",[859,698],"\u002Fglossary#websocket",{"slug":1244,"term":1256,"definition":1257,"category":771,"aliases":1258,"links":1261,"related":1266,"readMore":-1,"target":1267,"hasArticle":613},"XMPP","Un protocolo de mensajería abierto y federado, y la alternativa de siempre a escribir un backend de chat o alquilarlo. Se extiende a presencia, indicadores de escritura y transferencia de archivos, y es lo bastante antiguo como para que cada plataforma tenga una librería madura.",[1259,1260],"Jabber","Extensible Messaging and Presence Protocol",[1262,1264],{"kind":608,"url":1263},"https:\u002F\u002Fxmpp.org\u002F",{"kind":626,"url":1265},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FXMPP",[1233,857],"\u002Fglossary#xmpp"]