Skip to main content

๐Ÿ”ง Configuration Reference

Checked-in configuration for the non-GPU AceSense services.

:::info Scope GPU worker images, hardware, environment, and provider-console values are outside this audit. This page covers the Firebase, web, and Flutter boundary. :::

Shared platformโ€‹

SettingValueSource
Firebase projectacesense-prodFirebase manifests
Functions regioneurope-west1shared/config.ts and each function
Functions runtimeNode.js 22package.json / firebase.json
Storage bucketacesense-prod.firebasestorage.appshared/config.ts
Max upload metadata size2 GiBshared/config.ts
Max duration2 hoursshared/config.ts
Accepted metadata formatsmp4, mov, avi, mkvshared/config.ts
Signed download URL TTL30 minutesshared/config.ts
Completed-session retention30 daysshared/config.ts
Export retention7 daysshared/config.ts

Upload quotasโ€‹

requestUploadPath enforces both entitlement/monthly limits and the atomic daily/concurrent quota in shared/quota.ts.

Plan keyUploads/dayConcurrent
free51
trial51
pro503
team2005

Verified Stripe, App Store, and Google Play events write tier and limits; syncTierToPlan mirrors premium and ultimate tiers to the legacy plan values used by older consumers.

Frontendโ€‹

  • Flutter toolchain: 3.41.9; Dart constraint: ^3.10.3.
  • Generated Firebase options: lib/firebase_options.dart.
  • Cloud Functions: FirebaseFunctions.instanceFor(region: 'europe-west1').
  • Release mock flag: USE_MOCK defaults to false.
  • Hosting target: app; public directory: build/web.

Adminโ€‹

  • Firebase initialization: src/config/firebase-app.ts.
  • Auth + Functions: src/config/firebase-auth.ts.
  • Functions client: getFunctions(app, 'europe-west1').
  • Hosting site: acesense-admin; public directory: dist.

Docs and launchpadโ€‹

Both sites keep sensitive bundles inside their Function source and expose an empty Hosting public directory. Hosting rewrites every request through an admin session-cookie gate.

SiteFunctionCodebaseBuilt site copied to
DocsdocsServerdocsacesense-docs/functions/site
LaunchpadlaunchpadServerlaunchpadacesense-launchpad/functions/site

The server accepts either admin: true or a verified email in the canonical allowlist. Session cookies are HttpOnly, Secure, SameSite=Lax, and expire after five days.

Storage and Firestoreโ€‹

videos/{uid}/{sessionId}/{file}
results/{uid}/{sessionId}/{file}
users/{uid}
jobs/{jobId}
sessions/{sessionId} # separate client-created history records
api_keys/{keyId}
coachLinks/{linkId}
coachNotes/{noteId}

Jobs are server-created. Owners can read their jobs and edit only presentation fields; deletion goes through deleteSession. Results are owner-readable but server/admin-written.

Live URLsโ€‹

ServiceURL
Landinghttps://acesense.io
Apphttps://app.acesense.io
Adminhttps://acesense-admin.web.app
Docshttps://docs.acesense.io
APIhttps://api.acesense.io