Protection Policy Generator: adversarial review (Opus, 2026-09-25)
Files reviewed: sources/protection-policy/rules.yaml, clause-library.yaml, test-cases.yaml, open-questions.md. The source files were not edited.
Method: 10 WebFetch calls, all by direct URL. WebSearch was not available. Two of the documents came back as binaries: the Ontario e-Laws Word exports (/laws/docs/17c14_e.doc, /laws/docs/21f39_e.doc) and the King's Printer and NS Legislative Counsel PDFs. I extracted those locally with pdftotext or a raw text decode and read the statute text myself, so the excerpts below are verbatim from the official consolidations, not from a model's summary.
Counts: 5 critical, 9 major, 9 minor.
What I verified (primary source, verbatim)
| Item | Result |
|---|---|
| ON CYFSA s.125(1)-(12), full text from the e-Laws .doc (amendments through 2024, c. 17) | Every rules.yaml excerpt for ON-01 to ON-07 is accurate. |
| ON s.125(6)(c) reads "a religious official;" and nothing more | Confirmed. The CORRECTION in ON-05 is right, and blocking "including a priest, a rabbi and a member of the clergy" is correct. |
| ON s.125(4): under 16 mandatory; 16-17 permissive | Confirmed. The permissive tier is limited to paras 1-11 or a prescribed circumstance. |
| ON s.125(3), the non-delegation clause | Confirmed verbatim. |
| ON s.125(7): a volunteer is excluded from "youth and recreation worker" | Confirmed. |
| ON s.125(9): fine up to $5,000 | Confirmed. |
| ON CYFSA "child" = "a person younger than 18" | Confirmed from the .doc (definition text only). |
| BC CFCSA s.1: "child" means a person under 19 years of age and includes a youth | Confirmed. Open question A.4 can be closed. |
| BC s.13(1)(a)-(l) and s.14(1), (1.1), (3), (6) | Confirmed. The s.14(6) penalty is $10,000 and/or 6 months. |
| AB CYFEA (consolidation current to 26 Mar 2026): "child" = under 18 incl. youth; s.1(2)(a)-(h); s.1(3)(c); s.4(1)-(6) | All AB excerpts are accurate. s.4(6) imprisonment is a true alternative, not "in default of payment" (unlike s.86, which I checked as a control). |
| NS CFSA (to 9 Apr 2026): "child" = under nineteen; ss.23, 24(2), 24(6) | NS-01 excerpts are accurate. Also found s.25 "Duty to report third-party abuse", which rules.yaml omits (see M-03). |
| CWIG clergy PDF (2023): "Approximately 29 States and Guam", "approximately 16 States, Puerto Rico, and the Virgin Islands", current only through May 2023, privilege "not absolute … typically interpreted narrowly" | Confirmed. |
| CRA s.6.3(1) "vulnerable person" definition and s.6.3(3)(a)-(b) | Confirmed. The definition sits in s.6.3(1), which closes open question D.16. The rules misquote it (see M-07). |
| ON FLTCA s.28(1)-(7) | Confirmed. s.28(5) offence class: the licensee/manager, corporate officers and directors, committee or board members, staff, and professional service providers in health, social work or social services work. Volunteers are not listed. Closes open question C.11. |
| BC Adult Guardianship Act s.46(1): "Anyone who has information … may report" | Confirmed permissive. |
| AB Protection for Persons in Care Act s.7(1), (5), s.8(1), s.24(2) | Confirmed mandatory for every individual, with an offence and a fine up to $10,000 (see C-05). |
What I could not verify
- NL, QC, MB, SK, NB, PE, YT, NT and NU text. None was fetched, so they remain unverified and REFER stays right for them.
- Ontario Retirement Homes Act s.75.
- The full verbatim CRA s.6.3(2), (5)-(8). WebFetch returned a summary only; see the note under M-07.
- BC s.14(2), (4) and (5) verbatim. The fetch returned (1), (1.1), (3) and (6) only. The earlier session reported (2), (4) and (5) as verbatim, and I found no contrary evidence.
- Any provincial or State hotline number, the CDC 2007 guide, and Volunteer Canada's pages. I did not re-fetch these.
CRITICAL
C-01: BC and AB clauses let a volunteer rely on someone else's report
- Where: BC-03, AB-03 notes, C-11-DUTY-BC, C-11-DUTY-AB; enforced by TC-06 and TC-09
must_contain. - Problem: Both clauses say "Make the report yourself, or confirm that the report to the director has actually been made and record who made it and when." This is exactly the "a supervisor can report on your behalf" pattern. A volunteer tells the coordinator, the coordinator says "done", and the volunteer records that and stops. The statutes put the duty on "a person who has reason to believe" (BC) and "any person who has … grounds" (AB), and no clause in either Act excuses a person because someone else reported. The CA-OTHER and US clauses already say "you report it yourself", so BC and AB are the only generated jurisdictions that are weaker.
- Source: BC s.14(1): "a person who has reason to believe that a child … needs protection under section 13 must promptly report the matter to a director" (bclaws 96046_01). AB s.4(1): "Any person who has reasonable and probable grounds to believe that a child is in need of intervention shall forthwith report the matter to (a) a director, or (b) a police officer" (c12.pdf). AB s.4(6): "Any person who fails to comply with subsection (1) is guilty of an offence".
- Fix: Replace the sentence with: "Make the report yourself. Do not rely on anyone else, including a church leader, to make it for you." Label the non-delegation part "this church's rule", which satisfies BC-03's "not stated as statutory law". Then update the TC-06 and TC-09
must_containlines and add "or confirm that the report" to theforbiddenlists.
C-02: Code of conduct and online-communication clauses send abuse concerns only to the coordinator
- Where: C-04-CODE-OF-CONDUCT, C-09-ONLINE (and RP-01/RP-06).
- Problem:
- C-04 says to "report any concern about another adult's behaviour, including 'grooming' behaviour … to the Safeguarding Coordinator."
- C-09 says a concerning message is "saved and shown to the Safeguarding Coordinator the same day."
- Neither clause mentions section 11, the agency, or 911.
- The most likely church scenario, a leader grooming a child, is therefore routed through the coordinator. That is the very thing ON s.125(3) forbids, and "same day" contradicts "immediately" (ON) and "forthwith" (AB).
- A message disclosing imminent harm, such as an adult meeting a child tonight or self-harm, gets a same-day timeline with no 911.
- Source: ON s.125(3): "A person who has a duty to report … shall make the report directly to the society and shall not rely on any other person to report on the person's behalf." ON s.125(1): "shall immediately report".
- Fix: Add to both clauses: "If what you see or receive gives you reason to suspect a child is being abused or is at risk, follow section 11 now: you report directly to the child-protection agency. If anyone is in immediate danger, call 911. Then tell the Coordinator." Add a test that C-04 and C-09 contain "section 11" and "911".
C-03: No police step when the suspected abuser is a church worker; ON/BC/AB duties are caregiver-framed and the clauses hide that
- Where: C-10-DISCLOSURE, C-11-DUTY-ON/BC/AB, AB-02 notes.
- Problem:
- All three statutes define the reportable harm around the parent, guardian or person having charge. Harm by a third party (for example a church volunteer) is reportable only where the caregiver fails, or is unable or unwilling, to protect.
- The AB-02 note ("the guardian's inability to protect is itself a ground") overstates this. If the parents are protective, s.1(2)(e) is not met.
- C-11-DUTY-ON paraphrases the harms with no caregiver link, so it states the law too broadly.
- The clauses list a police non-emergency number but never tell the volunteer when to call police. C-10 says only "Follow section 11 now". RP-09's "police if a crime" did not make it into the clause text.
- Result: for sexual abuse by a youth leader, the child-protection agency may decline its mandate and the policy gives no instruction to go to police.
- Source:
- ON s.125(1) para 3: "sexually abused or sexually exploited by the person having charge of the child or by another person where the person having charge of the child knows or should know … and fails to protect the child."
- BC s.13(1)(c): "physically harmed, sexually abused or sexually exploited by another person and if the child's parent is unwilling or unable to protect the child."
- AB s.1(2)(d)-(e): "…by the guardian of the child; (e) the guardian of the child is unable or unwilling to protect the child from physical injury or sexual abuse."
- Fix:
- Add to C-10 and to every C-11: "If the person you suspect is a church staff member, volunteer or anyone other than the child's parent or caregiver, report to both the child-protection agency and the police. The agency may tell you it is a police matter; call the police in either case. (Church policy; the statutes' reportable circumstances centre on parents and caregivers.)"
- Fix the C-11-DUTY-ON paraphrase to keep "by the person having charge of the child, or where that person fails to protect".
- Correct the AB-02 note.
- Add a test requiring "and the police" in C-10.
C-04: The Ontario clause does not say "don't tell the parents or the suspected person first", and no test forbids it
- Where: C-10-DISCLOSURE, C-11-DUTY-*, test-cases (all).
- Problem: C-10 forbids contacting "the person they named", but nowhere tells the volunteer not to inform the parents or family before reporting. A volunteer's instinct is to call the parents, and where a parent is the abuser (the core of every statute's definition), that warns the abuser and endangers the child. No
forbiddenlist covers "tell the parents", "contact the family first", "wait until you are sure" or "check with the pastor before calling". - Source: The same caregiver-framed definitions as C-03, for example ON s.125(1) para 1: "physical harm inflicted by the person having charge of the child".
- Fix:
- Add to C-10: "Do not tell the child's parents or family, or anyone who might warn the person suspected, before you report. The agency or police decide who is told and when."
- Add global forbidden phrases: "tell the parents first", "inform the parents before", "contact the family before reporting", "until you are sure", "check with the pastor before", "investigate before reporting".
- These are policy-level: label them recommended practice.
C-05: Alberta vulnerable adults: the PPCA imposes a mandatory duty on every individual, backed by an offence, and the clause routes the volunteer only to the coordinator
- Where: VA-AB-01, C-12-VA-AB, TC-11.
- Problem: VA-AB-01 is marked "NOT VERIFIED" and the clause "does not state its rule". The clause's operative instruction is "report … to {{safeguarding_coordinator_name}} the same day, and to police where a crime is suspected". But PPCA s.7 puts a personal duty on every individual, to a complaints officer or police, and failing to comply is an offence with a fine of up to $10,000. A volunteer at an Alberta lodge who follows the policy (tells the coordinator only) commits an offence.
- Source: PPCA (Alberta King's Printer, current as of 18 Dec 2025):
- s.7(1): "every individual who has reasonable grounds to believe that there is or has been abuse involving a client shall report that abuse … (a) to a complaints officer, (b) to a police service, or (c) to a committee, body or person authorized under another enactment to investigate such abuse."
- s.7(5): "An individual who fails to comply with subsection (1) is guilty of an offence."
- s.8(1): "must be made as soon as reasonably practicable."
- s.24(2)(a): "in the case of an individual, to a fine of not more than $10 000".
- Fix:
- Promote VA-AB-01 to verified
lawusing the quotes above. - C-12-VA-AB must state the duty: it is personal, goes to a complaints officer or police, is due as soon as reasonably practicable, and telling the coordinator does not replace it.
- Note s.24(1): knowingly false or malicious reports, or reports made without reasonable grounds, are an offence. The church rule should therefore say "reasonable grounds to believe", not "any suspicion".
- Update TC-11, which currently requires "does not state its rule".
- Promote VA-AB-01 to verified
MAJOR
M-01: BC and NS define "child" as under 19, but the policy's scope and youth band stop at 17
- Where: C-02-DEFINITIONS ("this policy applies to everyone under 18 regardless of the legal cut-off"), C-08 "(ages 13-17)", BC-02 notes, TC-06 (forbids "under 19").
- Problem: "Regardless of the legal cut-off" implies the legal cut-off is 18 or lower. In BC and NS an 18-year-old youth-group member is a legal "child", and the reporting duty applies. A BC volunteer reading C-02 could conclude an 18-year-old is outside both the policy and the duty.
- Source: BC CFCSA s.1: "'child' means a person under 19 years of age and includes a youth". NS CFSA s.3(1)(e): "'child' means a person under nineteen years of age". AB s.1(1)(d): "a person under the age of 18 years".
- Fix:
- State the verified ages: ON under 18 (duty mandatory under 16), BC under 19, AB under 18.
- Change C-02 to "everyone under 18, or under the legal age in {{province_or_state}} if that is higher".
- Drop "under 19" from the TC-06 forbidden list and require it instead.
M-02: TC-20's no-invented-hotline check applies only to Ontario
- Where: TC-20; the global invariants.
- Problem: The "no fabricated phone number" guard ("1-800-", "310-1234") runs only for CA-ON. A BC policy printing an unverified "310-1234" would pass TC-06; so would AB or US policies with invented numbers.
- Fix: Move the forbidden number patterns into
global_invariants.must_not_contain, plus a regex check that no digit sequence other than "911" appears in a C-11 or C-12 clause.
M-03: NS s.25 (third-party abuse, under 16) is omitted, and it is the most church-relevant NS duty
- Where: NS-01, the C-11-DUTY-CA-OTHER notes, TC-12.
- Problem: NS-01 cites ss.23-24 only. Section 25 separately requires every person to report abuse of a child under 16 by a person other than a parent or guardian, which covers church volunteers and staff. This is exactly the gap C-03 describes for ON/BC/AB, and NS closes it in statute.
- Source: NS CFSA s.25(2): "Every person who has information, whether or not it is confidential or privileged, indicating that a child under the age of sixteen (a) has or may have suffered abuse; … by a person other than a parent or guardian shall forthwith report the information to an agency." s.25(1)(b): "is sexually abused by a person other than a parent or guardian of the child or by another individual where the person, not being a parent or guardian of the child, with the care of the child knows or should know of the possibility of sexual abuse and fails to protect the child".
- Fix: Add s.25 to NS-01 and to the {{provincial_statute_name}} fill for NS ("ss. 23-25"). With s.22(2) the only item still open, NS is close to promotion.
M-04: The global test invariants contradict the vulnerable-adult-only cases
- Where:
global_invariants.must_contain, TC-05, TC-08, TC-11, TC-17, TC-21. - Problem: The invariants require "If a child is in immediate danger, call 911" and "{{local_child_protection_agency_name}}" in every case. The scoping comment "# children/youth cases" is not machine-readable. Adults-only policies exclude C-11 (TC-05 lists C-11-DUTY-ON as excluded), so neither string appears. Either the harness fails all five VA cases, or someone relaxes the invariants and silently disables the 911 check everywhere.
- Fix: Split the invariants into
when: ministry_type in [children, youth]andwhen: vulnerable_adults(the latter requiring "If a vulnerable adult is in immediate danger, call 911"). Make the conditions machine-readable.
M-05: The forbidden-phrase tests are exact-substring matches and easy to evade
- Where: TC-19, global
must_not_contain, C-11-DUTY-ONmust_not_contain. - Problem:
- TC-19 forbids "gather evidence". The clause itself contains
gather "evidence", and the check passes only because of the quote marks. "Collect evidence", "find out what happened first", "speak to the child in detail" and "interview the child's friends" would all pass. - The global list has "report to your supervisor, who will report" (with a comma), while the C-11-DUTY-ON list has "report to your supervisor who will" (without). A small paraphrase ("tell your leader, who will contact CAS") passes both.
- No test asserts that the clauses tell a volunteer they need not be certain, and none forbids "once you are sure" or "if you have proof".
- TC-19 forbids "gather evidence". The clause itself contains
- Fix:
- Add a normalised (punctuation-stripped) match.
- Add a regex family:
(supervisor|leader|pastor|coordinator|elder)[^.]{0,40}(will|shall|can) (report|call|contact), andinvestigat\w* (first|before),(until|once) you are (sure|certain),proof. - Make these global.
M-06: C-12-VA-ON leaves out that volunteers are not in the FLTCA offence class, and the s.28(4) confidentiality override covers only professionals
-
Where: VA-ON-01 (marked "not fully captured"), C-12-VA-ON.
-
Problem: The full s.28(5) is now verified, so open question C.11 can close. The clause's duty statement is correct: s.28(1) binds "a person", including volunteers. Two points are missing:
- The s.28(4) confidentiality override and liability protection apply only to regulated health professionals, social workers and prescribed persons. They do not cover a lay volunteer or a pastor.
- The failure-to-report offence does not apply to lay volunteers.
Neither changes what a volunteer does. But the clause's "Other settings" rule ("report … to {{safeguarding_coordinator_name}} the same day") could be read as applying to LTC too.
-
Source: FLTCA s.28(5): "The following persons are guilty of an offence if they fail to make a report required by subsection (1): 1. The licensee … 4. A staff member. 5. Any person who provides professional services to a resident in the areas of health, social work or social services work." s.28(4): "subsection (1) also applies to a person mentioned in paragraph 1, 2 or 3 [RHPA College members; OCSWSSW members; prescribed persons]".
-
Fix: In C-12-VA-ON, say explicitly: "In a long-term care home you report directly to the Director yourself, immediately; telling the Coordinator does not replace it." Update VA-ON-01 with the full s.28(5).
M-07: The CRA s.6.3 "vulnerable person" definition is truncated, and the "position of trust or authority" condition is missing
- Where: CA-SCREEN-01 excerpt, VA-ALL-01 excerpt, C-02-DEFINITIONS, C-03-SCREENING-CA.
- Problem:
- The excerpt marked verbatim stops at "otherwise at a greater risk than the general population". The statute continues "of being harmed by a person in a position of trust or authority towards them". C-02 says it "tracks" the CRA wording, but it broadens the definition.
- C-03 omits s.6.3(3)(a): the check is available only where "the position is one of trust or authority towards that child or vulnerable person".
- C-03 describes s.6.3 as verifying "whether the applicant has a record of a listed sexual offence, including one for which a record suspension (pardon) was granted". Section 6.3 concerns only the notation of Schedule 2 offences. The ordinary conviction search and local-police information in a VSC come from other authority. Only a summary of s.6.3(2) was returned, so this point is flagged for a second verbatim read.
- Source: CRA s.6.3(1), from the laws-lois.justice.gc.ca fetch: "a person who, because of his or her age, a disability or other circumstances, whether temporary or permanent, (a) is in a position of dependency on others; or (b) is otherwise at a greater risk than the general population of being harmed by a person in a position of trust or authority towards them." s.6.3(3): "…if (a) the position is one of trust or authority towards that child or vulnerable person; and (b) the applicant has consented in writing to the verification."
- Fix: Quote the full definition. Add "for a position of trust or authority" to C-03. Reword the check as "shows whether the applicant has a record for a listed sexual offence even if a record suspension (pardon) was granted", and re-verify s.6.3(2) verbatim.
M-08: The US clause offers "or to police" as an equal alternative, which may not discharge a State mandated-reporter duty
- Where: C-11-DUTY-US.
- Problem: "You report it yourself, promptly, to the State child abuse hotline … or to our local child protective services agency … or to police". Since the policy states no State rule, it should not suggest that reporting only to police satisfies the duty.
- Fix: "Report to the State hotline or CPS; also call police if a crime is suspected or the child is in danger."
M-09: The vulnerable-adult and CA-OTHER REFER clauses break the tests' own label rule
- Where:
global_invariants.label_rules("no clause with label REFER states … a 'must report' rule as fact"), C-12-VA-ON, C-11-DUTY-CA-OTHER. - Problem: C-12-VA-ON (label REFER) quotes FLTCA "shall immediately report" as law. C-11-DUTY-CA-OTHER (label REFER) states "Every province and territory in Canada has a law requiring people to report". If the harness enforces the rule, these fail. If it doesn't, the rule is dead text.
- Fix: Either give C-12-VA-ON a mixed label (LAW for the LTC paragraph, REFER for the rest), or restate the label rule as "no REFER clause states a jurisdiction-specific rule that rules.yaml marks unverified". Also note that the CA-OTHER "requiring people to report … abused or neglected" sentence is broader than Québec's rule for non-professionals as QC-01 describes it (unverified).
MINOR
- m-01 (C-11-DUTY-ON): "The full list of thirteen circumstances". s.125(1) has 15 numbered items (1-13 plus 4.1 and 4.2). Say "the full list of circumstances".
- m-02 (C-11-DUTY-ON): "A person who reports in good faith is protected". The statute's test is objective: "no action … unless the person acts maliciously or without reasonable grounds for the suspicion" (s.125(10)). Use the statute's words.
- m-03 (C-11-DUTY-ON): The "(24 hours)" claim for the CAS was not verified this session. Drop it, or make it part of what the church fills in.
- m-04 (C-11-DUTY-BC): "'Reason to believe' is a low threshold" is an interpretive claim under a LAW label. Replace it with "You do not need proof."
- m-05 (C-11-DUTY-CA-OTHER): "promptly" is weaker than NS "forthwith" (s.23(1)) and NL "immediately". Use "immediately".
- m-06 (clause-library header): The variable list omits
{{screening_renewal_years}}and{{provincial_statute_name}}, so the "must not invent values" guard doesn't cover them.{{provincial_statute_name}}is sourced from the clausenotes, not from a rules.yaml field. Add astatute_display_namefield to rules.yaml. - m-07 (C-12-VA-*): "Report any suspicion … to police where a crime is suspected" for any vulnerable adult overrides a capable adult's own choice. Add "with the adult's consent where they are capable, unless someone is in danger". For AB, see C-05 re s.24(1).
- m-08 (C-11-DUTY-ON, 16-17): The church-policy requirement to report 16-17-year-olds should also say "and call police or 911 if the youth is in danger". CAS involvement with 16-17-year-olds is largely voluntary.
- m-09 (open-questions.md): Now resolved and should be updated: A.4 (BC is under 19, AB is under 18, both verified), A.5 part (BC s.13 grounds verified, see M-01/C-03), C.11 (FLTCA s.28(5) complete), C.14 (BC AGA permissive "may"; AB PPCA mandatory), D.16 (the definition is in s.6.3(1)). The ON-05 "religious official" correction is confirmed against the current consolidation (2024, c. 17, s. 5 in force 01/07/2024).
Items checked and found correct (no finding)
- ON s.125(3) non-delegation is quoted correctly, and C-11-DUTY-ON uses the statute's words.
- ON $5,000 penalty and the s.125(8) corporate-officer offence are correct. The $1,000 CFSA penalty is correctly forbidden.
- ON 16-17 permissive wording is correct, and TC-02 enforces it.
- The ON "reasonable grounds to suspect" standard is correct.
- ON clergy coverage is correct. "Religious official" is the current wording, and treating lay leaders conservatively is appropriate.
- BC $10,000 / 6 months / both is correct, and so is the AB $10,000 / 6 months / both (as a true alternative).
- AB police officer as an alternative recipient: correct.
- 911 appears first in every C-11 and C-12 clause. It is missing only from C-04 and C-09 (C-02).
- US content states no State rule as fact, and the national counts are accurate and caveated.
- Recommended-practice clauses all carry the "Recommended practice, not law" banner.
- The Ontario vulnerable-adult "no general duty" claim is appropriately hedged.