שיעור 2: ארכיטקטורה של מוצר AI — שלושה גבולות שמגנים על האפליקציה
תרחיש אמיתי מסוגו: סטארטאפ מקבל חשבון של $14,000 בחודש אחד מאנתרופיק — כי ה-API key היה ב-React. גבולות ארכיטקטוניים נכונים הם לא רק 'best practice' — הם מה שמפריד בין פרויקט ייצור לפרויקט פגיע.
גבול ארכיטקטוני הוא כמו דלת עם מנעול. בצד אחד — המשתמש. בצד השני — הנתונים הרגישים. ה-key תמיד נשאר מאחורי הדלת.
- auth boundary
- הגבול בין בקשות אנונימיות (anon key) לבין בקשות מאומתות (JWT). אחרי הגבול הזה, המשתמש מזוהה.
- data boundary
- הגבול שבו RLS אוכף מי רשאי לראות איזה נתון — ברמת ה-database, לא ברמת React.
- AI boundary
- הגבול שמגן על ה-API keys של ה-LLM. Keys של Anthropic/Gemini חייבים להיות בצד השרת (Supabase edge function) — לעולם לא ב-React.
- anon key
- מפתח ציבורי של Supabase שמאפשר לבצע פעולות לא-מאומתות. בטוח לשמור ב-client כי RLS מגן על הנתונים.