דלגו לתוכן הראשי

תנוחת אבטחה

נבנה למען אמון, לא למען ראווה

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

נבדק לאחרונה:

איך עובדת ההתחברות

אנחנו מתייחסים לסיסמה שלך כסוד שאנחנו לא רואים אף פעם בטקסט גלוי, שומרים את ה-hash החזק ביותר שהמפרט מאפשר, ומסובבים refresh tokens כך שעוגייה גנובה לא תשרוד מעבר לסשן שממנו באה.

  • סיסמאות מבוצעות hash עם argon2id (פרופיל RFC 9106 m=19 MiB). Hashים ישנים של bcrypt משודרגים שקופית בהתחברות הבאה — בלי איפוסים כפויים.
  • סשנים משתמשים במשפחות refresh-token מתחלפות. אם משחזרים טוקן גנוב, כל המשפחה מתבטלת והמכשיר הלגיטימי חייב להזדהות מחדש — בלי פשרה שקטה.
  • נעילת חשבון להגדרה אחרי כישלונות חוזרים. מתנקה אוטומטית בהתחברות נכונה ראשונה, כך ששגיאת הקלדה לא תנעל אותך בחוץ.
  • התחברות עם Apple והתחברות עם Google משתמשות ב-OpenID Connect ישיר — goia_api מתחבר בעצמו ל-Apple ול-Google, ללא מתווך אימות צד-שלישי בנתיב. אנו מקבלים רק את מזהה הספק במקור, את כתובת האימייל שלך ואת דגל האימות — לעולם לא את סיסמת הספק שלך.

אבטחת התחברות

כל התחברות עוברת דרך גורם שני. כל התחברות ממכשיר חדש מתריעה אליך. הורים נשארים מעודכנים עבור מתחת ל-18 בלי ששום דבר אחר ידלוף.

  • אימות דו-שלבי בכל התחברות: קוד בן 6 ספרות במייל, חלון 30 יום למכשירים מהימנים.
  • התראת מייל בזמן אמת כשניגשים לחשבון ממכשיר חדש: סוג, עיר ומדינה מקורבים, זמן. הקשה מבטלת את המכשיר ומאלצת איפוס סיסמה.
  • התחברויות של מתחת ל-18 ממכשירים חדשים מתריעות גם להורים בתא שלהם. שקוף: קטינים רואים בהגדרות אילו הורים מחוברים.
  • קודי גיבוי: 8 קודי שימוש-יחיד בהגדרה הראשונה, נגישים מהגדרות → אבטחה, ניתנים לחידוש לפי דרישה. נתיב התאוששות כשהגישה למייל אבדה.
  • אחסון סיסמאות: argon2id, ה-hash הקשה-בזיכרון התקני בתעשייה. אסימוני מכשיר מהימן מופרדים מאסימוני סשן.
  • אימות מוגבל: 5 קודים שנכשלים מפעילים נעילה של 15 דקות.

כשמשהו נראה חשוד

אם התחברות מגיעה ממדינה שלא ראינו בחשבונך ב-30 הימים האחרונים, אנחנו שולחים אימייל. באימייל יש 'זה לא הייתי אני' בלחיצה אחת שמבטל את הסשן ומוביל אותך ישירות לאיפוס סיסמה.

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

רק אפליקציות אמיתיות

תעבורת מובייל מאומתת כמגיעה מהתקנת ConKarma אמיתית על מכשיר אמיתי. ניסיונות curl-מול-ה-API נדחים בעדינות — וזה מה שמשטח API ישר צריך לעשות.

  • Firebase App Check ב-iOS וב-Android. הטוקן נדרש בכל קריאת API מהמובייל.
  • TLS pinning במובייל דרך המניפסט החתום ב-/.well-known/mobile-pins.json. פינים חדשים נחתמים במפתח לא מקוון ומסובבים בחלון חפיפה של שישה שבועות — כדי שעדכון לא ינעל אף אחד בחוץ.

תכונות 18+ אסורות לאנליטיקה

