shim
Gateway de frontera de confianza para tráfico AI (OpenAI, Anthropic, Gemini). Aplica privacidad, admisión, contabilidad y políticas de error sin reescribir payloads. Soporta detección de datos sensibles, rate limiting y sanitización de errores.
Ficha actualizada 28 sept 2026, 12:46 · upstream 28 sept 2026, 12:44 · release sin release detectada
Qué es shim
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
shim actúa como una capa HTTP intermedia entre tu aplicación y los proveedores de modelos (OpenAI, Anthropic, Gemini). No traduce payloads: cada solicitud sale con el formato original del proveedor. Aplica políticas de privacidad detectando y reemplazando datos sensibles (emails, IBANs, tarjetas, claves AWS/GitHub) antes de que salgan hacia el proveedor.
Gestiona admisión mediante límites por minuto de solicitudes y tokens, listas blancas de modelos desde catálogo de precios verificado, y detección de bucles. Contabiliza uso y coste por solicitud atribuido vía header X-Shim-Tag. Sanitiza errores del proveedor para que no lleguen al cliente sin modificar.
El software es alpha con interfaces sujetas a cambios entre releases. La capa community está bajo Apache-2.0, mientras la capa enterprise (ee/) es source-available bajo Elastic License 2.0. No acepta contribuciones externas a la capa enterprise.
- Proteger datos sensibles en prompts antes de enviarlos a proveedores AI externos
- Implementar límites de tasa y tokens por minuto sin modificar clientes existentes
- Centralizar contabilidad de costes por proveedor vía header X-Shim-Tag
- Sanitizar errores de respuesta del proveedor para evitar filtración de información sensible
- Auditar tráfico AI sin cambiar SDKs ni reescribir payloads
- No requiere cambios en el cliente: solo cambia base_url y api_key
- Detección de entidades sensibles con placeholder único por solicitud
- Soporta OpenAI, Anthropic y Gemini sin traducción de payloads
- SDK compatibility pinned a versiones específicas (openai==2.53.0, anthropic==0.121.0)
- Community mode funciona sin PostgreSQL/Redis/Supabase
- Licencia Apache-2.0 para comunidad, Elastic License 2.0 para enterprise
- Detección de datos sensibles es best-effort y puede perder valores
- En community mode el estado de rate limiting es process-local, no compartido entre réplicas
- Solo valida campos de routing, privacidad y admisión del payload del proveedor
- No soporta requests con background=true en respuestas
- SDK compatibility está fijado a versiones específicas sin actualización automática
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Ejecutar con docker: docker run -p 8000:8000 -e SHIM_API_KEY=clave-min-16-caracteres ghcr.io/getshim/shim:latest. El puerto 8000 requiere autenticación con SHIM_API_KEY antes de permitir tráfico externo. Para despliegue en producción, configurar OPENAI_API_KEY/ANTHROPIC_API_KEY/GOOGLE_API_KEY o usar x-provider-key por request. Community mode no necesita PostgreSQL/Redis. Enterprise requiere SHIM_LICENSE_KEY para ENVIRONMENT=production.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.