pdf-quiz-generator/backend/app
Daniel 7f1f14537b Security: fix SQL injection, add rate limiting, markdown in TeachChat
- teach.py, questions.py: replace f-string SQL with parameterized CAST(:vec AS vector) queries
- auth.py: add reusable check_rate_limit() Redis helper
- teach.py: rate limit /chat to 30 req/10min per user
- tts.py: rate limit /speak to 60 req/hr per user
- teach.py: stronger system prompt — no clarifying questions, use markdown, answer directly
- TeachChat.jsx: render assistant messages with ReactMarkdown (already in package.json)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 00:45:28 +02:00
..
models TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00
routers Security: fix SQL injection, add rate limiting, markdown in TeachChat 2026-04-04 00:45:28 +02:00
schemas Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
services Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
tasks TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00
utils Security: fix SQL injection, add rate limiting, markdown in TeachChat 2026-04-04 00:45:28 +02:00
__init__.py Initial commit: PDF Quiz Generator app 2026-03-30 20:04:53 +00:00
config.py Major platform update: pgvector search, multi-provider TTS, settings page, CLI 2026-03-31 18:03:10 +02:00
database.py Major platform update: pgvector search, multi-provider TTS, settings page, CLI 2026-03-31 18:03:10 +02:00
main.py TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00