🗑️ Archivos eliminados (11)
📄 .env.production 23 secretos · credenciales reales
📄 .env.local variables de entorno local
📄 .env.staging entorno de staging interno
📄 credentials/service-account.json Google Cloud service account
📄 credentials/supabase-admin.json credenciales Supabase admin
📄 certs/server.key clave privada SSL
📄 certs/server.pem certificado privado
📄 .claude/settings.json configuración privada Claude Code
📄 sessions/ directorio de sesiones activas
📄 dist/*.map 8 source maps (exponen rutas internas)
🔑 Secretos extraídos → .env.example (23)
| Variable | Tipo | Archivo origen | Acción |
|---|---|---|---|
DATABASE_URL |
DB connection | docker-compose.yml:18 | Parametrizado con ${DATABASE_URL} |
OPENAI_API_KEY |
API key | config/settings.py:34 | Reemplazado → os.environ["OPENAI_API_KEY"] |
SUPABASE_URL |
Service URL | config/settings.py:41 | Reemplazado → os.environ["SUPABASE_URL"] |
SUPABASE_SERVICE_ROLE_KEY |
Service key | config/settings.py:42 | Reemplazado → variable de entorno |
RESEND_API_KEY |
API key | app/services/mailer.py:12 | Reemplazado → variable de entorno |
META_ADS_ACCESS_TOKEN |
OAuth token | app/services/meta_ads.py:8 | Reemplazado → variable de entorno |
REDIS_URL |
Service URL | docker-compose.yml:31 | Parametrizado con ${REDIS_URL} |
JWT_SECRET |
Secret key | app/core/auth.py:7 | Reemplazado → variable de entorno |
STRIPE_SECRET_KEY |
Payment key | app/services/billing.py:5 | Reemplazado → variable de entorno |
GITHUB_ACTIONS_TOKEN |
CI/CD token | .github/workflows/deploy.yml:22 | → ${{ secrets.GITHUB_TOKEN }} |
| +13 variables adicionales (SENTRY_DSN, POSTHOG_KEY, SLACK_WEBHOOK, PAPERTRAIL_URL, RENDER_DEPLOY_HOOK, LEMON_SQUEEZY_KEY…) | |||
🔄 Referencias internas reemplazadas (47 ocurrencias)
| Patrón original | Reemplazado por | Ocurrencias | Archivos |
|---|---|---|---|
api.cultivaia.internal |
your-domain.com |
14 | nginx.conf, docker-compose.yml, README.md, docs/api.md |
/home/alvaro/projects/ |
/home/user/ |
9 | Makefile, scripts/setup.sh, .github/workflows/ci.yml |
192.168.1.50 (Redis) |
your-server-ip |
6 | config/settings.py, docker-compose.yml, docs/infra.md |
10.0.0.12 (Postgres) |
your-server-ip |
5 | config/database.py, alembic.ini |
alvaro@cultivaia.com |
you@your-domain.com |
8 | README.md, LICENSE, setup.cfg, pyproject.toml |
github.com/cultiva-ia-internal |
github.com/your-github-org |
5 | .github/workflows/deploy.yml, pyproject.toml |
📋 Ejemplo de diff — docker-compose.yml
docker-compose.yml
@@ -15,12 +15,12 @@ services:
db:
image: postgres:15
environment:
- DATABASE_URL: "postgresql://admin:Sup3r$ecret2024@192.168.1.50:5432/growthbot_prod"
+ DATABASE_URL: "${DATABASE_URL}"
redis:
image: redis:7-alpine
- command: redis-server --requirepass REdis_P4ss_2024
+ command: redis-server --requirepass "${REDIS_PASSWORD}"
ports:
- - "192.168.1.50:6379:6379"
+ - "${REDIS_HOST:-localhost}:6379:6379"
⚙️ .env.example generado
.env.example
23 vars
# Application — cp .env.example .env
APP_NAME=growthbot-api
APP_DOMAIN=your-domain.com
APP_PORT=8000
# Database (REQUIRED)
DATABASE_URL=postgresql://user:password@localhost:5432/growthbot
REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=change-me
# AI / LLMs (REQUIRED)
OPENAI_API_KEY=sk-...
# Supabase (REQUIRED)
SUPABASE_URL=https://xxxx.supabase.co
SUPABASE_SERVICE_ROLE_KEY=eyJ...
# Email (REQUIRED)
RESEND_API_KEY=re_...
# Security (REQUIRED)
JWT_SECRET=change-me-32-chars-min
STRIPE_SECRET_KEY=sk_live_...
# Optional
SENTRY_DSN=https://...
POSTHOG_KEY=phc_...
⚠️ Advertencias — revisión manual recomendada
⚠️
app/utils/analytics.py:88 — Contiene lógica de negocio con referencias a campañas de clientes reales de CULTIVA IA. Revisar si conviene anonimizar los nombres de ejemplo en comentarios.
⚠️
tests/fixtures/ — Los fixtures de tests incluyen datos de clientes de prueba. Verificar que no contienen PII (emails reales, teléfonos, nombres).
⚠️
docs/architecture.md — Diagrama de infraestructura menciona "Arquitectura CULTIVA IA Producción". Reemplazar con diagrama genérico antes de publicar.
⚠️
pyproject.toml — El campo
authors incluye nombre completo del desarrollador. Verificar si quieres mantenerlo o usar un alias.🔀 Historial Git limpio
git log --oneline — growthbot-api (staging)
a3f9c12 (HEAD → main)
Initial open-source release
Forked from private source. All secrets stripped, internal references replaced with configurable placeholders. See .env.example for configuration.
El historial anterior (314 commits con posibles secretos en mensajes o diffs) ha sido eliminado. El fork público parte de cero.