Skip to content

Platform Config

/admin/config — the PlatformConfigView organizes platform-wide configuration into 8 sections. Edits to sensitive values (e.g. Stripe keys) are stored encrypted at rest and resolved DB-first with env-var fallback.

The 8 sections

1. Org Type

Default orgType assigned to newly created organizations (typically business; agency for Partner sign-ups).

2. Stripe API Keys

The platform's own Stripe secret key (sk_live / sk_test or restricted rk variant) and webhook signing secret. Stored encrypted. Used for platform-tier subscriptions and to collect platform fees from Connect transactions.

3. Fees

Platform fee configuration applied to Stripe Connect transactions — default application-fee percentages for standard and agency-partner orgs.

4. Plan Prices

Stripe Price IDs for each platform plan tier (Starter, Professional, Enterprise). These point at Prices that exist on the platform's own Stripe account.

5. Graduated Pricing

Configuration for the graduated active plan — the tier breakpoints used by the graduated billing logic.

6. Service Prices

Stripe Price IDs for the built-in platform services (the 6 entries in serviceCatalog.ts).

7. Provider Org

The organization ID of the platform provider (Local Visibility Lab's own org). Marketplace listings owned by this org appear with platform branding.

8. Categories

Master list of service categories used to tag OrgService entries and group them on the marketplace.

Editing values

Most fields are inline-editable with a confirmation step. Sensitive values (Stripe secrets, webhook signing secrets) are masked on read.


🚧 Coming Soon — vote at /roadmap

Additional in-UI platform config: OAuth client ID/secret editing, Mailgun + email config, an editable feature-flag list with per-org overrides, daily-metrics job schedule + rate-limit tuning, audit log of admin changes, nightly platform-config backups, and a two-person rule for sensitive edits. Today these live in environment variables, featureFlags.ts, or job code — they ship via deploy, not via UI.


Next: Stripe Connect Operations