StoryC OriginationStoryC Ltd
Customer-owned

Handover kit

One GitHub repository and one Supabase project per firm. StoryC can install the kit for you; after handover it keeps no way to read your leads, your engagements or the prompts in force.

Install, in six steps

  1. Supabase project

    Create it in your firm's organisation, in the EU (Ireland or London). The firm is the owner from the first minute.

  2. GitHub repository

    Create a private repository from the StoryC template: pages, migrations, the function, the tests. No key is in it.

  3. Install

    Link the project, push the migration, deploy the function, set the secrets in the dashboard: the service role stays in Supabase; RESEND_API_KEY and the sending address for the report email; TURNSTILE_SECRET for the form; ORIGINATION_MODEL_KEY only if the firm wants the model-drafted brief; ORIGINATION_ADVISER_KEY if advisers sign through the function rather than the dashboard.

  4. Connections

    Your domain; a sending subdomain with SPF, DKIM and DMARC; the advisers' sign-in (magic link for founders, your Entra tenant for advisers); the Turnstile site key.

  5. Content and tests

    Load your firm's config (below), your consent wording and version, and your adviser register. Run the acceptance rehearsal until every probe passes.

  6. Handover

    Remove StoryC from the Supabase organisation and the GitHub repository. Rotate the service role and every function secret. Keep the audit log; it is append-only by design.

Config, not a fork

Scoring, row-level security and the send-report path stay upstream. The firm edits this pack and nothing else. The form below writes a preview to this browser so you can see your branding on the pages; the real values go in origination/config.json on your repository.

The manual investor log is off by default and does no matching. Nurture runs only when a founder opted in, with a cap of three report emails per address.

Acceptance rehearsal

The probes run inside your own database through the function's self test (the same checks as kit/supabase/tests/rls-negative.sql) and roll back; they open no StoryC database and leave no row behind.

What is in the template

PathWhat it is
kit/README.mdthe install and revoke runbook, the secrets list, what StoryC can and cannot see
kit/LICENCE.mdthe licence terms frame: what is licensed, for how long, what the firm may not do; the price is set per firm
kit/config/firm.example.jsonbranding, consent version, regulatory mode, retention, the function URL
kit/supabase/migrations/001_schema.sqlthe tables, row-level security, the sign-off trigger, the report cap, the investor lock, the append-only audit, the self test
kit/supabase/functions/send-report/index.tsthe only public write path: score, record with consent, queue or send the report, draft the brief by rule, the probes
kit/supabase/tests/rls-negative.sqlanonymous cannot read leads; the brief is invisible until signed; three reports per email; the investor route locked; the audit log append-only
kit/prompts/origination-brief.v1.mdthe locked prompt for the model-drafted brief, on the firm's key only, signed on activation
origination/the four pages, the stylesheet, the runtime and the generated instruments

The model, when used: a Claude model on the firm's own key, under the locked prompt above, drafting only; a named adviser signs every brief whether a rule or the model drafted it.