Files
full_encoach_platform/docs/06-All-Credentials-Inventory.md
Yamen Ahmad 82ec3debcc feat: QA fixes, new APIs (assignments, rubrics, custom exams), Generation page enhancements
- Fix ELAI video generation (correct render endpoint, script splitting for 60s limit)
- Fix speaking script generation error handling and empty response display
- Add custom exam list API (GET /api/exam/custom/list)
- Add assignments REST API (list, create, get)
- Add rubrics REST API (list, create)
- Enhance Generation page: dynamic exam structures, auto-module selection, preview dialog, audio player
- Improve submit feedback with exam ID and status in toast notifications
- Fix ExamsListPage to show both custom exams and exam sessions
- Connect RubricsPage to backend API with fallback data
- Add Dockerfile, docker-compose.yml, requirements.txt for deployment
- Fix placement, grading, scoring, and auth controllers
- Add ErrorBoundary component for frontend resilience
- Add QA report and credentials documentation

Made-with: Cursor
2026-04-12 14:26:39 +04:00

10 KiB

EnCoach - Complete Credentials Inventory

Extracted From: Cloud Run service environment variables (plaintext) Date: March 8, 2026

IMPORTANT: All credentials below were found stored as plaintext environment variables in Cloud Run service configurations. They are NOT in Secret Manager, NOT in .env files, and NOT in the code repos. They were set directly during deployment.


1. AI Service Keys

Variable Value Service Used By
OPENAI_API_KEY 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 OpenAI (GPT-4o, GPT-3.5) ielts-be (prod + staging)
AWS_ACCESS_KEY_ID AKIAXXT434IN3J7YQQ66 AWS Polly (TTS) ielts-be (prod + staging)
AWS_SECRET_ACCESS_KEY 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 AWS Polly (TTS) ielts-be (prod + staging)
ELAI_TOKEN KtzxETdcZesZtwl7JKiYQapRvp0b4zMG ELAI (avatar videos) ielts-be (prod + staging)
GPT_ZERO_API_KEY 0195b9bb24c5439899f71230809c74af GPTZero (AI detection) ielts-be (prod + staging)
HEY_GEN_TOKEN MjY4MDE0MjdjZmNhNDFmYTlhZGRkNmI3MGFlMzYwZDItMTY5NTExNzY3MA== HeyGen (legacy) ielts-be (prod + staging)
ELEVENLABS_API_KEY sk_01190f3d023f6abe585d2bae06557cf4e4b9e1cf257d4732 ElevenLabs (TTS) ielts-be (staging only)
ELEVENLABS_MODEL eleven_multilingual_v2 ElevenLabs model ielts-be (staging only)
TTS_PROVIDER elevenlabs TTS provider selector ielts-be (staging only)

2. Database Credentials

Variable Value Service Used By
MONGODB_URI mongodb+srv://user:JKpFBymv0WLv3STj@encoach.3ydyg.mongodb.net/?retryWrites=true&w=majority&appName=EnCoach MongoDB Atlas All services
MONGODB_DB (prod) production MongoDB database name ielts-be, ielts-ui (prod)
MONGODB_DB (staging) staging MongoDB database name ielts-be, ielts-ui (staging)
DATABASE_HOST 34.77.91.43 MySQL (CMS) encoach-cms
DATABASE_NAME encoach MySQL database encoach-cms
DATABASE_USERNAME root MySQL user encoach-cms
DATABASE_PASSWORD VN*n1yVLxswU MySQL password encoach-cms
DATABASE_URL jdbc:mysql://34.77.91.43:3306/ MySQL connection encoach-cms

3. Authentication & Security Keys

Variable Value Service Used By
JWT_SECRET_KEY 6e9c124ba92e8814719dcb0f21200c8aa4d0f119a994ac5e06eb90a366c83ab2 Backend JWT ielts-be
JWT_TEST_TOKEN eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0In0.Emrs2D3BmMP4b3zMjw0fJTPeyMwWEBDbxx2vvaWguO0 Backend test JWT ielts-be
BACKEND_JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0In0.Emrs2D3BmMP4b3zMjw0fJTPeyMwWEBDbxx2vvaWguO0 Frontend→Backend JWT ielts-ui
SECRET_COOKIE_PASSWORD S2NrN2aBBYCpFpULvK2vDPFwsPbixAH6 iron-session cookie ielts-ui
ADMIN_JWT_SECRET aM9l2NPCbOlIBBfGfWAJAw== Strapi admin JWT encoach-cms
JWT_SECRET hexTrI8hLY8k5syUSucXcg== Strapi public JWT encoach-cms
APP_KEYS qLCKRYNICu/zsCYF566pEQ==,SbgGbzHLzVih3yY/bCvG9w==,xJ27/S+YudYyftTuqPRG8g==,dMDRY3LHbBOLavygMJIeNg== Strapi app keys encoach-cms
API_TOKEN_SALT OWtKC1U80X18NIFBUpJV0A== Strapi API token salt encoach-cms
TRANSFER_TOKEN_SALT qTWhsKJZK/Z2X0hDPtvCPA== Strapi transfer token encoach-cms

