Secretos
La regla es simple: los secretos nunca llegan al cliente.
.env.dev,.env.previewy.env.prodguardan tus valores por ambiente y están ignorados por git — nunca los commitees..env.exampleestá commiteado como plantilla, con valores vacíos o de ejemplo.- Un secreto exclusivo del servidor no debe usar el prefijo
EXPO_PUBLIC_(ese prefijo hace que el valor viaje dentro de la app). Ponelo en un secret de EAS para los builds, o mantenelo enteramente en el backend.
Dónde vive cada valor
| Tipo de valor | Dónde vive |
|---|---|
| Configuración pública (URL base de la API, client id público) | EXPO_PUBLIC_* en .env.<env> |
| Secreto de build-time (firma, tokens de servicio para CI) | Secret de EAS |
| Secreto de servidor (API keys privadas, credenciales de DB) | Solo backend — nunca en la app |
Advertencia
Si un secreto alguna vez termina en un archivo commiteado o en una variable
EXPO_PUBLIC_*, tratalo como filtrado: rotalo. Sacarlo en un commit
posterior no ayuda — ya quedó en el historial de git y en los bundles ya
distribuidos.