BillOS מחזיקה ספרי חשבונות של עסקים אחרים. זו אחריות שמתחילה במבנה, לא במדיניות: מה שאסור לשנות חסום במנוע, מה שסודי חתום, ומה שנשמר לשבע שנים נעול מפני מחיקה.
TLS על כל חיבור ו-HSTS על כל תשובה. ה-API עונה רק על הדומיין שלו, כך ששום נתיב אחר לא נחשף תחת המותג.
מפתחות API נשמרים כגיבוב בלבד, ולעולם לא מוצגים שוב. סודות Webhooks ומפתחות החתימה חתומים ב-AES-256-GCM תחת מפתח ראשי שמחוץ למסד הנתונים.
הספר והמסמכים מגובים לילה לילה למיקום שני עם Object Lock, שבו גם מפתח שדלף לא יכול למחוק. תקופת הנעילה מכסה את חובת השמירה כולה.
מה שבנוי לתוך השירות, ולא רק כתוב בו.
מסמך שהופק, הוצאה שנרשמה, ה-PDF החתום ויומן הביקורת חסומים לעדכון ולמחיקה בטריגרים במנוע PostgreSQL. החסימה תופסת גם קוד עתידי וגם גישה ישירה למסד. תיקון הוא תמיד רשומה חדשה, מקושרת.
תעודת X.509 ייעודית לכל עסק, מונפקת מ-CA פנימי שמפתחו חתום תחת המפתח הראשי. חתימת PAdES על ה-ByteRange: שינוי בבייט אחד מפר אותה. תעודת ה-CA ציבורית לאימות.
היקפים (scopes) לכל מפתח, 60 קריאות בדקה, ומגבלת כניסות כושלות לכל כתובת IP לפני שמגיעים למסד. מפתח לעולם לא מנפיק את היורש שלו: רוטציה רק מהקונסול, מאחורי אימות SMS.
כתובות פנימיות נדחות ברישום, והשם נפתר שוב בזמן השליחה: כתובת שמובילה לרשת פרטית נכשלת סגורה. החתימה בסגנון Stripe מאפשרת לכם לאמת כל משלוח.
מפתח בדיקה עונה ממסד נתונים אחר לגמרי, בלי CA, בלי מייל ובלי רשות המסים. סנדבוקס שמצביע על מסד ה-live נדחה כבר בחיבור.
הקונסול של המייסדים דורש חשבון Google מאושר ואימות SMS בכל כניסה, בודק הרשאה מול מסד הנתונים בכל בקשה, ורושם כל פעולה ביומן ביקורת לפני שהיא עונה.
מסד הנתונים והשירות רצים על Railway, והארכיון הנעול על Backblaze B2. הרישום ברשות המסים מתייחס לתוכנה ולמבנה הספר, לא למיקום השרת.
נשאר. אין קשר גומלין בין חשבון המשתמש לרשומות הספר, ומחיקת חשבון לא מוחקת מסמך שהופק. חובת השמירה היא שבע שנים מתום שנת המס, והנעילה בארכיון ארוכה מזה.
מורידים את תעודת ה-CA מ-api.billos.co.il/ca.pem ובודקים את החתימה בכל קורא PDF שתומך ב-PAdES. הפרטים בתעודת העסק: שם העסק ומספר העוסק.
info@hanoo.co.il עם הנושא Security. אנחנו עונים לכל דיווח, ולא נוקטים בצעדים נגד חוקר שפועל בתום לב ובלי לפגוע בנתונים של אחרים.