כוונתי ל‑IT — מסמך אבטחה ופרטיות
עדכון אחרון: 20 באוקטובר 2026 · מתאר את גרסה 1.14.2
1. מה אפשר לוודא ולשלוט
| נושא | עובדה (נבדקה מול האפליקציה שנשלחת) |
|---|---|
| הרשאות | רצה כמשתמש רגיל: בלי הרשאות מנהל, בלי דרייבר ובלי שירות Windows. |
| רשת | מארח אחד בלבד, kavanati.com, ב‑HTTPS (פורט 443). אין באפליקציה כלי אנליטיקה, פרסום או דיווח קריסות. |
| מה יוצא מהמחשב | בדיקת עדכון, בדיקת רישיון (במסלולים בתשלום), ומשוב או יומן אבחון רק כשהמשתמש בוחר לשלוח. טקסט שהוקלד אף פעם. |
| מה נשמר | קובץ הגדרות ויומן קטן בפרופיל המשתמש, בטקסט רגיל. סעיף 5. |
| שליטה מרכזית | מפתח רישיון דרך מדיניות רגיסטרי, קובץ רישיון או פרופיל MDM (הפעלה שקטה). מתג שמכבה עדכון עצמי. |
| הסרה | הפריט "Uninstall Kavanati…" בתפריט (מסיר הפעלה אוטומטית, קיצור דרך, הגדרות וקובץ התוכנה), או מחיקת הקובץ. גרסת Store מוסרת כמו כל אפליקציית Store. |
| שאלות מצוות האבטחה | support@kavanati.com עונה על שאלוני אבטחה ועל דיווחי פגיעות. |
2. פריסה
- Windows: ההורדה הישירה היא קובץ נייד אחד (כ‑50 MB) בלי התקנה ובלי הרשאות מנהל; רץ לכל משתמש. הגרסה מ‑Microsoft Store היא החלופה החתומה. התקנת MSI ותבנית ADMX עדיין לא זמינות.
- Mac:
Kavanati.app, חתום ב‑Developer ID ומאושר (notarized). כל משתמש מאשר נגישות וניטור קלט פעם אחת (נגישות אפשר לאשר מראש בפרופיל PPPC; Apple לא מאפשרת ל‑MDM לאשר מראש ניטור קלט). - מפתח רישיון: הערך
LicenseKeyתחתHKLM\SOFTWARE\Policies\Kavanati(או אותו דבר ב‑HKCU), קובץKavanati.licenseליד ה‑exe, או ב‑Mac דומיין ההעדפותcom.melogix.langguard. כל מחשב מפעיל את עצמו בשקט ותופס מושב אחד. רק מפתח Business ניתן לפריסה כזו. - עדכונים:
SelfUpdate= 0 באותו מפתח מדיניות (ב‑Mac: ערך בוליאני באותו דומיין) גורם לאפליקציה להציג שיש גרסה חדשה, בלי להוריד או להחליף דבר.
מדריך מפורט עם סקריפט לדוגמה: kavanati.com/deploy.
3. אנטי‑וירוס ו‑EDR
כדי לזהות הקלדה בשפה הלא נכונה, כוונתי מתקינה האזנה (hook) נמוכת‑רמה למקלדת (Windows) או Quartz event tap (macOS), ושולחת אירועי מקלדת מלאכותיים כדי לבצע תיקון. כלים שמבוססי התנהגות, כמו Microsoft Defender for Endpoint, CrowdStrike Falcon או SentinelOne, עלולים לסמן את הטכניקה הזו (MITRE ATT&CK T1056.001) על סמך ההתנהגות בלבד. לא בדקנו מול כל מוצר; אם אחד חוסם, אלה המזהים שצריך לאשר.
| Windows: Microsoft Store (MSIX) | Windows: הורדה ישירה | macOS | |
|---|---|---|---|
| חתימת קוד | חתום על ידי Microsoft בעת אישור החבילה. | עדיין לא חתום (אין חתימת Authenticode). SmartScreen מבקש אישור בהרצה ראשונה; Smart App Control או מדיניות ארגונית עלולים לחסום. | Developer ID, צוות LJ373NJ3QV, hardened runtime, מאושר (notarized) ו‑stapled. |
| איך מזהים | זהות חבילה 301210704.Kavanati (מזהה Store 9MWFV3KBLFV2), לא לפי גיבוב קובץ. | Kavanati-windows.exe, שם מוצר Kavanati; לאשר לפי SHA-256 (משתנה בכל גרסה) או לפי נתיב. | Bundle ID com.melogix.langguard, קובץ הרצה Contents/MacOS/Kavanati.Mac. |
| עדכונים | מגיעים מה‑Store; האפליקציה החבילתית לא מעדכנת את עצמה. | עדכון עצמי מוריד Kavanati-windows.exe.new ליד האפליקציה, משנה את הקובץ הרץ ל‑.old ומפעיל מחדש; או לכבות אותו (סעיף 2). | מוריד אל $TMPDIR/kavanati-update.zip ומריץ סקריפט קצר שמחליף את החבילה; או לכבות. |
| בנוסף | תיקיית הגדרות %APPDATA%\LangGuard\ (השם הפנימי המקורי); mutex LangGuard.SingleInstance. | אותו דבר. | מריצה פעם אחת בהפעלה את /usr/sbin/ioreg כדי לקרוא את מזהה החומרה לטביעת הרישיון. |
המלצה לארגונים: לפרוס ב‑Windows את גרסת Microsoft Store (MSIX), כי Microsoft חותמת עליה ואין חלון SmartScreen. מדיניות הרישיון המנוהלת נקראת מהרגיסטרי בשתי גרסאות Windows; כדאי לאמת את ההגדרה בפיילוט. אם חייבים את ההורדה הישירה, לאשר לפי נתיב וגיבוב ולהוריד רק מ‑kavanati.com (להשוות את גיבוב הקובץ ל‑version.json).
4. רשת
האפליקציה פונה למארח אחד: kavanati.com, ב‑HTTPS בפורט 443. אין פנייה לשום דבר אחר. (התשלום מתבצע בדפדפן של המשתמש באתר שלנו, לא בתוך האפליקציה. גרסת ה‑Store מתעדכנת דרך ה‑Store של Microsoft.)
| בקשה | מתי | למה, ומה היא נושאת |
|---|---|---|
GET /version.json | בהפעלה, ואז כל 6 שעות | בדיקת עדכון ומדיניות המסלול החתומה. נושאת פלטפורמה, גרסה, סימון בדיקה ראשונה ומזהה מכשיר אנונימי (גיבוב חד‑כיווני של מזהה המחשב). לא טקסט שהוקלד. |
GET /Kavanati-windows.exe או /Kavanati-mac.zip | רק כשיש גרסה חדשה והעדכון העצמי פעיל | העדכון, נבדק מול ה‑SHA-256 שב‑version.json. |
POST /api/license/activate, /refresh, /release | רק במסלולים בתשלום: בהזנת מפתח, בהפעלה ולכל היותר כל 12 שעות | מפתח רישיון, טביעת מכשיר, פלטפורמה וגרסה. אף פעם במסלול החינמי, ואף פעם במחשבים שהופעלו אופליין. |
POST /api/uninstall | רק כשהמשתמש בוחר "Uninstall Kavanati…" | מזהה מכשיר, פלטפורמה וגרסה. |
kavanati.com/feedback (נפתח בדפדפן), POST /api/log | רק כשהמשתמש בוחר לדווח, לתת משוב או להסכים לצרף את היומן | מה שהמשתמש שולח. ביומן אירועי אפליקציה ושמות אפליקציות, בלי טקסט שהוקלד. |
אם IT חוסם את kavanati.com לגמרי: התיקון ממשיך לעבוד, כי הוא מתבצע על המחשב. עדכונים לא מגיעים, ורישיון בתשלום נשאר תקף 30 יום מהבדיקה המוצלחת האחרונה (סעיף 6). משוב והודעת עדכון פשוט נכשלים בשקט.
5. מה האפליקציה רואה ומה היא שומרת
- הקשות: מעובדות בזיכרון, לכל הקשה: קוד המקש, פריסת המקלדת הפעילה ושם התהליך שבפוקוס. המילה שמוקלדת, עד שש מילים קודמות והתיקון האחרון נשמרים בזיכרון בלבד, ונמחקים ב‑Enter, בלחיצת עכבר, במעבר בין אפליקציות, במקשי ניווט או קיצורים, ואחרי שתי דקות בלי הקלדה.
- הקשר השדה: כדי לשפוט באיזו שפה כתוב שדה, האפליקציה יכולה לקרוא את הטקסט בשדה שבפוקוס דרך ממשק הנגישות (UI Automation ב‑Windows, Accessibility API ב‑macOS). הוא נבחן בזיכרון ולא נשמר ולא נשלח.
- שדות סיסמה: שדות שמערכת ההפעלה מסמנת כסיסמה מדולגים לגמרי: בלי איגום, בלי תיקון ובלי קריאת הטקסט. הנחיה שהמערכת לא מסמנת (למשל
sudoבטרמינל) מטופלת כמו הקלדה אחרת: בזיכרון, ולא נשלחת. - תיקון שורה ידני: מעתיק את השורה דרך הלוח, ממיר, מדביק בחזרה ומחזיר את תוכן הלוח הקודם. כלים של היסטוריית לוח עשויים לתעד את השורה.
- בדיסק:
%APPDATA%\LangGuard\settings.json(ב‑Mac:~/.config/LangGuard/settings.json): מתגים, כללים לפי אפליקציה, מילים מוגנות, המילון האישי (עד 500 מילים לכל שפה), מפתח הרישיון והטוקן החתום, מונה יומי.langguard.log: אירועי אפליקציה בלבד, בלי טקסט שהוקלד, נמחק בכל הפעלה ומוגבל לכ‑512 KB. טקסט רגיל בפרופיל המשתמש, מוגן על ידי מערכת ההפעלה.
6. המשכיות: אם השרתים שלנו לא נגישים
הזיהוי והתיקון רצים על כל מחשב ולא צריכים חיבור. אם kavanati.com הופך ללא נגיש, אפילו לתמיד, העותקים המותקנים ממשיכים לרוץ. מה משתנה, בדיוק כפי שהאפליקציה בנויה:
- רישיון בתשלום: נשאר תקף 30 יום מהבדיקה המוצלחת האחרונה. אחר כך האפליקציה מתייחסת למחשב כאל מסלול חינמי (מגבלה יומית על תיקונים אוטומטיים; תיקונים ידניים נשארים ללא הגבלה), בלי לנעול דבר, עד שבדיקה מצליחה שוב ומחזירה את המסלול בתשלום.
- מחשבים שלא מתחברים לעולם: קוד הפעלה אופליין, שאנחנו מנפיקים לפי בקשה, שומר על המסלול בתשלום ל‑400 יום.
- עדכונים ומדיניות מסלול: גרסאות חדשות לא מגיעות; המדיניות המאומתת האחרונה נשארת בתוקף.
איננו מתחייבים מעבר לכך. אם המשכיות התכונות בתשלום חשובה לכם, שאלו אותנו על הפעלה אופליין לסביבה שלכם.
7. עדכונים ושלמות
- כל גרסה מפרסמת את ה‑SHA-256 של שני הקבצים ב‑
version.json. האפליקציה מאמתת עדכון שהורד מולו, מוחקת אותו אם אינו תואם, ומחילה אותו כשהמשתמש מפעיל מחדש. version.jsonמוגש ב‑HTTPS. רק מדיניות המסלול שבתוכו חתומה בנפרד; הקובץ עצמו לא.- Windows הורדה ישירה: לא חתום. Windows Store: חתום על ידי Microsoft. macOS: Developer ID ו‑notarized (לבדיקה:
spctl -a -vv /Applications/Kavanati.app).
8. שאלון ספק: תשובות נפוצות
זה keylogger?
לא. היא צריכה את אותה גישה למקלדת שבודק איות או מחליף שפה צריכים, ומשתמשת בה כדי להשוות את המילה הנוכחית לפריסת המקלדת. המילה נשמרת בזיכרון לרגע ונמחקת; שום דבר שהוקלד לא נכתב לדיסק ולא נשלח. ביומן אין טקסט שהוקלד. סעיפים 4 ו‑5 מפרטים כל בקשה וכל פריט שנשמר, כך שהצוות שלכם יכול לאמת.
האם היא שולחת לאנשהו את מה שמקלידים?
לא. הבקשות היחידות הן אלה שבסעיף 4, ואף אחת מהן לא נושאת טקסט שהוקלד.
האם היא יכולה לשנות טקסט במסמך משפטי בלי שהמשתמש ישים לב?
תיקון מחליף מילה במקום בזמן ההקלדה, ולכן הוא נראה על המסך, ו‑Ctrl+Z אחד (⌘Z ב‑Mac) מיד אחריו מחזיר בדיוק את מה שהוקלד. מילה שהמשתמש ביטל הופכת למילה מוגנת ולא נוגעים בה שוב. במסלול Business, מילון ארגוני (שמות חברה, לקוחות ומוצרים, מגרסה 1.14) לא "מתוקן" לעולם, וכוונתי אפשר לכבות באפליקציות שנבחרו (היום לכל משתמש בחלון הכללים; מרכזית לכולם מגרסה 1.14). לעבודה מוסדרת אנחנו ממליצים על פיילוט באפליקציות האלה קודם.
האם זה עובד ב‑Citrix, ב‑RDP או ב‑VDI?
לא בדקנו VDI ופרופילים נודדים, והמושב ברישיון קשור למכונה ולא למשתמש. פנו אלינו לפיילוט בדיקה בסביבה שלכם.
צריך הרשאות מנהל?
לא. משתמש רגיל, בלי דרייבר ובלי שירות. ב‑Mac כל משתמש מאשר נגישות וניטור קלט פעם אחת.
יש DPA?
האפליקציה לא מעבדת מידע אישי מההקלדה של המשתמשים שלכם. בשרתים שלנו נשמרים מפתח הרישיון, גיבוב אנונימי של המכשיר, הפלטפורמה והגרסה, ואיש הקשר העסקי של הרוכש. לפי בקשה אנחנו מספקים הצהרה חתומה משירותי הנדסה ופיתוח (הישות המשפטית שמאחורי כוונתי) שמתארת זאת.
אילו צדדים שלישיים מעורבים?
Paddle, המוכרת הרשמית ברכישות בכרטיס. Cloudflare מארחת את kavanati.com, את ההורדות ואת שירות הרישוי. באפליקציה עצמה אין קוד אנליטיקה, פרסום או דיווח קריסות של צד שלישי. האתר משתמש באנליטיקה; האפליקציה לא.
יש לכם הסמכות אבטחה?
איננו טוענים לאף אחת (כמו SOC 2 או ISO 27001). מה שיש: המסמך הזה, סקירת האבטחה, גרסאות חתומות ל‑Mac ול‑Store, ותשובות לשאלות שלכם.
אפשר לכבות עדכונים?
כן. SelfUpdate = 0 (סעיף 2). אז אתם מפיצים גרסאות חדשות בעצמכם.
איך מדווחים על פגיעות?
במייל אל support@kavanati.com. אותה כתובת עונה גם על שאלוני אבטחה, והיא מופיעה ב‑security.txt שלנו.
שאלות מ‑IT, רכש או אבטחה: support@kavanati.com. ראו גם את סקירת האבטחה, את מדריך הפריסה ואת כוונתי לעסקים.