אבטחה ותאימות
- אסימוני גישה הם JWT קצרי חיים (15 דקות) שמאומתים בשער ה-API; אסימוני רענון חיים 30 יום של חוסר פעילות ו-90 יום לכל היותר, מוחלפים בכל שימוש ונשמרים בעוגייה מסוג HttpOnly, Secure ו-SameSite. שימוש חוזר באסימון רענון שהוחלף מבטל את כל השרשרת.
- מפתחות החתימה מוחלפים כל 90 יום עם חפיפה; המפתחות הציבוריים מתפרסמים בכתובת
/.well-known/jwks.json. - ההרשאות אינן מוטמעות באסימונים: הן נקראות בכל בקשה, כך ששינוי תפקיד נכנס לתוקף מיד, וכל סשן ניתן לביטול באופן מרכזי.
- אימות דו-שלבי (TOTP) יכול להיות אופציונלי, חובה לבעלים ולמנהלי מערכת, או חובה לכולם. כניסה יחידה עם Google Workspace ו-Apple זמינה בכל תוכנית. SAML 2.0, Passkeys והקצאה דרך SCIM מתוכננים ועדיין אינם זמינים.
- מפתחות API מוצגים פעם אחת, נשמרים כגיבוב SHA-256, ההיקפים שלהם מקטלוג סגור, הם מוגבלים להרשאות הבעלים שלהם וניתנים לביטול מיידי. ראו אימות.
- ההתחברות מוגבלת בקצב לכל IP ולכל אימייל; עשרה ניסיונות כושלים נועלים את החשבון ל-30 דקות; ניסיונות כושלים מכתובת IP אחת נספרים ונרשמים, אך כברירת מחדל אינם חוסמים אותה. כל התחברות, כשל, רענון, שינוי הרשאה ופעולת ניהול נרשמים ביומן הביקורת.
בידוד דיירים
Section titled “בידוד דיירים”כל שורה בכל שירות נושאת את החשבון שהיא שייכת אליו, וכל שאילתה מסוננת לפיו אוטומטית; כיבוי המסנן דורש קריאה מפורשת שנמצאת ברשימת היתרים, שמשמשת רק לפעולות צוות חוצות-דיירים ומכוסה בבדיקות. תפקידים ברמת אתר מוסיפים מעל זה מסנן אתר. בקשה למשאב של חשבון אחר עונה 404, לעולם לא 403, כדי שאי אפשר יהיה למנות מזהים. כל נקודת קצה של כתיבה משתמשת ברשימת היתרים מחמירה של שדות. בדיקת גישה בין חשבונות היא חובה לכל נקודת קצה חדשה.
הכותרת X-Account-Id בכל בקשה נבדקת מול האסימון, כך שבאג בלקוח או אסימון שנשלח שוב לעולם לא יוכלו לקרוא בשקט נתונים של דייר אחר.
TLS 1.2 ומעלה לכל נקודת קצה ציבורית, TLS הדדי בין שירותים, TLS לכל מאגר נתונים, כרכים מוצפנים במנוחה, והצפנת מעטפה לכל חשבון עבור שדות רגישים. תעודות ציבוריות מונפקות ומחודשות אוטומטית; תעודות פנימיות קצרות חיים.
כל הסודות, כולל מפתחות הספקים שלכם (BYOK) וסודות webhook, נמצאים במנהל סודות ייעודי, מוצפנים, בהיקף לכל שירות ומבוקרים. שום דבר אינו נמצא בבקרת הגרסאות (נאכף בסריקה לפני כל commit) או בתמונות קונטיינר (נבדק ב-CI). למפתחים אין גישה לסודות של סביבת הייצור כברירת מחדל; גישת חירום דורשת שני אישורים, קצרת מועד ונרשמת לערוץ שאי אפשר להשתיק.
Webhooks
Section titled “Webhooks”משלוחים יוצאים חתומים ב-HMAC-SHA256 על חותמת הזמן והגוף הגולמי, נושאים nonce ומזהה אירוע, נדחים מחוץ לחלון של חמש דקות, ומנוסים שוב עם השהיה עד לתור הודעות מתות. סודות מוחלפים עם חלון חפיפה וניתנים לביטול מיידי. webhooks נכנסים מספקים מאומתים לפי השיטה של כל ספק לפני שמשהו מעובד. פרטים: Webhooks.
הגבלת קצב
Section titled “הגבלת קצב”ארבע שכבות: הגנה מפני DDoS ובוטים ברשת הקצה, מגבלות לכל IP ב-reverse proxy, דליי אסימונים לכל חשבון ולכל זהות בשער ה-API, ומגבלות תחום בתוך השירותים. המגבלות מפורטות בסקירת ה-API.
ביקורת
Section titled “ביקורת”כל שינוי נכתב ליומן ביקורת להוספה בלבד ומשורשר בגיבוב, עם שתי מחלקות שמירה: אירועים כלליים ואירועי ציות (בקשות של נושאי מידע, פריצות, מעבדי משנה ורשומות KYC). המחלקה נקבעת בעת כתיבת הרשומה; איש אינו יכול לערוך או למחוק את היומן, וניקוי אוטומטי לפי מחלקה עדיין אינו פועל. בעלים ומנהלי מערכת יכולים לסנן ולייצא אותו. סיסמאות, אסימונים ומפתחות לעולם אינם נרשמים; שכבת הרישום מסתירה מפתחות רגישים ידועים.
הגנת מידע
Section titled “הגנת מידע”- בקשות של נושאי מידע לפי GDPR, UK GDPR, CCPA ו-LGPD (גישה, ייצוא, מחיקה) מתקבלות ונעקבות במסוף הציות עם מועדי יעד. את המחיקה מבצעים עובדי RolChat, והבקשה נסגרת רק לאחר שהם מאשרים אותה; מחיקה אוטומטית בכל המודולים עדיין אינה זמינה.
- מיקום הנתונים: הנתונים מאוחסנים באיחוד האירופי. האזור אינו נבחר לפי מדינה בעת ההרשמה; הגדרת האזור בהגדרות החשבון רק נשמרת ואינה מעבירה נתונים עדיין.
- שמירה לפי תוכנית: שנה, שנתיים או שלוש. מחיקת שיחה או איש קשר מסתירה אותם עד תום התקופה; מחיקת חשבון היא בקשה שאפשר לבטל בתוך 30 יום, ולאחריה העובדים מוחקים את הנתונים; חשבון שלא שולם נשמר 90 יום ואז נמחק. הניקוי האוטומטי שאוכף את התקופות האלה נמצא בהפצה.
- הסכם עיבוד נתונים, רשימת מעבדי משנה, מדיניות פרטיות ומדיניות עוגיות מתפרסמים ב-rolchat.com; הסכם עיבוד הנתונים מאושר בהרשמה.
- הודעה על פריצה בתוך 72 שעות כנדרש בסעיף 33 של GDPR.
ניהול פגיעויות
Section titled “ניהול פגיעויות”התלויות מנוטרות ברציפות; קובצי נעילה נשמרים במאגר; תמונות בסיס מקובעות לפי digest; פעולות CI מקובעות לפי commit. מבחן חדירות של צד שלישי מתוזמן מדי שנה החל מהבטא, ומכסה את ה-API, הווידג’ט והעמודים הציבוריים, וכן תרחיש פנימי שמניח פריצה. תוכנית bug bounty פרטית תגיע בזמינות הכללית. דווחו על בעיות אבטחה אל security@rolchat.com.
זמינות
Section titled “זמינות”הפלטפורמה רצה על כמה צמתים עם מעבר אוטומטי בכשל לשירותים חסרי מצב ושכפול מנוהל למסדי הנתונים. יעדי הזמינות לפי תוכנית נקבעים בהסכם שלכם.
תגובה לאירועים
Section titled “תגובה לאירועים”ספרי הפעלה לכל שירות, תורנות כוננים, מערכת איתור חיצונית שעובדת גם כשהתשתית שלנו לא, והתחייבויות להודיע ללקוחות שמובנות בתהליך.