Skip to main content

Modules Documentation

Validation rules

Required fields, formats, ranges.

Complete

Every founder profile passes 5 verification gates before publication. The verification depth depends on profile flavor: editorial profiles get full editorial fact-check; founder-led profiles get editor approval of founder-submitted content. Both routes pass through the same 5 gates.

Schema-level validation

  • All required fields present + correctly typed.
  • `slug` matches `^[a-z0-9-]+$` and is unique within the Founder table.
  • `name` and `name_ar` BOTH populated (no English-only or Arabic-only profiles).
  • `profileStatus` is one of the two enum values; no invalid status.
  • `industry`, `stage`, `country` use canonical taxonomy values.
  • `role` matches a known i18n key under `tx.role.*`.
  • `linkedStartupId` (when present) resolves to an existing Startup entry.

The 5 editorial verification gates

  1. Founder identity verified Editor confirms the person exists, is the actual founder of the named startup, and the photo represents them (no synthetic or stock photos).
  2. Startup link is accurate If `linkedStartupId` is set, the editor verifies the founder is currently with that startup (not stale from a prior role).
  3. About content is factual No invented credentials, no inflated funding claims, no unverifiable accolades. "Featured in TechCrunch" requires a real article reference.
  4. Social links are real + active Editor opens each declared social link to confirm it leads to the founder’s actual profile. Dead links are removed before publication.
  5. Visibility flags applied For founder-led profiles, editor confirms the founder’s visibility choices are respected (e.g. `hiddenContactEmail = true` does NOT render the email).