La API de PlantCare Enterprise implementa un modelo de seguridad Zero-Trust (cero confianza). Cada petición se autentica y valida en múltiples capas para garantizar la privacidad de los datos de cultivos y la integridad de la infraestructura.
1. Autorización de cliente a API (Claves de API)
Los clientes se autentican utilizando una clave permanente y segura pk_ent_ generada al registrarse. Este token de portador (bearer token) es validado directamente por la capa de enrutamiento del API Gateway antes de que la petición llegue al backend.
2. Seguridad del almacenamiento (Escaneo de malware)
Las cargas de fotos para agricultura de precisión deben estar libres de malware. Cada imagen de diagnóstico foliar cargada en el almacén de objetos se escanea automáticamente en busca de firmas de virus de forma asíncrona antes de iniciar la evaluación del modelo.
3. Autorización de servicio a servicio
Cuando el servicio de backend necesita comunicarse con microservicios de procesamiento interno (como el Procesador de Imágenes), evita por completo las credenciales estáticas compartidas. El servicio solicita tokens de identidad firmados efímeros generados por el Servidor de Metadatos de la nube local.
4. Aislamiento de red
Para proteger aún más la infraestructura interna, los contenedores críticos de backend (como el Procesador de Imágenes) están configurados con reglas de INGRESS_TRAFFIC_INTERNAL_ONLY. Son completamente inaccesibles desde el internet público, incluso si se cuenta con un token de identidad válido. Toda la comunicación se enruta a través de conectores de red privada.
5. Moderación de contenido y anti-spam
Cada análisis de cultivo está sujeto a un filtro de spam automatizado basado en etiquetas. El gateway evalúa las etiquetas devueltas por el modelo para bloquear cargas fuera de tema o que violen las políticas antes de que consuman las cuotas de la API B2B.
Cómo funciona
- El diagnóstico de IA devuelve una lista de
detected_objects(etiquetas) para cada foto subida. - Cada etiqueta se clasifica en una categoría de peso específica (+10 para fuera de tema, +100 para abuso).
- Si la puntuación supera el umbral, la puerta de enlace bloquea la solicitud y genera un evento.
Categorías de peso de etiquetas
| Categoría | Peso | Ejemplos |
|---|---|---|
| Inofensivo | 0 | plant, leaf, hand, table, pot, soil |
| Fuera de tema | +10 c/u | car, pet, food, screen, clothing, animal |
| Abuso | +100 c/u | weapon, drugs, nudity, id_card, passport, explicit |
Acciones de aplicación
| Puntuación | Acción | Penalización |
|---|---|---|
| 0–10 | ✅ Permitido | Ninguna |
| ≥20 | 🚫 Bloqueado | La puntuación de spam se acumula; bloqueo automático al llegar a ≥50 |
| ≥100 | 🚫 Bloqueado | Bloqueo de cuenta inmediato de 24h + +50 puntuación de spam |
Protección de cuota: Los análisis bloqueados reembolsan la cuota del usuario — nunca se te cobra por un análisis bloqueado.
Verificación de planta: Si la IA detecta que no hay ninguna planta en la imagen (is_plant_present: false), la transacción se envía a la cola de moderación sin penalización.
Cola de moderación administrativa
Los administradores pueden revisar las transacciones marcadas en el Dashboard Enterprise y elegir entre:
• Aprobar — volver a procesar la imagen, omitiendo el filtro de spam.
• Bloquear — confirmar el bloqueo y mantener la transacción fallida.
• Banear usuario — aplicar un bloqueo de 24h y +50 de puntuación de spam.