DegreEZ

Security & encryption

Last updated:

From version 3.8, DegreEZ encrypts your academic record on your own device before it is saved. We store it, but we cannot read it. This page explains how that works, what it protects, and what it does not.

Who we are

DegreEZ is operated by Ramzy Ayan. Security contact: degreez2025@gmail.com.

In plain words

Think of your record as a locked box. Your phone locks it before sending it to us, and the key stays on your devices. We keep the box, but we have no key, so neither we nor anyone who breaks into our database can open it. A recovery code, which only you have, can make a copy of the key on a new device. Lose all your devices and the code, and the box can never be opened again, by anyone.

How it works

  1. The first time you open version 3.8 or later while online, your device creates a random 256-bit key.
  2. Before anything in your record is saved, the app encrypts it with AES-256-GCM. Each value is tied to your account and to its place in the database, so a copied value will not open anywhere else, and short values are padded so that, for example, "100" and "pass" look the same. Document names are derived from your key, so they do not reveal course numbers or semester names.
  3. The key is kept on your device: in iCloud Keychain on iPhone and iPad, in the phone's secure storage and Google's Block Store backup on Android, and in a non-exportable form in the browser on the web.
  4. The app shows a 24-character recovery code once. A copy of your key, locked with that code (PBKDF2-SHA256 with 600,000 rounds), is stored with your account. We cannot unlock it.
  5. On a new device, the key arrives through iCloud Keychain or your Google backup, or you type the recovery code.

We use standard, published algorithms through the open-source cryptography library, and in browsers the built-in Web Crypto, rather than inventing our own.

Your recovery code

What we can and cannot see

We cannot see

  • Your courses, chosen groups, grades, credits and notes
  • Your major, the assistant's "Preferences" text, degree lists, credit target and term dates
  • Your personal events, their places and notes
  • Your cached AI insights
  • Your Gemini key, chat history and the assistant's memory, which never leave your device

We can see

  • Your name, institution, faculty and email, and how you sign in
  • Your app settings
  • What you share with other students: reviews, materials, deadlines, a public profile
  • Catalog contributions, problem reports and institution requests
  • Pseudonymous statistics rows, which we cannot link to your account
  • How many semesters, courses and events you have, and when they changed

What it protects against, and what it does not

It protects your record from
anyone who reads the database: DegreEZ's operator, anyone with access to the Firebase console, a leaked or misused admin credential, and any export or copy of the database. It also limits the damage of a mistake in our access rules, because another student's documents would still be unreadable.
It does not protect against
  • An unlocked or compromised device. The app decrypts your record on the device to show it, so anyone using your unlocked phone can see it. Use a screen lock.
  • Your Apple or Google account. The key backup in iCloud Keychain or Google's Block Store is only as safe as that account. Turn on two-step verification.
  • What you send to Gemini. When you use the AI assistant, the app sends the parts of your record it needs to Google under your own key (see the Privacy Policy).
  • Information that is not encrypted: your name, institution and faculty, settings, what you share, and the size and timing of your record (how many courses, when they changed).
  • Pseudonymous statistics. One student's statistics rows can be grouped together, and someone who already knows several of your courses and grades could recognise them.
  • The app itself. End-to-end encryption means our servers never see your record; you still trust the app that runs on your device. A malicious or compromised update could change that, as it could for any app with end-to-end encryption.

Other safeguards

Report a security problem

If you find a vulnerability, please email degreez2025@gmail.com with the subject "Security report": what you found, the steps to reproduce it, and what an attacker could do with it. We will reply within a few days and keep you updated.

If you act in good faith and follow these rules, we will not pursue legal action against you for your research. Our contact details are also in security.txt.

אבטחה והצפנה

עדכון אחרון:

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

מי אנחנו

DegreEZ מופעלת על ידי Ramzy Ayan. פניות בנושאי אבטחה: degreez2025@gmail.com.

במילים פשוטות

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

איך זה עובד

  1. בפעם הראשונה שגרסה 3.8 ומעלה נפתחת עם חיבור לאינטרנט, המכשיר יוצר מפתח אקראי באורך 256 סיביות.
  2. לפני שמשהו מהרשומה נשמר, האפליקציה מצפינה אותו ב-AES-256-GCM. כל ערך קשור לחשבון שלך ולמקום שלו במסד הנתונים, כך שערך שהועתק לא ייפתח במקום אחר, וערכים קצרים מרופדים כך שלמשל "100" ו"עובר" נראים זהים. שמות המסמכים נגזרים מהמפתח שלך, ולכן אינם חושפים מספרי קורסים או שמות סמסטרים.
  3. המפתח נשמר במכשיר: ב-iCloud Keychain ב-iPhone וב-iPad, באחסון המאובטח של הטלפון ובגיבוי Block Store של Google ב-Android, ובאפליקציית הרשת, בדפדפן, בצורה שאינה ניתנת לייצוא.
  4. האפליקציה מציגה פעם אחת קוד שחזור בן 24 תווים. עותק של המפתח, נעול בקוד הזה (PBKDF2-SHA256 עם 600,000 סבבים), נשמר עם החשבון. אנחנו לא יכולים לפתוח אותו.
  5. במכשיר חדש, המפתח מגיע דרך iCloud Keychain או גיבוי Google, או בהקלדת קוד השחזור.

