Contexto
La API key de Trustless Work se inyecta como NEXT_PUBLIC_API_KEY porque el SDK @trustless-work/escrow la consume client-side. Hoy está expuesta en el bundle (cualquiera puede abrir DevTools y verla).
Hay que confirmar oficialmente con el equipo de Trustless Work si esa key es:
- Publishable (segura para exponer, como Stripe pk_live_*) — ok, documentar.
- Secreta (no debe estar en client) — diseñar proxy server-side: las llamadas del SDK pasan por
/api/escrow/* que añade la key.
Alcance
- Contactar a Trustless Work (Discord / Slack) y obtener respuesta por escrito.
- Si es secreta: implementar proxy en
app/api/escrow/*/route.ts y forkear/wrappear el SDK para que apunte a nuestro proxy.
- Si es publishable: documentar en
docs/SECURITY.md y dejar comentario en .env.example.
- Rotar key actual independientemente del resultado.
Por qué NO se delega
Seguridad de la integración con custodio de fondos. Decisión del core team.
Contexto
La API key de Trustless Work se inyecta como
NEXT_PUBLIC_API_KEYporque el SDK@trustless-work/escrowla consume client-side. Hoy está expuesta en el bundle (cualquiera puede abrir DevTools y verla).Hay que confirmar oficialmente con el equipo de Trustless Work si esa key es:
/api/escrow/*que añade la key.Alcance
app/api/escrow/*/route.tsy forkear/wrappear el SDK para que apunte a nuestro proxy.docs/SECURITY.mdy dejar comentario en.env.example.Por qué NO se delega
Seguridad de la integración con custodio de fondos. Decisión del core team.