feat: rule Q63 in three limbs; take the human headcount off /legal/privacy/; close R10; ratify /med-arb/

Pouya's rulings, 2026-09-02.

Q63(a) — wording approved with two trims: the editorial closing sentence is
struck, and the mailbox clause is rewritten per (b).

Q63(b) — info@smlcompany.ca is a delegated mailbox read by Pouya and by
administrative staff. The page said "anyone who can reach that mailbox"; it now
says who. The answer reached four sentences, not the one the ruling named, in
three sections: "my mailbox" had been written as a personal one throughout.

Q63(c) — the account root credential is held by Pouya, has no programmatic key
and carries MFA. The page now states the first two.

And the answer to (c) took the human headcount off the page. His attestation:
"two people is an exaggeration... a handful is accurate — the simulation counts
identities, not humans, and the two are not the same claim." The enumeration was
exhaustive and the inference off it was not: two IAM identities is a LOWER BOUND
on people and was published as an exact count. The page now attributes read
access to "the account's administrators — me, and the small number of people who
administer it with me", and the false inference is corrected at its source in
docs/reference/intake-table-access-verification.md as well as on the page.

R10 — CLOSED on a fresh one-line confirmation, not on the 2026-08-28 stamp.
ADRIC, ADRIO, the three OBA sections and the CTF all current. Re-stamped on all
four stamp-bearing sites; the row stays live, because its trigger is an event.

/med-arb/ — ratified as shipped, no credential line restored. His note for the
record: med-arb is a service he provides, not a designation.

The tripwire is unchanged and proven both ways: exit 0 on the revised page,
exit 1 with 5 matches on the pre-correction bytes rebuilt from bd282aa.

A sentence added to back the correction had no command behind it. "The table
carries no policy of its own granting access to anyone" was published with
nothing in the repo establishing it — a DynamoDB resource policy is invisible to
describe-table, and every simulation on file asks what a principal may do.
Measured rather than deleted: get-resource-policy returns PolicyNotFoundException,
and describe-organization returns AWSOrganizationsNotInUseException, which is
what makes the Identity Center zero conclusive rather than merely local. Both
recorded as commands 7 and 8; R21 gains claim (v) and two falsifiers.

Q64 OPENED, with a TODO(pouya) and an unticked cutover item: "I hold it" is true
whether or not a second person holds it, and reads as sole custody one paragraph
below "the small number of people who administer it with me". The request to
strike the possessive now is declined with a reason — he dictated the clause —
and the page cannot ship while the TODO stands.

Two review rounds, 22 findings, 21 resolved, 1 declined. Nine of round 2's twelve
were defects in round 1's own repairs. Stopped at two per D19.

