حریم خصوصی

دادهٔ شما، بی‌تعارف

شما اطلاعات حساس پیمان، قیمت و پرسنل را در بنیارا وارد می‌کنید. حق دارید دقیقاً بدانید چه اتفاقی برایش می‌افتد — و کجا هنوز نمی‌توانیم تضمینی بدهیم.

خلاصه در سه خط

  • • دادهٔ شما را نمی‌فروشیم، با پیمانکار دیگری به اشتراک نمی‌گذاریم، و برای هیچ مقصود تجاری دیگری به کسی نمی‌دهیم.
  • • داده روی زیرساخت داخل ایران می‌ماند؛ تنها استثنا درخواست‌های هوش مصنوعی است که از یک درگاه ایرانی به مدل‌های ارائه‌دهندگان خارجی می‌روند — توضیحش پایین آمده.
  • • هرچه پایین نوشته‌ایم در کد خودمان قابل بررسی است. آنچه نمی‌دانیم را هم صریح گفته‌ایم، به‌جای آن‌که با جملهٔ خوش‌آهنگ بپوشانیمش.

دادهٔ شما کجا می‌ماند

داده‌ی پروژه‌ی شما روی زیرساخت داخل ایران می‌ماند

پایگاه‌داده، فایل‌ها و خود برنامه روی زیرساخت داخل کشور میزبانی می‌شوند. هیچ CDN خارجی در برنامه بارگذاری نمی‌شود — فونت‌ها هم روی سرور خودمان‌اند. دو چیز در برنامه جمع می‌شود و هر دو روی سرور خودمان می‌مانند: آمار استفاده، و گزارش خطاها. پایین دقیقاً نوشته‌ایم هرکدام چه می‌فرستد.

دادهٔ هر سازمان در سطح پایگاه‌داده جدا شده است

جداسازی با قانون سطح سطر (Row-Level Security) در خود پستگرس انجام می‌شود، نه با شرط where در کد. هر تراکنش پیش از خواندن، شناسهٔ سازمان فعال را اعلام می‌کند؛ درخواستی که این شناسه را نداشته باشد صفر سطر برمی‌گرداند، نه دادهٔ دیگری. یعنی یک اشتباه برنامه‌نویسی هم دادهٔ سازمان دیگری را نشان نمی‌دهد.

دفتر مالی حذف‌نشدنی است

رکوردهای مالی و تاریخچهٔ تغییرات فقط اضافه می‌شوند؛ اجازهٔ ویرایش و حذف آن‌ها در سطح پایگاه‌داده از برنامه گرفته شده است. اصلاح با یک رکورد اصلاحیه انجام می‌شود تا رد پا دست‌نخورده بماند. این به نفع شماست: تاریخچه‌ای که ما هم نتوانیم پاکش کنیم.

پشتیبانی بنیارا فقط با ثبت در تاریخچه به حساب شما دسترسی پیدا می‌کند

برای رسیدگی به مشکلی که گزارش می‌کنید، مدیر سکوی بنیارا می‌تواند موقتاً وارد حساب یک کاربر شود و دقیقاً همان چیزی را ببیند که او می‌بیند. صریح می‌گوییم که این دسترسی اجازهٔ ثبت هم دارد — چون پشتیبانی که فقط ببیند نمی‌تواند مشکل را درست کند. چهار محدودیت، و هر چهار در خود برنامه اعمال می‌شوند نه در یک قول:
• فقط مدیر سکو، و این در هر درخواست از پایگاه‌داده پرسیده می‌شود — نه یک‌بار هنگام ورود.
• دسترسی سقف زمانی دارد و پس از آن خودکار بسته می‌شود.
• هر ثبتی که در این حالت انجام شود، نام آن پشتیبان را روی خودش دارد — هم روی ردیف تاریخچه و هم روی خود ردیف دفتر مالی. این کار را یک قانون در پایگاه‌داده انجام می‌دهد، نه یک تکه کد که بشود فراموشش کرد.
• و شما همان ردیف را در صفحهٔ «تاریخچه» سازمان خودتان می‌بینید، با نشان «با دسترسی پشتیبانی بنیارا». یعنی لازم نیست به ما اعتماد کنید؛ می‌بینید.