ל-ConKarma שני אזורים: אזור Serene (כל מה שמשפחתי) ואזור Ember (תכונות 18+). דפי Ember בכוונה אינם מפעילים אירועי אנליטיקה של צד שלישי. אנחנו אוספים מוני Prometheus מצטברים בצד השרת לקיבולת ו-uptime; ולא מעבר לכך.

  • משטחי 18+ (דייר, תשוקות, פנטזיות, יומנים אינטימיים, הכספת הפרטית) לעולם לא טוענים Google Analytics.
  • פתיחת ביומטריה נדרשת לכניסה למשטחי Ember באפליקציה. המערכת תעבור timeout ותינעל מחדש אם תחליף אפליקציות.
  • שומר צילומי המסך מסתיר תוכן Ember ממחליף האפליקציות של מערכת ההפעלה ומכל overlay של הקלטת מסך.
  • הפעלת אזור-מבוגרים לפי-מכשיר: ברירת מחדל דלוקה במכשיר הראשי שלך, כבויה בכל אחד אחר. אתה בוחר במפורש לפי מכשיר, והבדיקה בצד-השרת נכשלת-סגור.
  • בקשה מחדש בחוסר פעילות: הבריח הביומטרי נופל אחרי 5 דקות של חוסר פעילות בתוך Ember, או 30 שניות של שהייה ברקע. שני התקציבים ניתנים להגדרה מהגדרות → פרטיות.
  • איפוס מטמון בזיכרון: כשאתה חוצה מ-Ember בחזרה ל-Serene (או מעביר את האפליקציה לרקע), כל תמונה שמורה במטמון נזרקת מהזיכרון — הגנה לעומק נגד כלי בדיקת-זיכרון.
  • הוצאה מ-Spotlight, Apple Intelligence, ו-AppIntents: שום תוכן מבוגרים לעולם לא נתרם ל-Spotlight, ל-LLM שבמכשיר, ל-AppIntents, ל-Smart Stack, או לווידג'טים של מסך הנעילה.
  • גישת מנהל בשתי עיניים: אף אדם ב-XTZ Group לא יכול לקרוא תוכן אזור-מבוגרים באופן חד-צדדי — כל דריסה דורשת אישור חתום של מנהל שני, הנכתב ליומן ביקורת בלתי ניתן לשינוי.
  • שמירת מבוגרים ל-3 שנים הניתנת להגדרה: שורות אזור-מבוגרים נמחקות אוטומטית אחרי 3 שנים כברירת מחדל. החלון ניתן להגדרה על ידי המשתמש (90 יום עד 10 שנים) מהגדרות → פרטיות. מחיקה קשה ברגע שהחלון חולף.
  • בקרות גיבוי iCloud וייצוא GDPR: שני מתגי הצטרפות-כרצונך בהגדרות → פרטיות שומרים תוכן מבוגרים מחוץ לגיבויי המכשיר ומחוץ לייצוא הנתונים שלך כברירת מחדל — כך שגיבויים או ייצואים שמשותפים בטעות לא חושפים אותו.

קרא את ערבויות בידוד האזורים המלאות →

תשתית הסכמה + כלי קונפליקט

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

  • כלי קונפליקט — צינור AI מודר: כל זרימת תיקון בין אחים, זוגית, ובין-דורית היא תוכן מאוצר + טפסים מובְנים.
  • תשתית הסכמה — Ember: מסמך הגבולות, בינדינג מילת הביטחון, וצ'ק-אינים של aftercare חיים על פרימיטיבי E2E של Ember. מסמך הגבולות לעולם לא מגיע לצינור ה-AI שלנו.
  • הסתרה אישית + בקרות ברמת התא: ה-BE לא מוחק את הנתונים הבסיסיים. כל פעולת דגל קבוע מצריכה שער של שני מנהלים.

