# حریم خصوصی و مدل امنیت CalcGard

## داده‌ای که از گوشی خارج می‌شود

فقط بعد از تطبیق یک الگوی فعال:

- مبلغ ریالی
- زمان دریافت SMS
- شناسه الگو
- نام فرستنده بانک
- SHA-256 پیامک، فرستنده و زمان

متن کامل SMS، مانده حساب، شماره‌های داخل متن، OTP، لینک و تاریخچه صندوق پیامک ارسال نمی‌شوند. نمونه‌ای که مالک کسب‌وکار در پنل آموزش می‌دهد فقط برای ساخت regex استفاده می‌شود؛ متن خام ذخیره نمی‌شود، عددها در regex عمومی می‌شوند و اثر SHA-256 نمونه برای تشخیص تغییر باقی می‌ماند.

## مجوز اندروید

- `RECEIVE_SMS`: دریافت پیامک جدید
- `INTERNET`: اتصال HTTPS به پنل

مجوز `READ_SMS`، مخاطبین، تماس، فایل، دوربین، میکروفون و مکان درخواست نمی‌شود. نمایش رضایت SMS توسط اندروید اجباری است و حذف یا دورزدن آن ممکن نیست.

## کنترل جعل و تکرار

- الگو هم فرستنده واقعی متادیتای SMS و هم بدنه را بررسی می‌کند.
- درخواست دستگاه با HMAC-SHA256، timestamp و nonce امضا می‌شود.
- nonce تکراری رد می‌شود و اختلاف ساعت بیش از پنج دقیقه پذیرفته نیست.
- SHA-256 پیامک در هر دستگاه یکتا است.
- فقط یک سفارش هم‌مبلغ در بازه زمانی به‌طور خودکار تأیید می‌شود.
- حالت مبهم برای بررسی دستی نگه داشته می‌شود.

## محدودیت ذاتی SMS

SMS رسید قطعی شبکه بانکی نیست و ممکن است دیر برسد، ارسال نشود یا در برخی شرایط جعل شود. CalcGard ریسک را کم می‌کند، اما جای callback رسمی درگاه یا استعلام بانکی را نمی‌گیرد. برای مبالغ بالا، تحویل برگشت‌ناپذیر و امور مالی حساس، تأیید دوم لازم است.

## امنیت پنل

- HTTPS اجباری برای اپ و webhook
- API Key و License Key به‌صورت hash
- راز دستگاه و webhook به‌صورت AES-256-GCM
- نشست HttpOnly و SameSite=Strict
- CSRF برای عملیات پنل
- CSP، جلوگیری از iframe و محدودیت payload/rate
- URL وب‌هوک فقط HTTPS عمومی؛ localhost و IP خصوصی رد می‌شوند

## مسئولیت بهره‌بردار

سیاست حریم خصوصی عمومی پنل را با نام شرکت، اطلاعات تماس، مدت نگه‌داری داده و قوانین محل فعالیت خود تکمیل کنید. به مشتری توضیح دهید که برنامه پیامک بانکی را محلی پردازش می‌کند و رضایت صریح او را بگیرید.
