# الأمان والخصوصية

يقرأ Spam Scanner البريد، وهو خاص، من مرسلين قد يكونون معادين. تسرد هذه الصفحة ما يرسله إلى أي مكان، وكيف يتعامل مع ما يقرؤه.


## ما الذي يغادر الجهاز

افتراضيًا، شيء واحد: يُبحث عن **أسماء مضيفي الروابط** في الرسالة على محلِّلات Cloudflare الترشيحية، 1.1.1.2 و1.0.0.2 (البرمجيات الخبيثة والتصيّد الاحتيالي) و1.1.1.3 و1.0.0.3 (ومحتوى البالغين أيضًا). هذه استعلامات DNS عادية لأسماء مثل `example.com`؛ ولا يُرسل أي جزء من الرسالة أو عناوينها. أوقفها بـ `phishing: {cloudflare: false}` أو `--no-cloudflare`، أو أوقف فحص محتوى البالغين وحده بـ `phishing: {adult: false}`.

كل ما عدا ذلك معطّل حتى يُضبط:

| الفحص               | ما يرسله                                                  | إلى                                                         |
| ------------------- | --------------------------------------------------------- | ----------------------------------------------------------- |
| `authentication`    | استعلامات DNS عن سجلات SPF وDKIM وDMARC وARC للمرسل       | محلِّلك، أو `dnsServers`                                    |
| `dnsbl`             | عنوان IP للعميل، معكوسًا، ونطاقات الروابط، كاستعلامات DNS | خوادم أسماء قوائم الحظر، عبر محلِّلك أو `dns.servers`       |
| `llm`               | ملخص للرسالة، مع حذف البيانات الشخصية للمزوّدين البعيدين  | خادم النموذج اللغوي الذي تحدده ([الخصوصية](https://spamscanner.net/ar/docs/llm/#privacy)) |
| `reputation.apiUrl` | عنوان IP للمرسل ونطاقه وعنوانه                            | الخدمة التي تحددها                                          |
| `clamav`            | المرفقات                                                  | خدمة clamd لديك، عبر مقبسها                                 |

لا يوجد قياس عن بُعد، ولا فحص للتحديثات، ولا تنزيل أثناء التشغيل. النموذج مضمَّن داخل الحزمة.


## ما الذي يحتفظ به

لا شيء، ما لم يُطلب منه. لا تُسجَّل عمليات الفحص ولا تُخزَّن. تغيّر `learn()` المصنِّف في الذاكرة؛ ولا يُكتب إلى القرص إلا بـ `saveModel()` أو `spamscanner learn` أو خيار `--out` في الخوادم. يحتوي ملف النموذج أعداد سمات مجزّأة، لا كلمات ولا نص رسائل.

تُخزَّن إجابات النموذج اللغوي مؤقتًا في الذاكرة، بمفتاح هو تجزئة لما أُرسل، فالنسخ المتكررة من الرسالة نفسها يُسأل عنها مرة واحدة. وتُخزَّن إجابات DNS مؤقتًا في الذاكرة لمدة عشر دقائق.


## المدخلات المعادية

* تُعرَّف المرفقات من بايتاتها، ولا تُنفَّذ أبدًا ولا يفتحها برنامج آخر. تُقرأ أرشيفات ZIP من دليلها المركزي، مع حد لعدد المدخلات؛ ولا تُفك الأرشيفات المتداخلة.
* يُقرأ نص المتن حتى `maxLength` (100,000 محرف)، وتقبل الخوادم الرسائل حتى 25 ميغابايت.
* لكل فحص شبكي مهلة زمنية (`timeout`، 10 ثوانٍ افتراضيًا). يُتخطى الفحص الذي يفشل أو يتجاوز المهلة ويكتمل الفحص دونه.
* يحذف الـ milter ومرشِّح المحتوى و`--headers` ترويسات `X-Spam-*` الموجودة في الرسالة مسبقًا، فلا يستطيع المرسلون وسم بريدهم بأنه نظيف.
* لا يُوثق بترويسات حكم Microsoft على البريد المزعج إلا عندما تأتي الرسالة مباشرة من خوادم Microsoft، ولا تُستخدم ترويسات Received أبدًا لتحديد مصدر الرسالة.
* النص الذي يخاطب مرشِّحات الذكاء الاصطناعي يُحسب بريدًا مزعجًا، ويُبلَّغ النموذج اللغوي بأن الرسالة بيانات، لا تعليمات. [حقن التعليمات](https://spamscanner.net/ar/docs/llm/#prompt-injection)


## الخوادم

تستمع خوادم الـ milter وHTTP وTCP وspamd على 127.0.0.1 ما لم يحدّد `--host` غير ذلك. تقارن HTTP API رمزها المميز في زمن ثابت وترفض `/learn` دونه. لا يتحدث أي منها TLS: للوصول إليها عبر شبكة، استخدم شبكة خاصة، أو نفق SSH، أو وكيلًا عكسيًا مع TLS.

شغّلها بمستخدم دون صلاحيات. تضيف [وحدة systemd في دليل Postfix](https://spamscanner.net/ar/docs/postfix/#1-run-the-milter) التحصين المعتاد.


## الإبلاغ عن ثغرة

أبلغ عن المشكلات الأمنية بشكل خاص عبر [نظام الإبلاغ عن الثغرات في GitHub](https://github.com/spamscanner/spamscanner/security/advisories/new)، لا في المسائل العامة.