תשתית הסכמה Ember

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

  • מסמך גבולות: כל שותף בונה ועורך את שלו, גלוי רק על ידי השותף האחר באותו תא-זוג. לעולם לא מגיע לצינור-האנליטיקה שלנו; לעולם לא נקרא על ידי AI כלשהו; לעולם לא משוכפל בצד-שרת מעבר לבלוב-המוצפן.
  • קישור מילת-סיסמה: ביטוי מילת-סיסמה משותף-לזוג אחד שמוריד מיד כל משטח Ember בחזרה ל-Serene + כותב שורת-יומן פרטית-לזוג. הפעלות גלויות לשני השותפים בלבד; מפעילי XTZ Group לא יכולים לקרוא אותן.
  • בדיקות-טיפול-לאחר: מתוזמנות על ידי כל אחד מהשותפים לאחר סשן Ember, הסכמה לכל שותף, תשובות נשארות פרטיות-לזוג. ללא מונה-מעורבות, ללא רצף, ללא נזיפה.
  • מסגרה בוגרת: עותק ורמזים מתייחסים לקוראים מבוגרים כמבוגרים. אנחנו לא מינקים את המשטחים עם לשון-עדינה; גם לא נשענים על ערך-הלם כדי להרגיש טרנסגרסיביים.

התאמת הסכמה כפולת-עיוורים

כששני שותפים חוקרים אילו קטגוריות פנטזיה חופפות, ההתאמה רצה לחלוטין על-מכשיר עם שני אינווריאנטים מבניים שלא נשבור: לעולם-לא-חשוף-לא (אם כל אחד מהשותפים מקיש לא, אף אחד לא רואה את זה) וללא-יציאת-AI (ללא מודל בשום מקום בנתיב-ההסקה).

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

עמידה בחוק Take It Down — ערוץ הודעה ציבורי

חוק ה-TAKE IT DOWN הפדרלי (2025) מחייב פלטפורמות שמארחות תוכן-משתמש לפעול על פי בקשות הסרה לדימויים-אינטימיים-ללא-הסכמה תוך 48 שעות. ערוץ ההודעה הציבורית + הנוהל של ConKarma מפורסמים ב-/legal/takedown-notice; חלק זה הוא סיכום-עמדת-אבטחה.

  • ערוץ: legal@conkarma.app (שורת-נושא Take It Down notice / DMCA notice / Urgent — CSAM report).
  • התחייבות: SLA של 48 שעות מקבלת בקשה תקפה להסרה או השבתת-גישה.
  • כיסוי: NCII (דיפ-פייקים אמיתיים או נוצרי-AI), זכויות-יוצרים DMCA, CSAM (עדיפות מוגברת + דיווח NCMEC), ודיווחי-תוכן-בלתי-חוקי רחבים יותר.
  • הודעה-נגדית: נתיב הודעה-נגדית DMCA דרך אותו ערוץ; חלון שחזור חוקי של 10-14 ימי-עסקים בהיעדר צו-בית-משפט.
  • ביקורת: כל הודעה + כל פעולה שננקטה מתועדות ושמורות לתקופות הנדרשות על פי חוק. הודעות-בחוסר-תום-לב עשויות לחשוף את השולח לאחריות אזרחית לפי החוק, DMCA §512(f), והתנאים שלנו.

חוגה רגולטורית לכל-מדינה