4. Firebase Credentials

Production

Variable Value Used By
FIREBASE_PUBLIC_API_KEY AIzaSyCdD3xqz5-25ZuRU_Tm2W7tBY9FtWCIfRU ielts-ui (prod)
FIREBASE_AUTH_DOMAIN storied-phalanx-349916.firebaseapp.com ielts-ui (prod)
FIREBASE_STORAGE_BUCKET storied-phalanx-349916.appspot.com ielts-ui, ielts-be (prod)
FIREBASE_PROJECT_ID storied-phalanx-349916 ielts-ui, ielts-be (prod)
FIREBASE_MESSAGING_SENDER_ID 785091389226 ielts-ui (prod)
FIREBASE_APP_ID 1:785091389226:web:77cab7f4990c76aa0d2053 ielts-ui (prod)
FIREBASE_CLIENT_EMAIL tiago.ribeiro@ecrop.dev ielts-ui (prod)
FIREBASE_CREDENTIALS /app/firebase-configs/storied-phalanx-349916.json ielts-be (prod)
FIREBASE_SCRYPT_B64_SIGNER_KEY vbO3Xii2lajSeSkCstq3s/dCwpXP7J2YN9rP/KRreU2vGOT1fg+wzSuy1kIhBECqJHG82tmwAilSxLFFtNKVMA== ielts-ui, ielts-be (prod)
FIREBASE_SCRYPT_B64_SALT_SEPARATOR Bw== ielts-ui, ielts-be (prod)
FIREBASE_SCRYPT_ROUNDS 8 ielts-ui, ielts-be (prod)
FIREBASE_SCRYPT_MEM_COST 14 ielts-ui, ielts-be (prod)

Staging

Variable Value Used By
FIREBASE_PUBLIC_API_KEY AIzaSyB1HDuvYOX18ZxpSgi2PmmVOaUu49CNYws ielts-ui (staging)
FIREBASE_AUTH_DOMAIN encoach-staging.firebaseapp.com ielts-ui (staging)
FIREBASE_STORAGE_BUCKET encoach-staging.appspot.com ielts-ui, ielts-be (staging)
FIREBASE_PROJECT_ID encoach-staging ielts-ui, ielts-be (staging)
FIREBASE_MESSAGING_SENDER_ID 1078696515702 ielts-ui (staging)
FIREBASE_APP_ID 1:1078696515702:web:b8a5518dac09cf6e366757 ielts-ui (staging)
FIREBASE_CREDENTIALS /app/firebase-configs/encoach-staging.json ielts-be (staging)
FIREBASE_SCRYPT_B64_SIGNER_KEY qjo/b5U5oNxA8o+PHFMZx/ZfG8ZQ7688zYmwMOcfZvVjOM6aHe4Jf270xgyrVArqLIQwFi7VkFnbysBjueMbVw== ielts-ui, ielts-be (staging)

5. Payment Gateway Credentials

Paymob (Production)

Variable Value Used By
PAYMOB_API_KEY ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmpiR0Z6Y3lJNklrMWxjbU5vWVc1MElpd2ljSEp2Wm1sc1pWOXdheUk2T1RFM0xDSnVZVzFsSWpvaWFXNXBkR2xoYkNKOS5HMnJTZXJ2WHR1UUEyNWVQN0tvTDBHaHJaUmM3VWx5RHhmV0huRDRPbkZpVExyV0xicnUzeVZSYXk2ZENqTnpXS1duWmJoZ2RYcUgwSGxnWkNUTi1aQQ== ielts-ui (prod)
PAYMOB_PUBLIC_KEY omn_pk_live_BkKVov5VSuLtTIqgcfya39ucEDcnX35l ielts-ui (prod)
PAYMOB_SECRET_KEY omn_sk_live_a669c50ebabb3d5c88135eee070a507258a7d10522214de89c123a4a5b25fd22 ielts-ui (prod)
PAYMOB_INTEGRATION_ID 1620 ielts-ui (prod)

Paymob (Staging / Test)

