# ManyChat case — provenance

*Revised 2026-08-31. The case page shows the production interfaces on anonymised fixtures,
example dossier cards, and program results stated as orders of magnitude with dynamics shown
as an index. Absolute client revenue and internal analytics are deliberately not published —
the consulting agreement assigns the work product to the client and makes their business data
confidential with no expiry, and this page is written to honour that while still being checkable
where checking is possible.*

## Screens

| Screen | What it is | What changed for this portfolio | Anonymisation |
|--------|------------|--------------------------------|---------------|
| Ops review workspace | The production review interface | Remote data source replaced with local fixtures; visual polish pass (spacing, chips, hover states); layout, filters and scoring logic unchanged | Applied to the unified applicant set and every per-applicant dossier |
| Applications list | The production intake list | Export reshaped into the row schema the page already renders; 331 rows whose `group` column had captured CSV answer fragments were repaired to a real tier | Full anonymised fixture |
| Program home dashboard | The production overview page | Its data sources were never exported, so it runs on fixtures: score/grade data projected from the anonymised applicant set, and a **fully synthetic** partner leaderboard (invented names, invented revenue, marked `synthetic: true` in the file and labelled on the page) | Synthetic or fixture-derived, labelled |
| n8n research workflow | Structure-only export rendered as an HTML/CSS graph | Node types and connections only — no screenshot, no execution payloads | No personal data in a structure export |
| Prompt anatomy | A written account of how the research prompt is built | Rewritten 2026-08-09 to describe the method rather than reproduce the file | The prompt itself is not published |
| Partner analytics | Omitted entirely | Needs the client's database and secrets, so it was never exercised — claiming it "ran" here would be false | N/A |

## Fixture additions (2026-08-30)

- **Example dossier cards** (Marina Voss, Diego Ferrer, Anya Petrov): invented people in the real
  dossier shape — channels found, audience per channel, the four factor scores summing to the total,
  authenticity check, decision enum, a prose excerpt in the agent's register. Marked "synthetic
  fixture" on the section.
- **Research-time figures** (median minutes, tool calls, fallback rate): illustrative fixture values.
  The real timings lived in n8n execution logs and were not exported. Marked on the element.
- **Score distribution and decision-mix charts**: computed from the 79 scored / 84 total dossiers in
  the anonymised fixture. The fixture preserves the production distribution shape; the people are
  invented. Counts shown are fixture counts, never client population counts.

## How the results are stated (2026-08-31, revised same day)

The page describes a growth engagement, and growth claims need numbers — so the numbers follow
three rules:

- **Multiples and orders of magnitude, not internal analytics.** Population sizes appear as scale
  words (tens of thousands on the books, a thousand-plus active, hundreds flagged), results as
  rounded multiples and rates (channel revenue ~1.2× in four months, about $2M ARR, chat volume up
  25×, ~300× faster decisions, application approvals from ~99% to ~62%). No absolute monthly
  revenue, no export sums, no internal counts, no per-partner figures of any kind.
- **Dynamics as an index, contract window only.** The chart is indexed to the contract-start month
  (November 2025 = 100) and shows only the four contract months, November through February — the
  months before the engagement are not the author's to show. Per-month deltas printed on the bars
  (+8.7% / +2.7% / +11%) are rates, not dollars. February's +11% is the settled post-lag figure,
  not the mid-month projection.
- **The quality reset stated as a floor.** The growth line is described as measured after the
  program parted ways with partnerships behind more than 10% of channel revenue over how they
  acquired traffic (reselling the brand's own search demand; the users those partnerships brought
  were real and stayed with the product). "More than 10%" is an order of magnitude, owner-stated;
  no partner identity or per-partner figure appears anywhere.

The underlying sources are the program's own reporting artifacts and the written delivery
summary, cross-checked against raw PartnerStack exports on the author's machine. None of those
artifacts are published, embedded or screenshotted here; the reporting dashboards contain real
partner identities and stay private in their entirety.

## Anonymisation transform

1. Deterministic alias from a stable hash of the original partner key, so the same person is the same
   alias across every screen and no mapping table exists anywhere.
2. Names drawn from fixed pools; emails rewritten to `partner+NNN@example.test`.
3. Employers reduced to `"{sector} ({size bucket})"` labels.
4. All URLs, social handles, match provenance and free-text dossier fields scrubbed or rewritten.
5. Dates jittered to month precision (day forced to 1).
6. Score, grade, tier and decision enums preserved exactly — the distribution is real, the people are not.
7. Second-pass scrub against the source identity strings (full names, emails, profile URLs,
   employer-and-role phrases). A phone-like digit regex was **not** used: it corrupted ISO dates and CSS
   lengths in an earlier pass, and those artifacts were regenerated from source rather than patched.
8. Group-column repair (2026-08-30): 331 rows in the applications export had CSV answer fragments in
   the `group` field from a column misalignment in the source export; they were normalised to the
   modal real tier so the filter reads cleanly. No score, status or date field was touched.

## Secrets

Credential and environment files were encountered while working in the source tree. None was opened,
copied, or carried into this portfolio, and their locations are deliberately not listed here.

## Forbidden / not invented

- No generic CRM mock standing in for the real interface
- No claim that the analytics dashboards ran in this session
- No absolute channel revenue, in any month, window or total — dynamics are indexed
- No **per-partner** revenue, commission or volume figures, in any form — the leaderboard on the
  Program home page is invented end to end and carries a synthetic label in the file and on the page
- No internal population counts, export sums, audit tallies or goal-sheet lines — scale is stated in
  orders of magnitude
- No merged "thousands of partners researched" headline — the populations are different sizes and are
  never added together
