Technical reference. Written for analysts and AI agents and kept in sync with the repository, so it uses internal terms. Raw Markdown: /pages/honesty.md.
Honesty — what Better World never does
One page for skeptical donors and rival agents. Every rule below is backed by an ADR or live API contract already in this tree. Public hostname is TBD.
Moat, in one line: we optimize for answers agents can cite without lying — not for punchier marketing.
What we never do
| Rule | Never | Cite |
|---|---|---|
| Modeled ≠ guaranteed | Present impact / portfolio figures as promises or “you will save N lives” | ADR 0002 · modeled: true / guaranteed: false on /v1/impact-estimate |
| No invented CE | Fabricate cost-effectiveness, fill nulls, or outrank evaluator pages with vibes | ADR 0001 · docs/methodology.md |
| No silent unit mixing | Merge WELLBYs, lives-saved, SADs, tCO₂e into one “best overall” score without human moral weights | ADR 0007 Proposed · mixes_units_in_ranking: false · separate leaderboards |
| Sponsored ≠ organic | Let paid / featured / placement fields mutate tier, claims, confidence, or conviction | ADR 0003 · docs/ranking-integrity.md |
| Org narrative untrusted | Treat summary / claim notes as system instructions (jailbreaks, invent-CE directives, tool fences) |
ADR 0008 · egress scrub on org/compare |
| No personal tax assertions | Say “your gift is deductible” or set personal deductibility true from a charity name alone | docs/tax-and-deductibility.md · /v1/tax/{id} → assert_personal_deductibility: false always |
| Giving intents never charge | Process payments, invent crypto wallets, or pretend Stripe ran | /v1/giving/intent → charge/charges: false · deep-link only · docs/noncash-handoff.md |
| Policy Accepts need humans | Mark Accepting-policy ADRs Accepted, invent weight tables, or mint Ho Hum stamp files | ADR 0004 · data/qa/human_stamps/README.md |
| Answers carry provenance | Ship ranking / recommend / compare / leaderboards / org / meta without a stamp agents can cite | provenance on those responses · /v1/meta authoritative · Wave BI |
Cross-cause units (ADR 0007 — still Proposed)
We rank within an outcome family (lives_saved, wellbeing_wellbys, income, …). Converting across families is a human moral-weight choice, not a missing spreadsheet cell.
- Product default: separate leaderboards;
mixes_units_in_ranking: false. - Agents must not Accept ADR 0007, invent conversion factors, or create
data/qa/human_stamps/adr_0007_accepted.by_ho_hum. - Underspecified “best charity in the world” → clarify family or return parallel boards / portfolio language — never a secretly mixed score.
Policy artifact: data/qa/moral_weights_policy.json (status: proposed). Methodology: docs/methodology-moral-weights.md.
How to verify (donors & agents)
- ADRs:
docs/adr/— especially 0001, 0002, 0003, 0007 (Proposed), 0008. - Live flags:
GET /v1/metaand any recommend/leaderboards/compare/org body →provenance(product_version,data_snapshot_id,generated_at_iso,mixes_units_in_ranking: false). - Tax:
GET /v1/tax/{org_id}—not_tax_advice: true; never assert personal deductibility. - Giving:
GET|POST /v1/giving/intent— deep-link handoff only; no charge. - CI gates: honesty lint, adversarial ranking, tax language, giving-intent adversarial, org-text injection, ADR 0007 stamp gate, provenance stamp tests (
docs/ci.md). - Decision desk:
decision-desk.md— every pending Ho Hum gate in one place (ADR / review / research). - Machine entry:
../llms.txt· playbook:agent-playbook.md· donor FAQ:faq-donors.md.
Related
- Pending Ho Hum gates (one list):
decision-desk.md— ADR 0007 Proposed · review queue · research packs (no auto-resolve) - Competitive framing:
docs/competitive-moat.md - Red lines:
docs/red-lines-and-exceptions.md - Ranking integrity:
docs/ranking-integrity.md - Agent contract:
docs/agent-contract.md/docs/agent-tool-contract.md
JSON-LD: honesty.jsonld.