אנחנו משתמשים באלגוריתמים תקניים ומפורסמים דרך ספריית הקוד הפתוח cryptography, ובדפדפנים ב-Web Crypto המובנה, במקום להמציא הצפנה משלנו.

קוד השחזור שלך

מה אנחנו רואים ומה לא

אנחנו לא רואים

  • את הקורסים, הקבוצות שבחרת, הציונים, נקודות הזכות וההערות
  • את המסלול, טקסט ה"העדפות" של העוזר, רשימות דרישות התואר, יעד נקודות הזכות ותאריכי הסמסטר
  • את האירועים האישיים, המקומות וההערות שלהם
  • את תובנות ה-AI השמורות
  • את מפתח Gemini, היסטוריית הצ'אט והזיכרון של העוזר, שלעולם לא יוצאים מהמכשיר

אנחנו כן רואים

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

ממה זה מגן, וממה לא

ההצפנה מגינה על הרשומה שלך מפני
כל מי שקורא את מסד הנתונים: מפעיל DegreEZ, בעלי גישה למסוף של Firebase, פרטי גישה של מנהל שדלפו או נוצלו לרעה, וכל ייצוא או עותק של מסד הנתונים. היא גם מצמצמת את הנזק של טעות בכללי הגישה שלנו, כי המסמכים של סטודנט אחר יישארו בלתי קריאים.
היא אינה מגינה מפני
  • מכשיר לא נעול או פרוץ. האפליקציה מפענחת את הרשומה במכשיר כדי להציג אותה, ולכן כל מי שמשתמש בטלפון שלך כשהוא לא נעול יכול לראות אותה. כדאי להשתמש בנעילת מסך.
  • חשבון Apple או Google שלך. גיבוי המפתח ב-iCloud Keychain או ב-Block Store של Google בטוח רק במידה שהחשבון הזה בטוח. כדאי להפעיל אימות דו-שלבי.
  • מה שנשלח ל-Gemini. בשימוש בעוזר ה-AI, האפליקציה שולחת ל-Google את החלקים הדרושים מהרשומה, עם המפתח שלך (ראו מדיניות הפרטיות).
  • מידע שאינו מוצפן: השם, המוסד והפקולטה, ההגדרות, מה שמשתפים, והגודל והתזמון של הרשומה (כמה קורסים, מתי השתנו).
  • סטטיסטיקה פסאודונימית. אפשר לקבץ יחד את שורות הסטטיסטיקה של סטודנט אחד, ומי שכבר יודע כמה מהקורסים והציונים שלך עשוי לזהות אותן.
  • האפליקציה עצמה. הצפנה מקצה לקצה פירושה שהשרתים שלנו אף פעם לא רואים את הרשומה; עדיין נדרש אמון באפליקציה שפועלת במכשיר. עדכון זדוני או פרוץ יכול לשנות זאת, כמו בכל אפליקציה עם הצפנה מקצה לקצה.

אמצעי הגנה נוספים

דיווח על בעיית אבטחה

מצאת חולשה? נשמח לקבל דוא"ל ל-degreez2025@gmail.com עם הנושא "Security report": מה נמצא, השלבים לשחזור, ומה תוקף יכול לעשות בעזרתה. נענה בתוך כמה ימים ונעדכן לאורך הטיפול.

מחקר שנעשה בתום לב ולפי הכללים האלה לא יוביל לצעדים משפטיים מצדנו. פרטי הקשר מופיעים גם ב-security.txt.

الأمان والتشفير

آخر تحديث:

ابتداءً من الإصدار 3.8، يشفّر DegreEZ سجلك الأكاديمي على جهازك قبل حفظه. نحن نخزّنه، لكننا لا نستطيع قراءته. تشرح هذه الصفحة كيف يعمل ذلك، ومما يحمي، ومما لا يحمي.

من نحن

تُدار خدمة DegreEZ من قِبل Ramzy Ayan. للتواصل في شؤون الأمان: degreez2025@gmail.com.

بكلمات بسيطة

سجلك مثل صندوق مقفل. يقفله هاتفك قبل إرساله إلينا، ويبقى المفتاح على أجهزتك. نحتفظ بالصندوق، لكن ليس لدينا مفتاح، فلا نحن ولا من يخترق قاعدة بياناتنا نستطيع فتحه. رمز الاسترداد، الذي لا يملكه سواك، يمكنه إنشاء نسخة من المفتاح على جهاز جديد. إذا فُقدت كل أجهزتك والرمز، فلن يستطيع أحد فتح الصندوق أبدًا.

