Skip to content

حریمِ داده — چه چیزی کجا می‌ماند

This content is not available in your language yet.

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

هیچ بایتی از پروژهٔ تو از این کامپیوتر بیرون نمی‌رود. درزساز بک‌اند ندارد: نه حساب کاربری، نه همگام‌سازی، نه تحلیل رفتار، نه گزارشِ خطا به جایی. سرور فقط پرونده‌های خودِ برنامه را می‌دهد (deploy.md) و پس از اولین بارگذاری، برنامه بی اینترنت هم کار می‌کند.

داده کجا می‌ماند با برداشتنِ چه از بین می‌رود
پروژه‌ها (دیوار، یونیت، قیمت، نام) IndexedDB ِ همین مرورگر، پایگاهِ darzsaz-v3، جدولِ projects «حذفِ پروژه» و بعد سطلِ زباله؛ یا پاک‌کردنِ دادهٔ سایت
نسخه‌های خودکار همان پایگاه، snapshots همراهِ پروژه
عکسِ دیوار و هر دارایی همان پایگاه، assets همراهِ پروژه
کاتالوگ و دفترِ قیمتِ خودت همان پایگاه، catalogs و priceBooks «بازگردانی به پیش‌فرض» در کاتالوگ
دفترِ رویداد (چه کِی عوض شد) همان پایگاه، auditLog پاک‌کردنِ دادهٔ سایت
دسترسیِ پروندهٔ ذخیره‌شده همان پایگاه، fileHandles — نه خودِ پرونده، فقط اجازهٔ آن پاک‌کردنِ دادهٔ سایت
تنظیماتِ برنامه همان پایگاه، settings پاک‌کردنِ دادهٔ سایت
ترجیحِ رابط (پوسته، زبان، پنل‌ها) localStorage، کلیدهای darzsaz.* (lib/prefs.ts) پاک‌کردنِ دادهٔ سایت
پروندهٔ .darz.json ِ صادرشده هر جا که خودت ذخیره کردی خودت
پشتیبانِ کامل .darzsaz-backup هر جا که خودت ذخیره کردی — همهٔ جدول‌های بالا در یک زیپ خودت
گزارشِ چاپی / PDF همان لحظه ساخته می‌شود؛ جایی نمی‌ماند بستنِ پنجره

چرا IndexedDB، و معنایش برای کارگاه

Section titled “چرا IndexedDB، و معنایش برای کارگاه”

داده در همان مرورگر و همان پروفایل و همان مبدأ می‌ماند:

  • مرورگرِ دیگر، کاربرِ دیگرِ ویندوز، یا حالتِ ناشناس ← پروژه‌ها آنجا نیستند.
  • «پاک کردنِ داده‌های مرورگر» ِ کاربر، پروژه‌ها را هم می‌برد. برنامه برای همین navigator.storage.persist() می‌گیرد و وضعیتش را در تنظیمات نشان می‌دهد (storage.md)؛ ماندگاریِ رد شده یعنی مرورگر ممکن است زیرِ فشارِ فضا پاک کند.
  • کامپیوترِ کارگاه معمولاً چند نفر دستش است. درزساز قفل ندارد — هر کسی که به آن پروفایل دسترسی دارد پروژه‌ها را می‌بیند. قفلِ واقعی قفلِ حسابِ سیستم‌عامل است، نه چیزی که برنامه بتواند بدهد.

کاری که برنامه نمی‌کند

Section titled “کاری که برنامه نمی‌کند”
  • درخواستی به بیرون نمی‌زند؛ نرخِ ارز در darzsaz prices --live تنها استثناست و خطِ فرمان است و با پرچمِ صریحِ خودت (cli.md).
  • تحلیل و ردیابی ندارد: نه Google Analytics، نه Sentry، نه کوکی. تنها چیزی که در localStorage می‌نشیند ترجیحِ رابطِ خودت است.
  • فونت و اسکریپت را از CDN نمی‌گیرد؛ همه از همان دامنه می‌آید (fonts.md).
  • به‌روزرسانیِ خودکارِ بی‌خبر ندارد: سرویس‌ورکر نسخهٔ تازه را می‌گیرد و می‌پرسد (registerType: 'prompt').

دادهٔ مشتری در پروندهٔ .darz.json

Section titled “دادهٔ مشتری در پروندهٔ .darz.json”

پروندهٔ پروژه متنِ ساده (JSON) است و رمز نشده: نامِ پروژه و مشتری، یادداشت‌ها و قیمت‌ها را همان‌طور که نوشتی درش می‌بینی. پس:

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

۱. در فهرستِ پروژه‌ها هر کدام را «حذف» کن (به سطلِ زباله می‌رود) و بعد سطل را خالی کن. ۲. برای پاک‌کردنِ کامل: تنظیماتِ سایت در مرورگر ← «پاک کردنِ داده‌های سایت» برای darzsaz.ir. این کار پایگاهِ darzsaz-v3 و localStorage را با هم می‌برد و برگشتی ندارد. ۳. پیش از هر دو، اگر چیزی لازم داری «پشتیبانِ همه» بگیر (storage.md).

  • storage.md — ذخیرهٔ خودکار، ماندگاری، پشتیبان، پروندهٔ .darz.
  • data-layer.md — جدول‌ها، مخزن‌ها و ارتقای پایگاه.
  • deploy.md — سایتِ زنده: چه چیزی روی سرور است و چه چیزی نیست.