Gates, exit status read: check 0 · build 0 (23 pages) · check:claims 0 ·
og:proof 0 · check:intake 0 · lint 0 · router.test 0 (30/30) · lighthouse 0,
worst of 23 99/100/100/100, /legal/privacy/ 100/100/100.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
This commit is contained in:
Pouya Lajevardi
2026-09-02 11:00:15 -04:00
co-authored by Claude Opus 5
parent 6aaf089b05
commit 99889a3491
9 changed files with 641 additions and 185 deletions
+5 -1
View File
@@ -124,7 +124,11 @@ export function personNode(
R10 fires on an event, not a date: re-confirm before any cutover or major
republish, and re-stamp §4. That covers this field as well as the visible
list. */
list. **Last fired 2026-09-02** — all four re-confirmed by Pouya on the day
of cutover. ⚠️ **The stamp lives on `CREDENTIALS.memberships` in site.ts
and THIS FIELD READS `MEMBERSHIP_ORGS`** — a different array, as the note
seven lines above says. Content parity between them is manual, so
re-stamping is not the same act as re-checking that the two agree. */
...(opts.memberships
? {
memberOf: MEMBERSHIP_ORGS.map((name) => ({
+9 -5
View File
@@ -75,9 +75,10 @@ export const CREDENTIALS = {
],
languages: ['English', 'Farsi'],
/**
* [verified 2026-08-28 — Pouya, AGENTS.md Q44] — re-stamped when Q44 closed;
* the original confirmation was 2026-08-26 (Q28 plus the CTF addition of the same
* date] — and FOR NOW.
* [verified 2026-09-02 — Pouya, R10's cutover fire] — re-confirmed on the day
* of cutover: ADRIC, ADRIO, the three OBA sections and the CTF all current.
* Earlier stamps: 2026-08-28 (Q44), 2026-08-26 (Q28 plus the CTF addition of
* the same date). AND FOR NOW — the stamp is a snapshot, not a warranty.
*
* WHAT §4 ACTUALLY SAYS ABOUT RENEWAL, because a widened version of it reached
* a public page. §4, quoted exactly: *"the OBA sections and the CTF renew
@@ -95,8 +96,11 @@ export const CREDENTIALS = {
*
* **PUBLISHED FROM 2026-08-28 — Q44 CLOSED.** Pouya re-confirmed all four as
* current, which discharges R10's prohibition, and `/about/` now renders a
* Memberships group from this array. Re-stamped `[verified 2026-08-28 —
* Pouya]`; the earlier stamp was 2026-08-26.
* Memberships group from this array.
*
* **RE-CONFIRMED 2026-09-02 — R10's cutover event, and that is the stamp
* above.** R10 fires on an event and cutover is one of its two; a stamp is not
* a renewal receipt, so this was asked again rather than read again.
*
* ⚠️ **RENDER THE LIST; NEVER RENDER A CLAIM ABOUT ITS CURRENCY.** No
* "renewed annually", no "current as of", no "listed as current", no stamp
+9 -2
View File
@@ -203,8 +203,15 @@ const designationLine = [
*
* **Q44 closed 2026-08-28.** Pouya re-confirmed all four as current — ADRIC,
* ADRIO, the three OBA sections, and the Canadian Tax Foundation — which
* discharges R10's prohibition and puts the group back on the page. §4 is
* re-stamped `[verified 2026-08-28 — Pouya]`.
* discharges R10's prohibition and puts the group back on the page.
*
* **RE-CONFIRMED AGAIN 2026-09-02 — R10's cutover fire.** All four current;
* §4 and `CREDENTIALS.memberships` re-stamped `[verified 2026-09-02 — Pouya]`.
* ⚠️ **THIS COMMENT IS A FOURTH STAMP-BEARING SITE and it carried the
* 2026-08-28 date in the present tense after the re-stamp** — `docs/06`'s R10
* instruction named three files and not this one, so the next fire would have
* missed it again (`adversarial-reviewer`, round 2). The instruction now names
* four.
*
* **DO NOT ADD A CURRENCY SENTENCE.** Not "renewed annually", not "current as
* of", not "listed as current", not a stamp date in the markup. His ruling is
+75 -78
View File
@@ -182,31 +182,18 @@ const COLLECTED = INTAKE_FIELDS.map((field) => field.label);
<p>
In a DynamoDB table in Amazon Web Services' Canada Central region, in
Canada. It is encrypted at rest. Two emails are sent when you submit
the form — a notification to me and a confirmation to you — using
Amazon Simple Email Service, also in the same Canadian region.
the form — a notification to the practice and a confirmation to you —
using Amazon Simple Email Service, also in the same Canadian region.
</p>
{
/* ⚠️ THIS PARAGRAPH REPLACED A FALSE ONE, AND IT IS THE MOST SERIOUS
THING FOUND IN THE STEP 710 REVIEW. It read: *"Amazon Web Services
is therefore a processor for this information. **No other third party
receives it.**"*
`AGENTS.md` §7 records mail hosting as **Google Workspace**, and D18
sends the notification to `info@smlcompany.ca`. So Google receives and
stores every submission — including the names of opposing parties and
their counsel, which is the most sensitive thing this form collects —
as a mail processor. The page's own next section already admitted it:
*"The notification sits in my mailbox."* That mailbox is Google's.
A reader making a PIPEDA access request was being told there was one
processor when there are two. This page's header comment sets the
standard the sentence failed: a statement that describes an intended
control rather than a real one is a false statement to the public in
a legal document, and it fails silently, because nothing breaks and
the sentence reads correctly.
Found by `adversarial-reviewer`, 2026-08-31. §7 is cited rather than
restated — no MX record here. */
/* ⚠️ TWO PROCESSORS, AND BOTH MUST BE NAMED. `AGENTS.md` §7 records
mail hosting as **Google Workspace** and D18 sends the notification to
`info@smlcompany.ca`, so Google receives and stores every submission —
including the opposing parties and their counsel, the most sensitive
thing this form collects. A reader making a PIPEDA access request
needs both names. This paragraph replaced one asserting *"No other
third party receives it"*; see entry (ao). §7 is cited, not restated —
no MX record here. */
}
<p>
Two companies therefore process it, and both are named because a
@@ -214,9 +201,10 @@ const COLLECTED = INTAKE_FIELDS.map((field) => field.label);
>Amazon Web Services</strong
> stores the submission and sends the two emails, in Canada. <strong
>Google</strong
> receives the notification email, because my own mail is on Google Workspace
— so a copy of what you send, including any names you give me, sits in that
mailbox. If you reply to the confirmation, that reply goes there too.
> receives the notification email, because the practice's mail is on Google
Workspace — so a copy of what you send, including any names you give me,
sits in that mailbox. If you reply to the confirmation, that reply goes
there too.
</p>
<p>
The confirmation sent to you is delivered to whoever runs your email.
@@ -250,56 +238,67 @@ const COLLECTED = INTAKE_FIELDS.map((field) => field.label);
than necessary for that purpose.
</p>
<p>
Emails are a separate matter. The notification sits in my mailbox and
the confirmation sits in yours, and neither is deleted by that
mechanism.
Emails are a separate matter. The notification sits in the practice's
mailbox and the confirmation sits in yours, and neither is deleted by
that mechanism.
</p>
<h2>Who can see it</h2>
{
/* ⚠️ FIVE PARAGRAPHS ANSWER "WHO CAN SEE IT" AND THEY CHANGE
TOGETHER: this section's four — the count, the measured enumeration,
the two narrow credentials, the three copies — and §Where it is
stored's last one. Every defect here has been a partial sweep of that
set, and there have been four.
**The enumeration paragraph is the one that goes stale on its own**,
because it is a claim about the present state of an AWS account: §12
**R21** is its trigger, and
/* ⚠️ THESE NINE PARAGRAPHS ANSWER "WHO CAN SEE IT" AND THEY CHANGE
TOGETHER — by opening phrase, because every defect here has been a
partial sweep and a COUNT is what drifts. **This section:** "The
account's administrators can", "The access itself is measured", "Two
things in the system are narrower", "There are therefore three
copies". **§Where it is stored, all four:** "In a DynamoDB table",
"Two companies therefore process it", "The confirmation sent to you",
"No one else is sent it". **§How long it is kept:** "Emails are a
separate matter".
**NO HUMAN HEADCOUNT SHIPS** — Pouya, 2026-09-02: the simulation
counts identities, not people. Say "the account's administrators".
**TWO CLAIMS GO STALE ON THEIR OWN**, both about the present state of
systems outside this repo: the AWS enumeration and who reads
`info@smlcompany.ca`. Their durable homes are `AGENTS.md` §7's two
rows and §12 **R21** claims (i)(v), which is the trigger for both;
`docs/reference/intake-table-access-verification.md` holds the
commands. `check-claims.mjs`'s `sole-administrator-q62` pattern is a
permanent bar on the old shape returning (Pouya, ruled 2026-09-01). */
}
{
/* TODO(pouya): TWO THINGS, BOTH FOR YOUR READ-THROUGH — §9 Q63.
(1) APPROVE THE WORDING BELOW. Your ruling settled what it must say;
you reserved the wording. Nothing else gates it.
(2) WHO ELSE CAN READ `info@smlcompany.ca`? The paragraph below says
"anyone who can reach that mailbox", which is true whatever the
answer — but §7 records the mail host and the SES identities and NOT
the mailbox's access list, so this repository cannot state the
number a reader of a privacy policy is entitled to. If the Workspace
is administered by anyone else, or the address is a shared alias,
say so and this becomes specific like the table sentence above it.
Raised by `claims-auditor` and `adversarial-reviewer`, D20 cutover
pass, 2026-09-02. */
commands. **§9 Q63 is closed — the live gate is Q64.**
`check-claims.mjs`'s `sole-administrator-q62` pattern bars the OLD
false shape permanently and is blind to both. */
}
<p>
Two people can. The table sits in an Amazon Web Services account that
also runs systems unrelated to this practice, and that account has two
administrators — me, and one other person who administers it with me.
Administrative access to the account carries the ability to read the
table, so both of us can read what you send. I would rather tell you
that than give you the tidier answer.
The account's administrators can — me, and the small number of people
who administer it with me. The table sits in an Amazon Web Services
account that also runs systems unrelated to this practice, and
administrative access to that account carries the ability to read the
table. That is who can read the stored record; who reads the
notification email is a separate question, answered in the last
paragraph of this section.
</p>
<p>
No one outside those two people has been granted access to the table,
and that is measured rather than assumed: every user and every role in
the account was simulated against this table, and the only ones that
come back able to read it lead to those same two people. Amazon Web
Services operates the table, as <em>Where it is stored</em> above says —
The access itself is measured rather than assumed: every user and
every role in the account was simulated against this table, and every
identity that comes back able to read it is reachable only by those
administrators. The account has no single sign-on and no federated
login configured, and the table carries no policy of its own granting
access to anyone. The account's root credential — the one path no
policy constrains — has no programmatic key, and I hold it. Amazon Web
Services operates the table, as <em>Where it is stored</em> above says:
a company that runs a database is not someone who has been given access
to it, and both of those are true at once.
</p>
{
/* TODO(pouya): DOES ANYONE ELSE HOLD THE ROOT PASSWORD OR ITS MFA
DEVICE? `AGENTS.md` §9 **Q64**. You attested that you hold it
(Q63(c)) and the paragraph above ships your words — *"has no
programmatic key, and I hold it"* — which is true whether or not
somebody else holds it too. ⚠️ **But it sits one paragraph below "the
small number of people who administer it with me", and a reader takes
it as SOLE custody.** Nothing measured establishes that: root is not
an IAM principal, cannot be simulated, and `get-account-summary`
reports only that there is no access key and that MFA is on. If it is
sole custody, say so and §12 R21 arms it; if it is not, the possessive
comes out. One line either way. `adversarial-reviewer`, round 1. */
}
<p>
Two things in the system are narrower than I am, and they are worth
stating because they are the part you cannot check for yourself. The
@@ -310,23 +309,21 @@ const COLLECTED = INTAKE_FIELDS.map((field) => field.label);
writing.
</p>
{
/* ⚠️ THREE COPIES, NOT TWO, AND THE THIRD IS THE READER'S OWN. This
said "the one other place a copy exists" and named only my mailbox —
while the handler puts the whole submission into the confirmation it
sends the inquirer, under "What you sent:" (the second
`SendEmailCommand` in `backend/intake/handler.mjs`). So a copy sits
with the reader's provider, which §Where it is stored already tells
them. An absolute enumeration standing one section from the page's
own counter-example is what Q62 was; this is the same shape and it
was introduced by Q62's own fix. Found by `claims-auditor`. */
/* ⚠️ THREE COPIES, NOT TWO, AND THE THIRD IS THE READER'S OWN: the
handler puts the whole submission into the confirmation it sends the
inquirer, under "What you sent:" (the second `SendEmailCommand` in
`backend/intake/handler.mjs`). Do not write "the one other place a
copy exists" — an absolute enumeration standing one section from the
page's own counter-example is what Q62 was. */
}
<p>
There are therefore three copies of what you send. The record in the
table, which the two people above can read. The notification in my own
mailbox, which is on Google Workspace — so Google holds a copy of
whatever you sent me, and so does anyone who can reach that mailbox.
And the confirmation that went to you, which sits with whoever runs
your email; that copy is in your hands rather than mine.
table, which the account's administrators can read. The notification,
which lands in the practice's mailbox — read by me and by
administrative staff — on Google Workspace, so Google holds a copy of
whatever you sent me. And the confirmation that went to you, which
sits with whoever runs your email; that copy is in your hands rather
than mine.
</p>
<h2>Cookies and analytics</h2>