TELSPAY DATA-PROTECTION ACCEPTANCE RECOVERY — v2026.4.4

CAUSE
-----
The application code expects:
  1. member_registration_applications.data_protection_consent_id
  2. member_data_protection_consents

If they are absent, mysqli::prepare() returns false. Older code then called
bind_param() on that boolean result and produced a fatal error.

DEPLOYMENT ORDER
----------------
1. Back up the production database and application files.

2. Replace this file on the server:
   registration/services/RegistrationService.php

3. In phpMyAdmin, select the exact database used by the member application.
   Import these SQL files in this order:

   a. database/member_app_operational_security_upgrade_2026_4_0.sql
   b. database/data_protection_consent_repair_2026_4_4.sql

4. Run:
   database/member_app_operational_security_postcheck_2026_4_0.sql

The final two SELECT statements in the v2026.4.4 repair and every applicable
v2026.4.0 post-check must return PASS.

5. Clear the browser registration session, sign in again, open registration,
   tick all six data-protection acknowledgements and select Accept and continue.

IMPORTANT
---------
- Do not import the repair into a different or test database by mistake.
- Do not remove the data-protection gate.
- Do not create the table manually with a different schema.
- The updated PHP logs the real MySQL preparation error privately and returns a
  safe administrator message instead of exposing database details to members.
