אבטחה ואמון
כל הצהרה בדף הזה מסומנת בסטטוס שלה ומקושרת למסמך במאגר הקוד. במקום שבו משהו לא הושלם, כתוב כך.
אפס שמירת מידע (ZDR)
מה מאומת
- 1.1
אפס כתיבה יזומה לדיסק
שום נתיב קוד בשער אינו כותב קלט גולמי, פלט ממוסך או טבלת מיפוי לדיסק, ללוג או למסד נתונים. הקונטיינר רץ עם מערכת קבצים לקריאה בלבד ו-/tmp בזיכרון. נמדד: 200 בקשות עמוסות מידע אישי מול הקונטיינר המוקשח, כולן שוחזרו במלואן, עם דלתא של אפס בייטים שנכתבו על ידי התהליך; אותה בדיקה רצה ב-CI בכל שינוי.
- 1.2
מחיקה בסיום הבקשה
טבלת המיפוי נמחקת מהזיכרון עם סגירת הזרם, עם רשת ביטחון של תוקף שמתחדש בפעילות ותקרה אבסולוטית למודלי חשיבה ארוכים.
- 1.3
באפרים בשליטתנו נדרסים
כל באפר גולמי שהאפליקציה מחזיקה נדרס באפסים מיד לאחר החתימה על ה-Attestation.
- 1.4
קבלה קריפטוגרפית על כל תגובה
הכותרת X-zer0pii-Attestation היא חתימת Ed25519 על גיבובי הבקשה הגולמית והממוסכת, הניתנת לאימות עצמאי מול ה-JWKS המפורסם. היא מעידה על הגיבוב ועל דריסת הבאפרים שבשליטת האפליקציה.
מה לא מובטח בסביבת הריצה הנוכחית
- עותקים חולפים שיוצר ה-runtime של Python (שרת ה-ASGI, מפענח ה-JSON, מנוע ה-regex) משוחררים לאיסוף הזבל אך אינם מאופסים פיזית באופן מיידי.
- מיטיגציות ברמת מערכת ההפעלה (נעילת זיכרון, ביטול swap, חסימת core dumps, מערכת קבצים לקריאה בלבד) מצמצמות את החשיפה אך אינן מאפסות אותה. ניצול מחייב קריאת זיכרון של התהליך החי, כלומר תוקף שכבר מריץ קוד על המארח.
- סגירה מלאה של הפער מתוכננת ל-data plane עתידי (ליבת Rust עם איפוס דטרמיניסטי, או enclave חומרתי עם attestation ברמת הסיליקון). עד אז, כל ניסוח של "דריסת RAM" מתייחס לבאפרים שתוארו למעלה ולא מעבר לכך.
מסמך ההיקף גובר על כל ניסוח שיווקי, כולל הדף הזה.
מקור: docs/ZDR-SCOPE.md
ארכיטקטורה בקצרה
שער שמדבר בפורמטים של OpenAI, Anthropic ו-Gemini יושב בין הכלים שלכם לספק. שכבה דטרמיניסטית תופסת מזהים בעלי צורה קבועה; שכבה סמנטית מזהה שמות, ארגונים ומקומות. תגיות המקום נגזרות מגיבוב עם מפתח בהיקף השיחה, כך שמטמון הפרומפטים של הספק ממשיך לעבוד ואי אפשר לשחזר מהתגיות את הערכים. תוסף הדפדפן מריץ את השכבה הדטרמיניסטית במכשיר לפני שהפרומפט יוצא מהדף.
קוד מוגן ממיסוך בתכנון: שמות משתנים, חבילות ותחביר נשארים כמות שהם, ורק סודות קשיחים בתוך קוד ממוסכים. ההגנה הזאת מונעת זיהויים שגויים; היא אינה מחסום מפני עובד שמפצל ערך במכוון בין משתנים.
מקור: docs/ZDR-SCOPE.md, docs/dev-tools/README.md
SOC 2
zer0pii פועלת להשגת דוח SOC 2 Type II בהיקף Security ו-Confidentiality. ההיקף הוחלט ועבודת המוכנות מתקדמת. עדיין אין דוח, לא מובטח כאן תאריך, ו-zer0pii אינה מציגה את עצמה כעומדת ב-SOC 2 לפני שגוף מוסמך מנפיק דוח.
מקור: docs/compliance/soc2-readiness-plan.md
הסכם עיבוד מידע (DPA)
תבנית DPA שנכתבה כך שכל הצהרה טכנית בה תואמת לקוד ולמסמך ההיקף זמינה לסקירת יועץ משפטי. בקשו אותה מהדף המשפטי; היא מוצעת אחרי סקירה משפטית, לא לפניה.
לבקשת ה-DPAמקור: docs/legal/dpa-template.md
ספקי משנה
הרישום הוא המסמך במאגר הקוד; זהו החלק המאומת שלו. שורה מופיעה רק כשאפשר להצביע על הספק בקוד או בתצורה.
| ספק משנה | מטרה | המידע שהוא מקבל | סטטוס |
|---|---|---|---|
| OpenAI | ספק LLM במעלה הזרם, נבחר על ידי הלקוח בכל בקשה | טקסט ממוסך; מפתח הספק של הלקוח במעבר | מאומת |
| Anthropic | ספק LLM במעלה הזרם, נבחר על ידי הלקוח בכל בקשה | טקסט ממוסך; מפתח הספק של הלקוח במעבר | מאומת |
| Google (Gemini API) | ספק LLM במעלה הזרם, נבחר על ידי הלקוח בכל בקשה | טקסט ממוסך; מפתח הספק של הלקוח במעבר | מאומת |
| כל נקודת קצה תואמת OpenAI שהלקוח מגדיר | ספק LLM במעלה הזרם | טקסט ממוסך; מפתח הספק של הלקוח במעבר | מאומת כמנגנון; הספק הוא של הלקוח |
| Amazon Web Services, S3 | דלי ייצוא SIEM בבעלות הלקוח | מטא-דאטה בלבד (מזהי אירועים, תוויות, ספירות, מפתח מגובב), לעולם לא טקסט | מאומת, לבחירת הלקוח |
| מקלט ה-SIEM webhook של הלקוח | העברת CEF ברמת מפעיל | מטא-דאטה בלבד | מאומת כמנגנון; כבוי אלא אם הוגדר |
| ספק הזהות של הלקוח | כניסת SSO ואספקת SCIM | נתוני חשבון (אימייל של חבר צוות, תפקידים) | מאומת כמנגנון; ספק הזהות הוא של הלקוח |
| ממסר SMTP | אימייל קישור קסם והזמנות | נתוני חשבון (כתובת הנמען, הקישור) | מאומת כמנגנון; שם הספק ימולא על ידי הבעלים |
| פלטפורמת האירוח של השער והקונסולה | מריצה את ה-data plane וה-control plane | טקסט גולמי בזיכרון בלבד; טקסט ממוסך, מטא-דאטה ונתוני חשבון | מאומת כ-Dokploy על VPS יחיד; ספק התשתית והאזור יאושרו על ידי הבעלים |
| Stripe | רכישה עצמאית ו-webhooks של תוכנית | נתוני חשבון בלבד (מזהה ארגון, אימייל הבעלים); פרטי כרטיס מוזנים בדפי Stripe | מאומת כמנגנון; כבוי אלא אם הוגדר |
| ספק דף הסטטוס המתארח | דף סטטוס ציבורי, דוגם בדיקה ציבורית | אף אחת מהקטגוריות למעלה: שם מארח, קוד סטטוס, זמן תגובה | מומלץ; בדיקת חשבון ממתינה |
רק ספקי ה-LLM מקבלים טקסט בכלל, ומה שהם מקבלים ממוסך. שום ספק משנה אינו מקבל טקסט גולמי.
מקור: docs/compliance/subprocessor-list.md
דוח שקיפות
פורמט הדוח הרבעוני מתפרסם לפני המהדורה הראשונה: בקשות ממשלתיות ומשפטיות, אירועים שנחשפו, שינויים בספקי משנה, זמינות כפי שמתפרסמת בדף הסטטוס, וסיכום ה-attestation של אפס שמירת המידע. בהחלטה, הוא אינו כולל שיעורי שגיאה ולא נתונים לפי לקוח.
לתבנית (נתיב במאגר הקוד): docs/transparency-report-template.md
כיסוי הזיהוי
מה המנוע מחפש, במילים פשוטות. המספרים נמצאים בדוח הדיוק השבועי שנשמר במאגר הקוד, לא בדף הזה, כי מספר כלל-מערכתי ייקרא כהבטחה לגבי הטקסט שלכם.
מזהים בעלי צורה קבועה (שכבה דטרמיניסטית, עם ספרת ביקורת היכן שקיימת)
- כתובות אימייל
- מספרי טלפון, כולל מפרידים לא סדירים
- מספרי זהות לאומיים: תעודת זהות ישראלית, US SSN, UK NINO, מספר מס גרמני, NIR צרפתי, DNI/NIE ספרדי, codice fiscale איטלקי, ועוד
- מספרי כרטיסי תשלום, IBAN, SWIFT/BIC, חשבונות בנק ישראליים, מספרי מע"מ
- כתובות IP
- סודות ענן וספקים (AWS, OpenAI, Anthropic, GitHub, Slack), מפתחות פרטיים, סיסמאות בתוך מחרוזות חיבור, סודות בעלי אנטרופיה גבוהה
ישויות בטקסט חופשי (שכבה סמנטית)
- שמות אנשים
- ארגונים
- מקומות וכתובות
שפות שהשכבה הסמנטית נמדדת עליהן
- עברית
- אנגלית
- ערבית
- גרמנית
- צרפתית
- ספרדית
מגבלות ידועות מתועדות ולא מוסתרות: ערך שנראה כמו תעודת זהות אך נכשל בספרת הביקורת נשאר כמות שהוא בתכנון; ערך שעובר ספרת ביקורת של שתי מדינות מסומן לפי החוק הראשון; טקסט שמתאר פורמט של מספר עשוי להיות ממוסך כאילו היה ערך; חלק מערכי הזהות הלאומית נופלים לתווית טלפון.
מיקום הדוח השבועי במאגר הקוד: docs/accuracy/
קטלוג הישויותמקור: docs/ENTITY-CATALOG.md, docs/known-limitations/masking-mislabels.md, docs/accuracy/
דיווח אחראי על פגיעויות
מצאתם פגיעות? כתבו לתיבת האבטחה. תארו מה מצאתם ואיך לשחזר; אל תכללו מידע אישי אמיתי בדיווח. אנחנו מאשרים כל דיווח ומעדכנים עד לסגירתו.
security@zer0pii.com