אמון ואבטחה
מפקידים בידיכם כסף של אנשים אחרים. העמוד הזה הוא מה שעומד מאחורי זה — ההבטחות שהתוכנה נותנת, ואלה שהיא לא.
הבדיקה יושבת ביומן, לא במסך. תשלום, עמלה או תיקון שיורידו בעלים מתחת לאפס נדחים מכל כיוון שהם מגיעים — כולל קריאה ישירה לפעולת שרת.
קאוציו נרשם ככסף שחייבים לדייר. הוא מוחרג מהיתרה הניתנת לחלוקה, ולכן אי אפשר למשוך אותו, להעביר אותו או לספור אותו כהכנסה.
תשלום תופס את הכספים שלו לפני הרישום, כך ששני אישורים במקביל לא יכולים להוציא את אותו הכסף פעמיים.
היומן הוא append-only. רישום שגוי מבוטל ברישום הפוך ושניהם נשארים גלויים — ההיסטוריה היא הרשומה, ואי אפשר לשכתב אותה בשקט.
מנהל מערכת ומנהל מפעילים את הארגון. חשבון של בעלים רואה את הדוחות של בעלים אחד; חשבון של דייר רואה שכירות אחת — מה הוא חייב, על מה חויב ומה התקבל — ולא כלום על הבניין, על הדירות האחרות בו או על הבעלים שלו. כל עמוד וכל פעולה בודקים מחדש את התפקיד לפני שהם קוראים או כותבים משהו; הסתרת פריט בתפריט היא אף פעם לא ההגנה.
הרשמה פותחת ארגון חדש, והנרשם הוא מנהל המערכת שלו. היא לעולם לא מצרפת אותו לארגון קיים: כל משתמש בארגון נוצר מתוך הארגון, בידי מנהל מערכת, וזהות מאומתת שאין לה משתמש נדחית בכניסה — ולא נפתח לה חשבון אוטומטית.
חשבון של בעלים מוגבל לבעלים שלו. כתובת, יתרה או פרטי בנק של בעלים אחר אינם הרשאה שאפשר לתת בטעות.
Firebase App Hosting באזור europe-west4, מעל Google Cloud. נתוני בעלים ודיירים לא יוצאים מגבולות האיחוד.
חברת הניהול היא בעלת השליטה בנתוני הדיירים והבעלים שלה, ו־Propertly היא המעבדת. ייצוא ומחיקה זמינים לבקשה, והסכם עיבוד נתונים מצורף לחוזה.
PostgreSQL מנוהל עם גיבוי יומי אוטומטי, ושבעת הגיבויים האחרונים נשמרים. שחזור לנקודת זמן אינו מופעל היום, ולכן שחזור מחזיר את מסד הנתונים לגיבוי הלילי האחרון ולא לרגע שרירותי.
הכול ניתן לייצוא בזמן שאתם לקוחות וגם אחרי שתפסיקו להיות כאלה. אין נעילה מכוונת בפורמט.
דיווחי אבטחה נקראים באותו יום. כתבו לנו מה מצאתם ואיך לשחזר, ותנו לנו הזדמנות לתקן לפני שזה מגיע למקום אחר.
הביאו חודש אחד של קובץ בנק ובעלים אחד. חצי שעה אחר כך תדעו אם זה מתאים — ואם לא, נגיד לכם.