אבטחה ושמירת מידע

העמדה הטכנית כפי שהיא בפועל — כולל מה שעדיין אין לנו — ותקופות השמירה שהקוד באמת אוכף.

גרסה 2026-07-26-draft.1עודכן 2026-07-26

טיוטה לבדיקת יועץ משפטי. אינה ייעוץ משפטי.

1.אחסון הקבצים

  • דלי האחסון אינו ציבורי ולעולם לא היה. אין כתובת ישירה לקובץ.
  • כל בייט מוגש דרך שרת שלנו, שבודק שהמפתח שייך לחשבון המבקש. המפתחות הם מזהים אקראיים, אבל הבדיקה אינה נשענת על כך שקשה לנחש אותם — היא בודקת בעלות בספר האובייקטים.
  • כל אובייקט שנכתב נרשם. אובייקט שאיש אינו מפנה אליו אינו נשאר לנצח על חשבון מישהו — הוא נאסף.
  • מסד הנתונים לעולם אינו מחזיק בייטים של תמונה, רק מפתח. אילוצי גודל במסד דוחים כתיבה כבדה במקום לבלוע אותה.

2.מסד הנתונים

  • אבטחת שורה מופעלת על הטבלאות בלי אף מדיניות, ולכן אין קורא אנונימי או מזוהה — רק תפקיד השירות של האפליקציה.
  • כל רשומה נושאת מזהה חשבון, וטריגר בידוד דוחה רשומה שמנסה להשתייך לחשבון אחר. בעבר ברירת מחדל בעמודה גרמה לכך שכל אובייקט נרשם על החשבון הראשון; ברירות המחדל הוסרו כדי שהשמטה תיכשל ברעש ולא בשקט.
  • פונקציות רגישות מוגדרות עם נתיב חיפוש קבוע, ופעולות תור ננעלות בשורה כדי ששני עובדים לא יבצעו את אותה עבודה פעמיים.

3.זהות וסשן

  • סיסמאות נשמרות כגיבוב scrypt (N=16384, r=8, p=1, אורך 64) עם מלח ייחודי לכל משתמש, והשוואה בזמן קבוע.
  • הסשן חסר מצב וחתום ב‑HMAC‑SHA256; החתימה מכסה את כל השדות, כך שהמחזיק אינו יכול לערוך את החשבון או את התפקיד שלו. אין טבלת סשנים לגנוב.
  • תוקף הסשן 30 ימים, והתוקף עצמו חתום בתוך האסימון.
  • בקשות POST ממקור חיצוני נדחות, כדי שאתר אחר לא יוכל לבזבז את התקציב שלכם דרך העוגייה שבדפדפן שלכם.

4.בקרות כסף

  • תקרת הוצאה יומית עמידה במסד הנתונים, ומכסה חודשית לפי התוכנית.
  • מפתח ייחודיות לכל עבודה, כך שלחיצה חוזרת אינה קונה קליפ שני, וזיכוי מתבצע פעם אחת בדיוק.
  • מתג עצירה גורף שמפסיק כל יצירה מיידית. הכניסה למערכת אינה תלויה בו — זהות אינה הוצאה, ולא נכון לנעול משתמשים בחוץ בדיוק כשמושכים את הבלם.

5.תקופות שמירה

אלה הפרמטרים שרצים בפועל, לא הצהרה. משימת התחזוקה פועלת לפחות אחת לשעה כשאין עבודה בתור.

מהכמה זמן
אובייקטים שאיש אינו מפנה אליהם168 שעות
עותקי גיבוי של מסד הנתונים (R2 + Backblaze B2)90 יום
עותק המראה של הקבצים ב‑Backblaze B2כל עוד הקובץ קיים אצלנו
שורות עבודה שהסתיימו30 יום
יומן העריכות730 יום
נוסח הנחיהכל עוד יש שורת יומן שמפנה אליו
מונה ניסיונות התחברות כושלים24 שעות
עוגיית התחברות30 ימים
מענה לבקשת מימוש זכות30 יום
מידע לאחר סיום ההתקשרות30 ימים

6.איך מחיקה עובדת

מסד נתונים אינו יכול למחוק קובץ מהאחסון, ולכן מחיקה היא שני שלבים: הרשומה מוסרת, ואז הסוחף מוחק את הבייטים. הסדר הזה מכוון — אם התהליך נופל באמצע, נשאר קובץ יתום שאפשר לאסוף; הסדר ההפוך היה משאיר רשומה שמצביעה על כלום, וזה נראה בדיוק כמו אובדן מידע.

מחיקת נכס מפילה את הקבצים שלו ומשחררת את האובייקטים לאיסוף באותה תנועה.

7.יומנים

יומני הבקשות נשמרים אצל ספקי האירוח לפי מדיניותם. מוני הגבלת הקצב לפי IP חיים בזיכרון התהליך בלבד ואינם נכתבים לשום מקום. כשמתועד אישור מסמך נשמר גיבוב HMAC של הכתובת, לא הכתובת.

8.מה עדיין אין לנו

עמוד אבטחה שמזכיר רק את מה שקיים אינו שימושי למי שצריך להעריך סיכון, ולכן:

  • אין לנו תעודת SOC 2 או ISO 27001, ואיננו מצהירים שיש.
  • לא בוצעה בדיקת חדירה חיצונית פורמלית, ואין תוכנית באג באונטי.
  • הגבלת הקצב היא לכל מופע בנפרד והיא נשענת גם על כותרת שהלקוח שולט בה; ההגנה האמיתית על הכסף היא תקרת ההוצאה במסד.
  • אין הצפנה בצד הלקוח: אנחנו יכולים לקרוא את הקבצים שלכם, כי אנחנו צריכים לעבד אותם.
  • אין הרשאות מפורטות מעבר לתפקידי בעלים, מנהל וחבר.

9.דיווח על פרצה

מצאתם חולשה? כתבו ל‑{{SECURITY_EMAIL}}. אנחנו מבקשים שלא לפרסם לפני שניתנה לנו הזדמנות סבירה לתקן, ומתחייבים שלא לנקוט צעדים נגד מי שדיווח בתום לב. אירוע שנוגע למידע של לקוח יימסר ללקוח ללא שיהוי בלתי סביר לאחר שנדע עליו.

{{LEGAL_ENTITY}}, {{REGISTERED_ADDRESS}} · פרטיות: {{PRIVACY_EMAIL}}.

מה עדיין חסר בעמוד הזה

אלה עובדות שאיש מלבד בעל המוצר אינו יכול לספק. הן מוצגות כסימון גלוי בתוך הטקסט ולא כשדה ריק — שדה ריק נראה כאילו המסמך הושלם.

{{LEGAL_ENTITY}}
השם הרשום המלא של החברה המתקשרת
{{REGISTERED_ADDRESS}}
הכתובת הרשומה של החברה
{{PRIVACY_EMAIL}}
כתובת אימייל לענייני פרטיות
{{SECURITY_EMAIL}}
כתובת לדיווח על פרצת אבטחה