و یک مرز را صریح بگوییم، چون این صفحه حق ندارد بیش از دانسته‌اش ادعا کند: آنچه در تاریخچهٔ خودتان می‌بینید ثبت‌هاست. آغاز و پایان خود این دسترسی در دفتر دسترسی‌های بنیارا نوشته می‌شود که مخاطبش ماییم — پس بازدیدی که فقط ببیند و چیزی ثبت نکند، در تاریخچهٔ شما ردی ندارد.

ناظر و کارفرما فقط پروژهٔ خودشان را می‌بینند

نقش‌های بیرونی به پروژه‌های تخصیص‌یافته محدودند و این محدودیت در لایهٔ داده اعمال می‌شود، نه با پنهان‌کردن دکمه. اوستا هم همین محدودیت را دارد: ابزاری که نقش کاربر اجازه‌اش را ندارد اصلاً ساخته نمی‌شود.

چه چیزی به مدل هوش مصنوعی فرستاده می‌شود

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

گفت‌وگو با «اوستا»

متن پیام شما، و نتیجهٔ ابزارهایی که اوستا برای پاسخ صدا می‌زند (مثلاً نام پروژه‌ها، مبالغ بودجه، جمع هزینهٔ ماه). مبالغ به‌صورت متن تومان فرستاده می‌شوند. متن گفت‌وگوها در پایگاه‌دادهٔ ما ذخیره می‌شود تا تاریخچه داشته باشید، و خودتان می‌توانید هر گفت‌وگو را حذف کنید — حذف گفت‌وگو پیام‌هایش را هم پاک می‌کند.

فاکتورخوان

تصویر یا PDF فاکتور. فایل روی دیسک یا فضای ذخیره‌سازی نگهداری نمی‌شود؛ فقط در حافظه به مدل فرستاده می‌شود و نتیجه به فرم بازبینی می‌آید تا خودتان تأیید یا اصلاح کنید. هیچ عددی بدون تأیید شما وارد دفتر نمی‌شود.

نقشه ← متره

تصویر نقشه، یا متن استخراج‌شده از لایهٔ برداری PDF. مثل فاکتورخوان، فایل ذخیره نمی‌شود.

تبدیل صدا به متن و متن به صدا

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

بینش زیر نمودارها

فقط همان عددهایی که روی صفحه می‌بینید (عددهای از پیش محاسبه‌شدهٔ همان نمودار) — نه رکوردهای خام. نتیجه کش می‌شود تا برای دادهٔ تکراری دوباره درخواست فرستاده نشود.

چه چیزی هرگز به مدل نمی‌رود

  • شمارهٔ موبایل، نام و مشخصات حساب کاربری
  • رمز ورود یا کد تأیید (اصلاً رمزی وجود ندارد — ورود با کد پیامکی است)
  • عکس‌های گزارش روزانه و پیوست‌ها (مگر آن‌که خودتان فایلی را به فاکتورخوان یا نقشه←متره بدهید)
  • متن کامل گفت‌وگو و متن سندها در لاگ خطا — هنگام خطا متن خطا و رد پشته آن (نام فایل و شماره خط از کد خودمان) ثبت می‌شود، همراه نشانی صفحه‌ای که رویش بودید و نام مرورگرتان؛ ولی آنچه شما نوشته یا فرستاده‌اید نمی‌رود.

آمار استفاده — چه چیزی از کار شما در برنامه ثبت می‌شود

برای اینکه بفهمیم کجای برنامه کاربر گیر می‌کند، شمار چند کار مشخص را نگه می‌داریم. این ابزار روی سرور خودمان است — نه گوگل آنالیتیکس، نه هیچ سرویس خارجی — و این آمار از سرور ما بیرون نمی‌رود.