כאשר מדינות ארה"ב או שיפוטים אחרים מעבירים חוקים המגבילים את מה שפלטפורמה יכולה להציע (משטרי אימות-גיל, הגבלות-קטגוריית-תוכן, מנדטים לשמירת-רשומות), אנחנו מתאימים התנהגות אזורית ולא נסוגים מהשוק. הפשרה הכנה: חוק המדינה מעצב כיצד המשטח נראה למשתמשים באותה מדינה, לא מה שאנחנו מאמינים שהוא עיצוב-מוצר נכון.

  • זיהוי-אזור: מבוסס על המדינה המוצהרת של המשתמש + (לארה"ב) המדינה שהוגדרה בהגדרות, לא גיאולוקציית-IP בלבד. משתמשים יכולים לעקוף את האזור המסוקק אם הוא שגוי.
  • מה מותאם: זרימות אימות-גיל (מדינות בסגנון KOSA), גידור-תוכן-מבוגרים, חלונות-שמירה היכן שחוק-המדינה מכתיב אותם, ועותק גילוי היכן שהמדינה דורשת ניסוח ספציפי.
  • מה לא מותאם: עמדת הצפנה-מ-קצה-לקצה, אינווריאנטי ה-ללא-יציאת-AI, ברירת-המחדל-תואמת-COPPA לגיל-מתחת-13, ואינווריאנט הטבלה לעולם-אל-תערב-שורות-תוכן-מבוגרים. אלה אינם-ניתנים-להיסדקות בכל השיפוטים.
  • שקיפות: תצורת-האזור המיושמת על חשבונך גלויה בהגדרות → פרטיות → עמדה אזורית. אם אתה חושב שהיא שגויה לשיפוט שלך, הגש הודעת Take It Down או כתוב ל-legal@conkarma.app.

ילדים אינם מנוף צמיחה

חשבונות מתחת לגיל 13 עוברים תהליך הסכמת הורים בר-אימות לפני שהם קיימים. אנחנו לא מציגים מודעות בחשבונות של ילדים, נקודה. אנחנו לא מוכרים נתוני ילדים, לא משתפים אותם לפרסום ולא משתמשים בהם לטרגוט.

  • הסכמת הורים בת-אימות התואמת ל-COPPA §312.5 (נתיב אימות בעל כרטיס אשראי חתום, עם חלופה לבתים ללא כרטיס).
  • אין פרסום של צד שלישי מכל סוג בחשבונות מתחת לגיל 13.
  • הורים יכולים לראות, לייצא ולמחוק את נתוני חשבון ילדם בכל עת מתוך האפליקציה.

האמון מגיע מהסל, לא מאיתנו

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

  • סלים סגורים כברירת מחדל. אין גילוי פומבי, אין פרופיל פומבי, אין הצעות חבר-של-חבר.
  • זרימת דיווח משתמשים על כל משטח תוכן, מנותבת לתור מודרציה שמופעל על ידי בני אדם.
  • סריקה מבוססת hash ל-CSAM ידוע מתועדת כיישום ידוע-וממתין, עם טריגרי בדיקה מחדש מפורשים כשנעבור לפרופיל אחסון מדיה שמחייב זאת. לא נטען זאת לפני שיהיה אמיתי.

מה אנחנו שומרים, איפה, ואיך לקבל בחזרה

אנחנו מתעדים את זה בעודף ב-/privacy וב-/legal/subprocessors, אבל הגרסה הקצרה הרלוונטית לאבטחה: מוצפן במנוחה, מאוחסן היכן שניירת ה-SCC מכסה, ניתן לייצוא ולמחיקה לפי דרישה, ולא שומרים יותר מהנדרש.

  • בקרות ייצוא ומחיקה של GDPR, CCPA ו-Quebec-25 חיות בתוך האפליקציה — לא מאחורי כרטיס תמיכה. למחיקה יש חלון חסד של 30 יום ב-soft-delete למקרה שתשנה את דעתך.
  • הצפנה במנוחה במסד הנתונים Postgres ובאחסון אובייקטים (תשתית מנוהלת על ידי Supabase).
  • כתובות IP גולמיות אינן נשמרות באף משטח שמופנה למשתמש. רשימת הסשנים הפעילים מציגה רק את קוד המדינה בן 2 האותיות; IPs גולמיים קיימים לזמן קצר בשורות אירועי אבטחה לשימוש פורנזי תחת שמירה קצרה.

אם מצאת משהו, ספר לנו

אנחנו עוד לא מפעילים bug-bounty בתשלום — זה פער אמיתי, ונזוז ברגע שזה ירוויח את זמן המפעיל הנדרש. בינתיים אנחנו מקבלים בברכה דיווחים בתום לב ונאשר אותם תוך חמישה ימי עסקים.

אימייל: security@conkarma.app

  • שלח אימייל ל-security@conkarma.app עם הפרטים. מפתח PGP לבקשה.
  • אנחנו מתחייבים לאשר תוך 5 ימי עסקים ולתשובה מהותית תוך 30 יום.
  • חשיפה מתואמת: חלון ברירת מחדל של 90 יום לפני חשיפה פומבית, ניתן להאריך בהסכמה הדדית.
  • לא ננקוט פעולה משפטית נגד מחקר אבטחה בתום לב שעוקב אחר חשיפה אחראית.