Hamza-Ayed and Claude Opus 5
c9b4d14da6
Route account lookups through the blind index and keep it fresh on write
...
These are the paths that must stop depending on deterministic encryption
before storage can move to AES-GCM. Each keeps its original ciphertext
comparison in the same statement, so behaviour is unchanged today and no
account becomes unreachable during the transition.
Lookups:
- auth/login.php — passenger sign-in matched the raw value against the
encrypted column, which only works because encryptData() is CBC with a
fixed IV.
- auth/passenger/register.php and auth/driver/register.php — duplicate
detection. Without the index these would stop detecting existing accounts
under GCM and allow the same phone to register twice.
Writes now populate the index in the same statement as the value:
- both registration paths write phone/email/name indexes with the row;
driver indexes are computed before the encryption pass, since the raw
values are unavailable afterwards.
- passenger profile update and admin driver update refresh the index when
the underlying field changes. For the composite name index the untouched
half is read back from the row.
Adds --audit to the backfill script: recomputes every index from its
encrypted value and reports missing or stale entries. Drift here is silent
by nature — it surfaces only when a real search fails.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-07-25 16:04:40 +03:00
Hamza-Ayed
c35b350b31
Update: 2026-07-23 16:56:57
2026-07-23 16:56:58 +03:00
Hamza-Ayed
699b380f2b
Update: 2026-07-21 20:58:30
2026-07-21 20:58:30 +03:00
Hamza-Ayed
3d0c266b7a
Update: 2026-07-21 20:55:19
2026-07-21 20:55:20 +03:00
Hamza-Ayed
23f697b1c6
Update: 2026-07-21 19:43:50
2026-07-21 19:43:51 +03:00
Hamza-Ayed
1bec13634a
Update: 2026-07-21 19:34:29
2026-07-21 19:34:29 +03:00
Hamza-Ayed
0ee3655c05
Update: 2026-07-21 19:31:02
2026-07-21 19:31:02 +03:00
Hamza-Ayed
4f47c0ad1d
Update: 2026-07-21 19:28:08
2026-07-21 19:28:08 +03:00
Hamza-Ayed
f3905bcb2c
Update: 2026-07-21 19:24:57
2026-07-21 19:24:57 +03:00
Hamza-Ayed
1103f6ffcf
Update: 2026-07-21 19:22:23
2026-07-21 19:22:23 +03:00
Hamza-Ayed
0351bffafc
Update: 2026-07-21 19:19:15
2026-07-21 19:19:15 +03:00
Hamza-Ayed
096f6a13a0
Update: 2026-07-21 19:15:57
2026-07-21 19:15:57 +03:00
Hamza-Ayed
ebd6f3734a
Update: 2026-07-21 19:09:42
2026-07-21 19:09:42 +03:00
Hamza-Ayed
085b180bdb
feat: implement secure OTP-based payout workflow with dynamic fee calculation and improved authentication checks
2026-07-19 01:51:39 +03:00
Hamza-Ayed
27200013ac
Update: 2026-07-12 17:22:40
2026-07-12 17:22:40 +03:00
Hamza-Ayed
5fb2c25504
Update: 2026-07-10 13:41:34
2026-07-10 13:41:34 +03:00
Hamza-Ayed
be6e5bed92
Update: 2026-07-10 03:07:55
2026-07-10 03:07:55 +03:00
Hamza-Ayed
87dc925ea7
Refactor(Auth): Complete auth folder restructuring, security patches, and Flutter endpoint updates
2026-07-09 05:22:05 +03:00
Hamza-Ayed
45859883a5
Update: 2026-07-09 05:02:10
2026-07-09 05:02:10 +03:00
Hamza-Ayed
2152d34a8e
fix: resolve stale price display in driver ratings and remove misleading discount UI in rider ratings
2026-07-09 04:48:19 +03:00
Hamza-Ayed
628e169552
Update: 2026-07-07 04:57:50
2026-07-07 04:57:51 +03:00
Hamza-Ayed
05d047d871
Update: 2026-07-02 05:27:04
2026-07-02 05:27:05 +03:00
Hamza-Ayed
2da943e745
Update: 2026-06-29 15:29:28
2026-06-29 15:29:29 +03:00
Hamza-Ayed
b8a817fc9c
Update: 2026-06-29 01:12:38
2026-06-29 01:12:38 +03:00
Hamza-Ayed
0af4eed1ce
Update: 2026-06-29 01:10:32
2026-06-29 01:10:32 +03:00
Hamza-Ayed
d695a4e812
Update: 2026-06-29 00:07:33
2026-06-29 00:07:33 +03:00
Hamza-Ayed
2da78ccd8e
Update: 2026-06-28 19:52:45
2026-06-28 19:52:45 +03:00
Hamza-Ayed
f9f6890b26
Update: 2026-06-28 00:42:25
2026-06-28 00:42:26 +03:00
Hamza-Ayed
f428946b30
Add tester passenger creation script
2026-06-27 23:09:04 +03:00
Hamza-Ayed
3326756dc3
Add tester driver creation script
2026-06-27 23:01:38 +03:00
Hamza-Ayed
7497bdcfae
Update: 2026-06-27 05:07:43
2026-06-27 05:07:43 +03:00
Hamza-Ayed
f069f2b24f
Update: 2026-06-27 04:58:21
2026-06-27 04:58:21 +03:00
Hamza-Ayed
a6738079a2
Update: 2026-06-27 04:23:48
2026-06-27 04:23:49 +03:00
Hamza-Ayed
8993aa0a6b
Update: 2026-06-27 04:21:17
2026-06-27 04:21:17 +03:00
Hamza-Ayed
0c5088fd6d
add ai_data + user_input to driver table, status=pending_review, save raw Gemini response
2026-06-25 16:54:21 +03:00
Hamza-Ayed
75e4524329
fix upload: parse nested message.url, backup retries=1, connect.php auth
2026-06-25 04:30:52 +03:00
Hamza-Ayed
0b9e5dfa03
remove random suffix from uploaded filenames: now {driverID}_{imageType}.{ext}
2026-06-25 04:21:58 +03:00
Hamza-Ayed
f5a5ffc10c
Update: 2026-06-25 03:58:15
2026-06-25 04:00:27 +03:00
Hamza-Ayed
5b5033b110
Update: 2026-06-25 03:56:11
2026-06-25 03:58:30 +03:00
Hamza-Ayed
4f4958defb
Update: 2026-06-25 03:51:57
2026-06-25 03:55:10 +03:00
Hamza-Ayed
6db2ece2ce
Update: 2026-06-25 03:43:29
2026-06-25 03:43:29 +03:00
Hamza-Ayed
89c1348f08
Update: 2026-06-25 03:28:59
2026-06-25 03:28:59 +03:00
Hamza-Ayed
0671388e15
Update: 2026-06-25 00:05:45
2026-06-25 00:05:45 +03:00
Hamza-Ayed
262d882bfe
Fix loginFromGooglePassenger to support passengerID request body fallback during first-time registration login flow
2026-06-25 00:02:38 +03:00
Hamza-Ayed
5f431b4f19
Fix loginFromGooglePassenger id mapping fallback to sub when user_id is new
2026-06-24 23:52:32 +03:00
Hamza-Ayed
c9d07f91fe
Fix loginFromGooglePassenger verification constraint
2026-06-24 23:51:06 +03:00
Hamza-Ayed
cca16053da
Fix OTP verification success response payload and restore deterministic encryptData
2026-06-24 23:24:41 +03:00
Hamza-Ayed
2ee3a14c6d
Fix OTP verification success response payload and restore deterministic encryptData
2026-06-24 23:11:24 +03:00
Hamza-Ayed
7b0283473e
Fix timezone bug in request.php using MySQL DATE_ADD and clean up EncryptionHelper
2026-06-24 23:03:45 +03:00
Hamza-Ayed
12dfb25629
Update: 2026-06-24 22:56:39
2026-06-24 22:56:39 +03:00