كيف يعمل

  1. في أول مرة يُفتح فيها الإصدار 3.8 أو أحدث مع اتصال بالإنترنت، ينشئ جهازك مفتاحًا عشوائيًا بطول 256 بت.
  2. قبل حفظ أي شيء من سجلك، يشفّره التطبيق بـ AES-256-GCM. كل قيمة مرتبطة بحسابك وبمكانها في قاعدة البيانات، فلا تُفتح القيمة المنسوخة في مكان آخر، وتُحشى القيم القصيرة بحيث تبدو مثلًا "100" و"ناجح" متماثلتين. أسماء المستندات مشتقة من مفتاحك، فلا تكشف أرقام المقررات أو أسماء الفصول.
  3. يُحفظ المفتاح على الجهاز: في iCloud Keychain على iPhone وiPad، وفي التخزين الآمن للهاتف ونسخة Block Store الاحتياطية من Google على Android، وبصيغة غير قابلة للتصدير في المتصفح على الويب.
  4. يعرض التطبيق مرة واحدة رمز استرداد من 24 حرفًا. تُحفظ نسخة من مفتاحك، مقفلة بهذا الرمز (PBKDF2-SHA256 مع 600,000 تكرار)، مع حسابك. لا نستطيع فتحها.
  5. على جهاز جديد، يصل المفتاح عبر iCloud Keychain أو نسخة Google الاحتياطية، أو بكتابة رمز الاسترداد.

نستخدم خوارزميات قياسية ومنشورة عبر مكتبة المصدر المفتوح cryptography، وفي المتصفحات Web Crypto المدمج، بدلًا من ابتكار تشفير خاص بنا.

رمز الاسترداد

ما نراه وما لا نراه

لا نرى

  • مقرراتك والشعب المختارة والعلامات والنقاط المعتمدة والملاحظات
  • تخصصك ونص "التفضيلات" للمساعد وقوائم متطلبات الشهادة وهدف النقاط المعتمدة وتواريخ الفصل
  • أحداثك الشخصية وأماكنها وملاحظاتها
  • رؤى الذكاء الاصطناعي المحفوظة
  • مفتاح Gemini وسجل المحادثة وذاكرة المساعد، وهي لا تغادر جهازك أبدًا

نرى

  • اسمك ومؤسستك وكليتك وبريدك الإلكتروني وطريقة تسجيل دخولك
  • إعدادات التطبيق
  • ما تتم مشاركته مع الطلاب الآخرين: التقييمات والمواد ومواعيد التسليم والملف الشخصي العام
  • المساهمات في الدليل والبلاغات عن المشاكل وطلبات إضافة مؤسسة
  • صفوف الإحصاءات بأسماء مستعارة، التي لا نستطيع ربطها بحسابك
  • عدد فصولك ومقرراتك وأحداثك، ومتى تغيّرت

مما يحمي، ومما لا يحمي

يحمي التشفير سجلك من
كل من يقرأ قاعدة البيانات: مشغّل DegreEZ، ومن لديهم وصول إلى وحدة تحكم Firebase، وبيانات اعتماد إدارية مسرّبة أو مُساء استخدامها، وأي تصدير أو نسخة من قاعدة البيانات. كما يحدّ من ضرر أي خطأ في قواعد الوصول لدينا، لأن مستندات أي طالب آخر تبقى غير مقروءة.
لا يحمي من
  • جهاز غير مقفل أو مخترق. يفك التطبيق تشفير سجلك على الجهاز لعرضه، لذلك يستطيع أي شخص يستخدم هاتفك وهو غير مقفل أن يراه. يُنصح باستخدام قفل الشاشة.
  • حساب Apple أو Google الخاص بك. النسخة الاحتياطية للمفتاح في iCloud Keychain أو Block Store من Google آمنة بقدر أمان ذلك الحساب. يُنصح بتفعيل التحقق بخطوتين.
  • ما يُرسَل إلى Gemini. عند استخدام مساعد الذكاء الاصطناعي، يرسل التطبيق إلى Google الأجزاء اللازمة من سجلك بمفتاحك (راجع سياسة الخصوصية).
  • المعلومات غير المشفّرة: اسمك ومؤسستك وكليتك، والإعدادات، وما تتم مشاركته، وحجم سجلك وتوقيته (عدد المقررات، ومتى تغيّرت).
  • الإحصاءات بأسماء مستعارة. يمكن تجميع صفوف إحصاءات طالب واحد معًا، ومن يعرف مسبقًا عددًا من مقرراتك وعلاماتك قد يتعرّف عليها.
  • التطبيق نفسه. التشفير التام بين الطرفين يعني أن خوادمنا لا ترى سجلك أبدًا؛ لكن الثقة بالتطبيق الذي يعمل على جهازك تبقى ضرورية. قد يغيّر تحديث خبيث أو مخترق ذلك، كما في أي تطبيق يستخدم التشفير التام بين الطرفين.

إجراءات حماية أخرى

الإبلاغ عن مشكلة أمنية

إذا وجدت ثغرة، يُرجى مراسلة degreez2025@gmail.com بعنوان "Security report": ما الذي وجدته، وخطوات إعادة إنتاجه، وما الذي يستطيع المهاجم فعله به. سنرد خلال أيام قليلة ونبقيك على اطلاع.

البحث الذي يتم بحسن نية ووفق هذه القواعد لن يقابَل منا بإجراءات قانونية. بيانات التواصل موجودة أيضًا في security.txt.