Supabase Auth boundary
Source-enforced
PrepAI uses Supabase Auth as the only account source. The backend rejects malformed, expired, unsigned, and wrong-signature JWTs.
Proof: backend/app/middleware/supabase_auth.py and backend/tests/unit/test_auth_security_contract.py