این آمار به حساب شما وصل است. همراه هر ثبت، یک کد بی‌معنی به‌جای نام شما، یک کد بی‌معنی به‌جای نام سازمانتان و نقش شما در آن سازمان (مثلا سرپرست کارگاه) هم می‌رود. یعنی ما می‌توانیم ببینیم کدام کار را چه کسی و کی انجام داده. دلیلش این است که وقتی می‌گویید «فلان‌جا گیر کردم»، بدون این وصل‌بودن فقط می‌شود حدس زد؛ با آن، همان مسیر خودتان دیده می‌شود.

این ۱۳ کار شمرده می‌شود — همین‌ها و نه بیشتر:

  • امضای گزارش روزانه
  • صدور صورت وضعیت
  • فرستادن پرمیت برای ناظر
  • تمام شدن ورود یک فایل (متره یا زمان بندی)
  • خطایی که برنامه در صفحه به شما نشان داده
  • شروع ورود یک فایل
  • گیر کردن ورود فایل (مثلا ستون‌ها شناخته نشد)
  • رسیدن ورود فایل به پیش‌نمایش
  • باز کردن پنجره صورت وضعیت
  • فرستادن گزارش روزانه از دفتر فنی برای سرپرست
  • تایید یا برگشت گزارش روزانه از طرف ناظر
  • برگرداندن گزارش روزانه برای اصلاح
  • پس گرفتن گزارش روزانه‌ای که فرستاده شده
  • • همراه این‌ها هیچ مبلغی، هیچ نام پروژه یا شخصی، هیچ شماره‌ای و هیچ تکه‌ای از متن سندها نمی‌رود. آنچه می‌رود فقط برچسب‌های کلی از یک فهرست بسته است، مثل «نوع سند: موقت». جلوی این کار را خود کد با یک فیلتر سخت‌گیر می‌گیرد و آزمون قفلش کرده — قول نیست.
  • • نشانی صفحه به شکل الگو ثبت می‌شود، نه نشانی واقعی شما: چیزی مثل /projects/[id]/billing می‌رود، نه شماره پروژه و شماره صورت‌وضعیت. متنی هم که در جست‌وجوی مخاطبین یا فهرست‌بها تایپ می‌کنید هرگز نمی‌رود.
  • • آن کد بی‌معنی یک‌طرفه ساخته می‌شود: از رویش نمی‌شود به شماره یا نام شما رسید، و هر وقت کلید ساختش عوض شود همه سابقه ثبت‌شده برای همیشه از شما جدا می‌شود.
  • • این ابزار روی مرورگر شما کوکی نمی گذارد و هیچ چیزی در حافظه مرورگرتان نگه نمی دارد. ولی صادقانه بگوییم آن کد بالا روی سرور ما می ماند و کارش کمابیش همان کاری‌ست که یک کوکی می کند — یعنی بازدیدهای شما را به هم وصل می کند. تفاوتش این است که چیزی روی دستگاه شما نمی نشیند.
  • روی بخشی از بازدیدها، ترتیب کلیک ها و پیمایش صفحه هم ضبط می شود تا بتوانیم ببینیم کجا کار گیر می کند. این ضبط روی سرور خودمان می ماند و محتوای چیزی که در فیلدها می نویسید پوشانده می شود.
  • • اگر مرورگر شما «ردیابی نکن» (Do Not Track) را روشن داشته باشد، هیچ چیز ثبت نمی‌شود — نه شمارش، نه آن کد.
  • • سایت معرفی (همین صفحه‌ها) هیچ ردیابی ندارد — این آمار فقط داخل برنامه و پس از ورود جمع می‌شود.

این را روشن بگوییم: اینکه کد خودمان چه می فرستد و چه در مرورگر شما جا می گذارد را آزمون می سنجد. اینکه خود ابزار روی سرور ما هم چیزی جا نگذارد، از نسخه پین شده و تنظیماتش می آید — یک بار پیش از روشن کردن دستی وارسی شده، نه اینکه هر بار سنجیده شود.

