אבטחה

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

עדכון אחרון 2026-08-09

אימות

חשבונות מנוהלים על ידי Supabase Auth עם אימייל וסיסמה, OAuth של Google, או OAuth של GitHub. אחרי ההתחברות, הדפדפן שלכם מחזיק אסימון הפעלה (JWT) שמתחדש אוטומטית על ידי ה-middleware של הפלטפורמה, כך שהפעלה תקינה לא פגה בשקט באמצע העבודה.

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

תפקידים והרשאות

לכל חשבון יש תפקיד אחד בדיוק: CLIENT, OPERATOR, או ADMIN. לקוחות בבעלות רובוטים ומשלמים על הפעלות, מפעילים שולטים ברובוטים ומרוויחים מהפעלות, ומנהלים מריצים את הפלטפורמה עצמה. אתם בוחרים בין לקוח למפעיל במהלך ה-onboarding; תפקיד ה-admin מוקצה על ידי מנהלי הפלטפורמה ולא ניתן לבחירה עצמית.

יכולתCLIENTOPERATORADMIN
רישום וניהול רובוטיםכןלאכן
התחלה והרצה של הפעלות תפעול מרחוקלאכןכן
צפייה בהפעלותעל רובוטים בבעלותםהפעלות שלהםהכול
מערכי נתונים וייצואכןלאהכול
חיוב, חשבוניות, אמצעי תשלוםכןלאהכול
רווחים ומשיכותלאכןהכול
אישור הסמכותלאבקשה בלבדכן
יישוב מחלוקותהגשה בלבדלאכן

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

מפתחות API

מפתחות API נותנים לסקריפטים ולשרתים גישה בלי כניסה לדפדפן. אתם יוצרים ומבטלים אותם ב-/dashboard/settings; המפתחות נושאים את הקידומת ayr_live_ ונשלחים ככותרת Authorization מסוג Bearer. מפתח פועל עם התפקיד וההרשאות של החשבון שיצר אותו, כך שמפתח שדלף גרוע בדיוק כמו סיסמה שדלפה.

  • שמרו מפתחות בצד השרת. הם לא שייכים לג׳אווהסקריפט בצד הלקוח, לאפליקציות מובייל, או למאגרים ציבוריים.
  • השתמשו במפתח אחד לכל שילוב. כשמשהו דולף, אתם רוצים לבטל צרכן אחד, לא את כולם.
  • בצעו רוטציה בלי השבתה: צרו את מפתח ההחלפה קודם, פרסו אותו, ואז בטלו את המפתח הישן ב-/dashboard/settings.
  • בטלו מיד בכל חשד. יצירת מפתח חדש עולה שניות; תוקף עם מפתח תקף יכול לעשות כל מה שהחשבון שלכם יכול.

אמצעי הגנה במהלך שליטה חיה

השליטה החיה כבולה לחכירת הפעלה. רובוט מקבל פקודות רק בזמן שהוא בדיוק בהפעלה אחת ACTIVE, ורק מהמפעיל שמחזיק את ההפעלה הזו; הרובוט עצמו מסומן IN_SESSION עבור כל השאר. מפעיל יכול להחזיק לכל היותר הפעלה אחת ACTIVE או PAUSED בכל רגע נתון, מה שפוסל אדם אחד ששולט נומינלית בשתי זרועות בו זמנית.

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

יומן ביקורת

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

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

הצפנה והגנת נתונים

כל התעבורה אל ומהפלטפורמה מוצפנת במעבר עם TLS, כולל שידורי וידאו ואותות בקרה. בשכבת הנתונים, מדיניות אבטחה ברמת שורה מגבילה גישה למסד הנתונים לפי חשבון. נתוני תשלום הם הגבול הברור ביותר מכולם: כרטיסים ופרטי בנק מטופלים אך ורק על ידי Stripe ולעולם לא נוגעים בשרתי AY-Robots.

דיווח על פרצת אבטחה

אם אתם מוצאים בעיית אבטחה, דווחו עליה באחריות דרך עמוד /security או טופס /contact תוך שימוש בקטגוריה Bug Report. כללו מה מצאתם, איפה, ואיך לשחזר את זה; אל תיגשו לנתונים של משתמשים אחרים מעבר למינימום הנדרש כדי להדגים את הבעיה, ואל תפרסמו פרטים לפני שהייתה לנו הזדמנות סבירה לתקן זאת. אנחנו קוראים כל דיווח.

שאלות נפוצות

האם מפעיל יכול לראות את נתוני החיוב שלי?

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

מה קורה לרובוט אם החיבור שלי נופל באמצע הפעלה?

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

איך אני מבצע רוטציה של מפתח API בבטחה?

צרו את המפתח החדש ב-/dashboard/settings, העבירו את השילוב שלכם אליו, אמתו שהוא עובד, ואז בטלו את המפתח הישן. עשיית זה בסדר הזה אומרת אפס השבתה ושום חלון שבו לא קיים מפתח תקף.

האם נתוני התשלום שלי נשמרים בשרתי AY-Robots?

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