Variable Value Used By
PAYMOB_PUBLIC_KEY omn_pk_test_Oh9XcYe589i5FqXHLZ7yZGUkF2M8Vf55 ielts-ui (staging)
PAYMOB_SECRET_KEY omn_sk_test_ee1e6e3f149b481f9b943334c680b7c3fa27e8f1800e111aae45cc829c92f8e5 ielts-ui (staging)
PAYMOB_INTEGRATION_ID 1540 ielts-ui (staging)

Stripe (Landing Page)

Variable Value Used By
STRIPE_KEY pk_test_51NzD5xFI67mXFum2XDMXiLu89SbCAMY5O0RnKjlU6XqyfboRVvFHI3f5OJHaxsrjjB7WqDYqN7Y3eF8mq3sF354F00l30L5GuJ encoach-landing-page
STRIPE_SECRET sk_test_51NzD5xFI67mXFum2Lzi2JtR8Th9zuA3CnoKKkAaOBiHmiHDQdGt7Pruj1Z89e4nF5eVNStL866twJLoVBUgfiaxZ00yqst8gkh encoach-landing-page
STRIPE_PRICING_TABLE prctbl_1O0hFcFI67mXFum2kEqiD57r encoach-landing-page

6. Email / SMTP Credentials

Variable Value Used By
MAIL_USER noreply@encoach.com ielts-ui
MAIL_PASS sovlwwwqvnenladl ielts-ui
SMTP_HOST smtp.gmail.com ielts-ui

7. CMS / Strapi Integration

Variable Value Used By
STRAPI_URL https://encoach-cms-zrwipjl2nq-ew.a.run.app encoach-landing-page
STRAPI_TOKEN 1adf65151d6c8bf7491f4162d504dc9063ae750399fe8d4c841af20d2b3f8a3fbc6206ecb63bb9e9cbb9a00baac73a8547772ab0f16f0f7d04f4201f04ef72f9a2cb37fbadf5c347d8243a6733ac21589364e76b2fb5309386cb5aec52244f633b26d04faad5aca355df728200c86089d65e4162658a5b37ec1a6730d36fa383 encoach-landing-page
GCS_BUCKET_NAME encoach-cms-media encoach-cms
GCS_SERVICE_ACCOUNT (base64-encoded GCP service account JSON with private key) encoach-cms

8. Internal Service URLs

Variable Value Used By
BACKEND_URL (prod) https://ielts-be-zrwipjl2nq-ew.a.run.app/api ielts-ui (prod)
BACKEND_URL (staging) https://ielts-be-zrwipjl2nq-zf.a.run.app/api ielts-ui (staging)
WEBSITE_URL https://encoach.com ielts-ui
NEXT_PUBLIC_APP_URL https://platform.encoach.com encoach-landing-page
WEBHOOK_URL https://encoach.com/api/stripe encoach-landing-page
DATABASE_URL jdbc:mysql://34.77.91.43:3306/ encoach-cms

9. Application Config (Non-Secret)

Variable Value Used By
ENVIRONMENT (prod) platform ielts-ui (prod)
ENVIRONMENT (staging) staging ielts-ui (staging)
PDF_VERSION (prod) 1.1.0 ielts-ui (prod)
PDF_VERSION (staging) 1.0.7 ielts-ui (staging)
EXCEL_VERSION 0.0.1 ielts-ui
HOST 0.0.0.0 encoach-cms

Where Each Service Gets Its Keys

Cloud Run Service Region Environment Key Categories
ielts-be europe-west1 Production AI keys, AWS, DB, Firebase, JWT
ielts-be me-west1 Staging AI keys, AWS, DB, Firebase, JWT, ElevenLabs
ielts-ui europe-west1 Production DB, Firebase, Paymob (live), SMTP, JWT
ielts-ui us-central1 Staging DB, Firebase (staging), Paymob (test), SMTP, JWT
encoach-frontend-staging me-central1 Staging DB, Firebase (staging), Paymob (test), SMTP, JWT
encoach-cms europe-west1 Production MySQL, Strapi JWT, GCS service account
encoach-landing-page europe-west1 Production Stripe (test), Strapi token

Notes

  1. Production and staging share the same OpenAI, AWS, ELAI, and GPTZero keys — there is no separation of API keys between environments.
  2. Production and staging share the same MongoDB Atlas cluster (encoach.3ydyg.mongodb.net) — only the database name differs (production vs staging).
  3. The Stripe keys on the landing page are test keys (pk_test_, sk_test_) even in the production deployment.
  4. The BACKEND_JWT and JWT_TEST_TOKEN are identical — the same test JWT is used for frontend-to-backend auth and for testing.
  5. The GCS_SERVICE_ACCOUNT in encoach-cms contains a full GCP service account private key encoded in base64.
  6. The FIREBASE_CLIENT_EMAIL references tiago.ribeiro@ecrop.dev — a developer's email from the previous development team.