گزارش خطا — وقتی برنامه در صفحه‌ای می‌شکند

وقتی چیزی در برنامه می‌شکند، گزارش آن خطا برای ما فرستاده می‌شود تا بتوانیم پیدایش کنیم و درستش کنیم. دقیقاً آنچه در آن گزارش می‌رود، پایین فهرست شده است. این ابزار روی سرور خودمان داخل ایران است، نه هیچ سرویس خارجی. آنچه کد ما پیش از ارسال حذف می کند را آزمون می سنجد؛ اینکه خود سرور چیز دیگری نگه ندارد از نسخه پین شده و تنظیماتش می آید — یک بار پیش از روشن کردن دستی وارسی شده، نه اینکه هر بار سنجیده شود.

این‌ها می‌رود:

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

و این‌ها پیش از ارسال حذف می‌شوند — با آنکه این ابزار به‌طور پیش‌فرض می‌فرستدشان:

  • متن دکمه‌ها و چیزهایی که کلیک کرده‌اید
  • سیاهه کارهایی که پیش از خطا در برنامه کرده‌اید
  • بدنه درخواست‌ها و پاسخ‌ها (از جمله گفت‌وگوی اوستا)
  • هرچه کد ما در کنسول مرورگر چاپ کرده
  • نشانی اینترنتی شما و هرچه روی مرورگرتان نشسته
  • شماره پروژه و شماره صورت وضعیت داخل نشانی صفحه
  • روی مرورگر شما کوکی نمی گذارد و نشانی اینترنتی (IP) شما را نگه نمی دارد — هر دو پیش از ارسال حذف می شوند.
  • • همان محدودیت بند بالا این‌جا هم هست: متن سندها، مبالغ، نام پروژه و آنچه در فیلدها می‌نویسید در گزارش خطا نمی‌آید. آنچه می‌رود متن خطای خود برنامه است، نه دادهٔ شما.

آنچه هنوز نمی‌توانیم تضمین کنیم

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

ما هنوز تأییدیهٔ کتبی از این درگاه دربارهٔ مدت نگه‌داری و استفاده‌نکردن از داده برای آموزش مدل نگرفته‌ایم. تا آن روز، این جمله را نمی‌نویسیم که «دادهٔ شما برای آموزش مدل استفاده نمی‌شود» — چون هنوز نمی‌دانیمش، و نوشتن ادعایی که پشتش تأییدیه نیست، بدتر از ننوشتنش است. به‌محض گرفتن پاسخ رسمی، همین‌جا و با تاریخ اعلام می‌کنیم.

توصیهٔ عملی ما تا آن زمان: اسنادی را که محرمانگی قراردادی دارند به فاکتورخوان یا نقشه←متره ندهید. بقیهٔ برنامه — دفتر، گزارش روزانه، صورت‌وضعیت، متره — هیچ‌کدام دادهٔ شما را به مدل نمی‌فرستند و کاملاً داخل زیرساخت داخلی کار می‌کنند.

شما چه کنترلی دارید

  • • هر گفت‌وگوی اوستا را خودتان می‌توانید حذف کنید (حذف، پیام‌ها را هم می‌برد).
  • • دسترسی هر عضو با نقشش تعیین می‌شود و مالک سازمان می‌تواند ماژول‌ها را برای هر عضو ببندد.
  • • بدون کلید هوش مصنوعی، همهٔ این قابلیت‌ها خاموش می‌مانند و برنامه کامل کار می‌کند.
  • • برای درخواست خروجی داده یا حذف کامل حسابتان، با ما تماس بگیرید.

این صفحه با تغییر رفتار محصول به‌روز می‌شود. اگر بندی از آن با آنچه در عمل می‌بینید نمی‌خواند، همان اشکال ماست — به ما بگویید.