RRestoria
Ochiq jurnal

Restoria tizimini rivojlantirish hisoboti

Sayt, CRM, botlar va integratsiyalarda bajarilgan ishlar shu sahifada qadam-baqadam va doimiy saqlanadi.

Oxirgi yangilanish: Yozuvlar: 24
Xavfsizlik va RBAC

Bildirishnoma, buyurtma, integratsiya va vakolat chegaralari mustahkamlandi

Bajarildi

API va CRM bo‘yicha yakuniy yozish/ko‘rish auditi dashboard bildirishnomalari, buyurtma maxfiyligi, kuryer profili, xodim vakolati va Instagram public callbacklarida qo‘shimcha qat’iy chegaralarni aniqladi. Tuzatishlar faqat server permissioniga tayangan, UI esa mavjud huquqqa mos ravishda keraksiz action va so‘rovlarni yashiradigan qilib yakunlandi.

  • Notification API faqat DASHBOARD kanalini va recipient maydonisiz xavfsiz fieldlarni beradi; admin, manager va receptionist audience’lari ajratilgan
  • WebSocket notification matni tarqatilmaydi: faqat event kodi tegishli permission-roomga yuboriladi
  • CRM kolokoli dashboard.view bo‘lmasa ko‘rinmaydi va notification APIga so‘rov qilmaydi
  • Master faqat bevosita, stage yoki task orqali biriktirilgan buyurtmani; OTK esa faqat OTK task queue/history buyurtmalarini oladi
  • Master va OTK uchun mijoz telefon/kanal/manzil, delivery detail, payment va client-price fieldlari server javobida kesiladi
  • Order search, card, allowed transition, stage va event feed bir xil row-level tekshiruvdan foydalanadi; moliyaviy eventlar ruxsatsiz feedga kirmaydi
  • Excel eksport reports.finance, PDF hujjatlar receipts.print, payment-link orders.finance, katalog/prays oqimi price.view bilan bog‘landi
  • Order card ruxsatlar yuklangandan keyin ochiladi va faqat mos finance/status/assign/courier/payment/discount/document bloklarini ko‘rsatadi
  • Receptionist kuryer ro‘yxati va delivery arizasini ishlatadi; kuryer profilini yaratish/tahrirlash/deaktivatsiya routes.manage bilan cheklangan
  • Delivery nuqtasi DTO hamda service darajasida mavjud order, ISO sana, slot, coordinate, stage va faol kuryer bo‘yicha tekshiriladi; yakunlangan nuqta tahrirlanmaydi
  • Individual users.manage huquqi o‘zidan yuqori rol yoki permissionni bera olmaydi; SUPERADMIN va oxirgi faol ega invariantlari saqlanadi
  • Instagram POST webhook raw-body HMAC imzosiz yopiq; public manual/mock fallback olib tashlandi, OAuth state hash holida 10 daqiqalik va bir martalik
  • PBX, bot va tracking service kalitlari umumiy constant-time taqqoslashdan foydalanadi
  • Yangi va almashtiriladigan parol 8–128 belgida DTO va service darajasida tekshiriladi; mavjud login/parol o‘zgartirilmadi
  • 34 backend suite: 265/265; barcha production buildlar, Prisma validate, npm audit 0 hamda Flutter format/analyze/test muvaffaqiyatli
  • Production RBAC API qabul sinovi 19/19: notification fieldlari, master scope/redaction, receptionist 403 va unsigned webhook DBga yozmasdan tasdiqlandi
  • Umumiy read-only production acceptance 17/17; API/DB health, HTTPS va fail-closed integratsiyalar ishlaydi
  • Real HTTPS browser smoke 73/73: 8 faol rolning ruxsat etilgan va taqiqlangan sahifalari, order resize persistence hamda 3 public sahifa
  • API, CRM, sayt va ikkala bot PM2’da online; milestone public hisobotda ko‘rinadi va kod remote Git branch’iga yuborildi
Roadmap P1–P3

Mobil ish oqimi, marshrut tartibi va jadval qulayligi yakunlandi

Bajarildi

Masterlar mobil ilovada bosqichni qabul qilish, muammoni sabab bilan qaytarish, kamera yoki galereyadan xavfsiz ichki foto biriktirish, faqat fotodan keyin ishni yakunlash va o‘z daromadini ko‘rish imkoniga ega bo‘ldi. CRM marshrut ichidagi drag-and-drop tartibini atomik saqlaydi, buyurtma ustunlari esa sichqon, sensor yoki klaviatura bilan o‘lchamlanib brauzerda saqlanadi. Shu jarayonda vazifa va kuryer nuqtalarining boshqa xodim tomonidan bajarilishiga yo‘l qo‘ygan ownership nomuvofiqligi ham yopildi.

  • Mobil stage actionlar backendning mavjud role/owner va xavfsiz image decode/re-encode himoyasidan foydalanadi
  • Earnings ekrani shu oy yoki barcha vaqt bo‘yicha faqat JWTga bog‘langan master ma’lumotini oladi; sana chegaralari lokal to‘liq kun sifatida qat’iy tekshiriladi
  • Production API default manzili HTTPS; release manifest cleartext trafik va keraksiz lokatsiya ruxsatini taqiqlaydi
  • Android scaffold, Gradle wrapper va pubspec.lock reproduktiv build uchun Gitga qo‘shildi; local key/property va keystore sir bo‘lib qoladi
  • Release AAB haqiqiy non-debug upload-key bilan tekshirildi; signing to‘liq bo‘lmasa release build fail-closed
  • Marshrut ichki tartibi faqat to‘liq aktual UUID ro‘yxatini qabul qiladi va barcha sortOrder qiymatlarini bitta transactionda yozadi
  • TO_MASTER/FROM_MASTER nuqtalari algoritm va xaritaga kiritildi; yakunlash buyurtmani xato “berildi” holatiga o‘tkazmay, tegishli stage jarayonini davom ettiradi
  • Tashqi master callback’i retry-safe qilindi: ochiq ish vazifasi dublikatlanmaydi, bosqich takroran OTKga o‘tmaydi va callback xatosida nuqta statusi qaytariladi
  • Manual kuryerga ko‘chirish tanlangan kuryerni qayta algoritm bilan bekor qilmaydi; eski va yangi ro‘yxatlar ketma-ket normallashtiriladi
  • Kuryer actionlari rol, point owner, status, sabab va summa bo‘yicha himoyalandi; boshqa tasks.my rollariga begona marshrut va action yopildi
  • Buyurtma ustunlari 64–480 px chegarada pointer/klaviatura bilan o‘zgaradi, buzilgan storage qiymatlari sanitizatsiya qilinadi va reset mavjud
  • 27 backend suite: 240/240; Flutter format/analyze/test, barcha production buildlar, Prisma validate va npm audit 0 muvaffaqiyatli
  • Production read-only acceptance 17/17; API health, DB, HTTPS, auth va fail-closed integratsiyalar tasdiqlandi
  • Real HTTPS browser smoke 24/24: 20 CRM sahifa, resize→reload persistence va 3 public sahifa
  • Production master API: earnings 200, client phone yashirin; begona route/action 403 va noto‘liq order DBga yozmasdan 400
  • API, CRM, sayt va ikkala bot PM2’da online; yangi milestone public hisobotda ko‘rinadi va commit remote Git branch’iga yuborildi
Production qabul

Tashqi ma’lumotsiz bajariladigan roadmap production’ga topshirildi

Bajarildi

Sayt, CRM, API, botlar, media CMS, dependencylar va fail-closed integratsiyalar bitta yakuniy qabul siklidan o‘tdi. Eski production’ga yozuvchi acceptance/smoke skriptlari read-only formatga almashtirildi, ichki hujjatlardagi mock va ochiq LAN port haqidagi eskirgan da’volar tuzatildi. Qolgan bandlar faqat egadan tashqi credential, haqiqiy media yoki server sudo ruxsati kelgach bajariladi.

  • 230/230 backend test, to‘rtta production build va npm audit 0 muvaffaqiyatli
  • Read-only production acceptance: 17/17; test user, lead, order, payment yoki call yaratilmadi
  • Haqiqiy HTTPS domenlar orqali read-only browser smoke: 20 ta CRM va 3 ta public sahifa, 23/23 muvaffaqiyatli
  • CRM→API→public media E2E: PNG→WebP, haqiqiy MP4, public ko‘rinish va to‘liq DB/fayl cleanup
  • DBga bog‘lanmagan ikkita eski 4×4 test PNG recoverable Trash’ga ko‘chirildi; galereya DB va katalog toza
  • Prisma 6.19.3 health, 15 migration va nol schema-diff bilan production’da ishlamoqda
  • Yakuniy atomik snapshot: 339 DB obyekti va 9 media; izolatsiyalangan restore: 45 jadval va 9/9 media
  • API, CRM, sayt va ikkala bot PM2’da online; public sayt, hisobot va CRM HTTP 200
  • 3000/3001/3002 faqat 127.0.0.1da; payment mock/webhook 503, PBX kalitsiz 403, delivery 503 va DB o‘zgarmaydi
  • Barcha kod va hisobot commitlari Git remote branch’iga yuborildi
Ma’lumotlar qatlami

Prisma 5.22 dan 6.19.3 ga nazoratli yangilandi

Bajarildi

Prisma ORM va Client bir xil 6.19.3 versiyaga ko‘chirildi. Rasmiy breaking-change ro‘yxati schema va kod bo‘yicha tekshirildi, CLI konfiguratsiyasi alohida prisma.config.ts fayliga o‘tkazildi. Production DBga hech qanday noma’lum schema o‘zgarishi qo‘llanmadi.

  • Node 22.14 va TypeScript 5.6 Prisma 6 talablariga mos
  • Bytes field, eski NotFoundError, $use middleware va PostgreSQL implicit many-to-many bog‘liqligi topilmadi
  • Prisma Client 6.19.3 muvaffaqiyatli generatsiya qilindi, schema valid
  • Production bazadagi 15 migratsiya dolzarb va schema-diff natijasi “No difference detected”
  • prisma.config.ts root .env, schema, migration path va seed buyrug‘ini deterministik belgilaydi
  • 230 ta backend testi, barcha production buildlar va 0-vulnerability audit o‘tdi
  • Prisma 7 ESM, yangi client output, PostgreSQL driver adapter va pool semantikasini bir vaqtda o‘zgartirgani uchun alohida arxitektura migratsiyasiga ajratildi
Integratsiyalar xavfsizligi

Delivery, PBX va to‘lov adapterlari rostgo‘y fail-closed holatga o‘tkazildi

Bajarildi

Shartnoma va tekshirilgan real adapter bo‘lmaguncha production endi soxta Yandex trek, “javob berildi” telefon yozuvi yoki soddalashtirilgan Payme/Click/Uzum webhook natijasini yaratmaydi. CRM integratsiya holatini ochiq ko‘rsatadi; ichki kuryer, qo‘lda tasdiqlangan qo‘ng‘iroq va naqd/terminal oqimlari ishlashda davom etadi.

  • DELIVERY_PROVIDER production’da disabled; mock faqat test/development muhitida mumkin
  • Yandex tokenining o‘zi real API chaqiruvisiz vazifani “yo‘lda” holatiga o‘tkaza olmaydi
  • Payme, Click va Uzum CRM’da saqlangan, “ulanmagan” deb ko‘rinadi va tanlab bo‘lmaydi
  • Soddalashtirilgan real payment invoice/webhook metodlari olib tashlanib, contract testgacha yopildi
  • PBX kaliti bot kalitidan alohida, kamida 32 belgili va faqat X-PBX-Key header orqali qabul qilinadi
  • PBX kaliti constant-time taqqoslanadi, webhooklar rate-limit bilan himoyalangan
  • ATS ulanmagan click-to-call endi soxta ANSWERED yozuvi yaratmaydi; qurilmaning raqam terish oynasini ochadi
Credential xavfsizligi

Production JWT va ichki servis kalitlari xavfsiz aylantirildi

Bajarildi

Deploydan keyingi qat’iy tekshiruv eski konfiguratsiyada developmentga xos kalit nomlanishi saqlanib qolganini aniqladi. Qiymatlar publik qilinmasdan kriptografik tasodifiy, alohida kalitlarga atomik almashtirildi; barcha servislar yangi konfiguratsiya bilan birga qayta yuklandi. Xavfsizlik uchun avvalgi CRM sessiyalari bekor bo‘ldi, login va parol esa o‘zgarmadi.

  • JWT va bot-service kaliti 48 kriptografik tasodifiy baytdan alohida yaratildi
  • Almashtirish vaqtinchalik fayl va atomik rename bilan, qiymatlarni terminalga chiqarmasdan bajarildi
  • Validator endi local/development/sample/test shablonlarini hamda bir xil ikki kalitni rad etadi
  • Faol API processi aynan yangilangan kalitlarni yuklagani qiymatlarni ko‘rsatmasdan tekshirildi
  • API, CRM, sayt va ikkala Telegram boti online; health va public sahifalar 200 holatda
Asosiy sayt va CMS

Sayt boyitildi, real media uchun xavfsiz CRM boshqaruvi qo‘shildi

Bajarildi

Bosh sahifaga xizmat yo‘nalishlari, parvarish tavsiyalari, qulay navigatsiya, real ish videosi bloki, SEO structured data va accessibility yaxshilanishlari qo‘shildi. CRM endi RU/UZ matnlarini, “oldin/keyin” juftligini, tartibini va jarayon videosini boshqaradi. Haqiqiy tasdiqlangan media bo‘lmasa, sayt mavjud grafikani rostgo‘y ravishda “illyustratsiya” deb belgilaydi.

  • Bosh sahifa 6 ta xizmat yo‘nalishi, 4 ta parvarish tavsiyasi va aniq CTA bilan to‘ldirildi
  • CRM’da ikki tilli sayt matnlari hamda galereya/video boshqaruvi yaratildi
  • Galereya rasmlari serverda ochilib tekshiriladi, EXIF/metama’lumotdan tozalanadi, 2000 px gacha kichraytiriladi va WebP formatiga o‘tkaziladi
  • Jarayon videosi faqat MP4/WebM byte-signature bilan, UUID nomida va 30 MB limitda qabul qilinadi
  • Buyurtmadagi “keyin” fotosini galereyaga chiqarish uchun haqiqiy “oldin” fotosi va mijozga ko‘rinadigan media talabi qo‘yildi
  • URL, xarita koordinatasi, lazy-loading, klaviatura skip-link, JSON-LD va ikki tilli alt/aria matnlari tekshirildi
  • 222 ta backend testi, barcha production buildlar va dependency audit muvaffaqiyatli o‘tdi; auditda 0 ta zaiflik
Kutubxonalar xavfsizligi

Next.js va NestJS xavfsiz versiyalarga nazoratli yangilandi

Bajarildi

Sayt va CRM Next.js 15.5.20 ga, API esa NestJS 11.1.28 hamda Express 5 liniyasiga ko‘chirildi. Har bir breaking o‘zgarish kod darajasida moslashtirildi; framework, upload va transitive paketlar auditi nol zaiflikka tushirildi.

  • Boshlang‘ich npm audit: 29 ta yozuv; yakuniy audit: 0 ta
  • Next.js async route-param API’siga barcha public sahifalar moslashtirildi
  • NestJS peer-paketlari bitta 11.1.28 dependency grafigiga birlashtirildi
  • Multer 2.2 va Express 5 production liniyasi o‘rnatildi
  • JWT muddati qat’iy formatda tekshirilib, xavfsiz son qiymatiga aylantiriladi
  • 216 ta backend testi va barcha to‘rtta ilova production build’i muvaffaqiyatli o‘tdi
Server chegaralari

Ichki servis portlari va production konfiguratsiyasi yopildi

Bajarildi

API, CRM va sayt endi faqat server loopback interfeysida ishlaydi; tashqi trafikning yagona yo‘li Nginx bo‘lib qoldi. PM2 root env’ni deterministik yuklaydi va production rejimini majburiy o‘rnatadi, backend esa xavfli konfiguratsiyada start olmaydi.

  • 3000, 3001 va 3002 portlari faqat 127.0.0.1 manzilida tinglamoqda
  • Barcha besh PM2 servisida NODE_ENV=production tekshirildi
  • JWT va ichki servis kalitlaridagi development fallbacklar olib tashlandi
  • Production CORS faqat rasmiy HTTPS originlarga qisqartirildi
  • Public domen ichki stage media uchun 404, galereya uchun 200 qaytarmoqda
  • Nginx CSP/header va upload chegaralari Git’da tayyor; qo‘llash uchun server root ruxsati kerak
Backup va tiklash

DB va media uchun atomik backup hamda real restore-test joriy qilindi

Bajarildi

Kunlik systemd vazifasi PostgreSQL va lokal media fayllarini bitta versiyalangan snapshotga yig‘adi, SHA-256 bilan tekshiradi va daily/weekly/monthly retention qoidasini qo‘llaydi. Haftalik test nusxani alohida vaqtinchalik DB va katalogga tiklaydi.

  • Real snapshotda 339 ta DB obyekti va 11 ta media fayl saqlandi
  • Izolatsiyalangan sinovda 45 ta jadval va barcha 11 ta media muvaffaqiyatli tiklandi
  • Backup va restore systemd service’lari exit-code 0 bilan qayta tekshirildi
  • Bir vaqtda ikki backup ishlashini bloklovchi lock va atomik staging qo‘shildi
  • Offsite nusxa to‘liq credential bo‘lmasa ishlamaydi; tayyor oqim AES-256 bilan shifrlaydi va qayta ochib tekshiradi
Kirish xavfsizligi

Tizim egasining SUPERADMIN kirishi xavfsiz tiklandi

Bajarildi

Tizim egasining tasdig‘i bilan yagona faol SUPERADMIN hisobiga yangi kuchli vaqtinchalik parol o‘rnatildi. Maxfiy credential hisobotga yoki kodga kiritilmadi.

  • Reset faqat aniq topilgan bitta faol SUPERADMIN hisobiga qo‘llandi
  • Amal server audit-log’iga sirlarni kiritmasdan yozildi
  • Yangi credential real login API orqali muvaffaqiyatli tekshirildi
Media xavfsizligi

Barcha fayl yuklash oqimlari yagona xavfsiz qoidaga o‘tkazildi

Bajarildi

Bosqich, mijoz, galereya, Telegram va qo‘ng‘iroq mediafayllari endi foydalanuvchi yuborgan nom yoki MIME’ga ishonmaydi. Server fayl turini mazmuni bo‘yicha tekshiradi, xavfsiz UUID nom beradi va qat’iy hajm limitini qo‘llaydi.

  • Rasmlar faqat JPEG, PNG yoki WebP byte-signature bilan qabul qilinadi
  • Bosqich fotosini faqat biriktirilgan usta yoki administrator yuklay oladi
  • Audio faqat MP3, WAV, OGG yoki M4A sifatida tekshirilib saqlanadi
  • PBX yozuvlari faqat alohida ruxsat etilgan HTTPS hostdan, redirectsiz va 50 MB gacha olinadi
  • Telegram hujjatlari bajarilmaydigan binar formatda, asl nomi esa faqat xavfsiz ko‘rsatish uchun saqlanadi
  • Mavjud media ombori tekshirildi: fayl turlari kutilgan formatlarga mos
Keyingi bosqich

Backup va tiklash tizimini kuchaytirish

Jarayonda

Lokal DB+media snapshot, retention va real restore-test yakunlandi. Qolgan yagona qism — tashqi S3 endpoint, bucket, access key va alohida shifrlash paroli berilgach AES-256 offsite nusxani faollashtirish.

  • DB va media bitta atomik backup sikliga kiritildi
  • Kunlik/haftalik/oylik retention ishlamoqda
  • Test tiklash production ma’lumotlarini buzmasdan bajarildi
  • Tashqi storage credentiallari serverda hozircha mavjud emas
Server xavfsizligi

Portlar, security-header va production konfiguratsiyasini qat’iylashtirish

Jarayonda

Loopback portlar, qat’iy production env-validatsiya va public media chegarasi production’da ishlamoqda. Nginx CSP va qo‘shimcha header konfiguratsiyasi tayyor, lekin `/etc/nginx`ga qo‘llash uchun root ruxsati talab qilinadi.

  • Port va firewall holati qayta tekshirildi
  • API, CRM va sayt loopback’ka ko‘chirildi va smoke-testdan o‘tdi
  • Nginx konfiguratsiyasi Git rollback bilan tayyorlandi
  • Qolgan ish: root orqali o‘rnatish, nginx -t, reload va header smoke-test
Texnik qarz

Framework va kutubxonalarni nazoratli yangilash

Bajarildi

Next.js, NestJS, Express, Multer va transitive paketlar xavfsiz liniyalarga yangilandi; Prisma 6.19.3 migratsiyasi ham schema-diff bilan yakunlandi. Auditda zaiflik qolmadi. Prisma 7 esa ESM va driver-adapter arxitektura o‘zgarishi sabab xavfsiz alohida siklga ajratildi.

  • 29 ta audit yozuvi 0 tagacha kamaytirildi
  • Next.js va NestJS migratsiyasi test/build bilan yakunlandi
  • Prisma 6.19.3 migratsiyasi 15 ta dolzarb migration va nol schema-diff bilan yakunlandi
  • Prisma 7 uchun xavfsiz arxitektura migratsiya chegarasi hujjatlashtirildi
Asosiy sayt

Restoria.uz saytini to‘ldirish, boyitish va qulaylashtirish

Jarayonda

Saytning kontent, UX, SEO va CMS bazasi yakunlandi. Galereya hamda video uchun xavfsiz texnik oqim tayyor; qolgan kontent bosqichi — mijoz roziligi olingan haqiqiy “oldin/keyin” foto va jarayon videolarini CRM orqali yuklash.

  • Xizmatlar, narx, muddat, parvarish, Telegram/telefon CTA va kuzatish yo‘li boyitildi
  • CRM orqali RU/UZ kontent, WebP galereya, video poster va jarayon videosini boshqarish tayyor
  • SEO structured data, lazy-loading va asosiy accessibility talablari tekshirildi
  • Qolgan ish: egasi tasdiqlagan real media fayllarini tavsif va kategoriya bilan yuklash
Integratsiyalar

Real to‘lov providerlari va PBX’ni shartnoma asosida ulash

Jarayonda

Production fail-closed himoyasi yakunlandi: ulanmagan Payme, Click, Uzum, Yandex Delivery va PBX soxta natija bermaydi. Qolgan tashqi bosqich — tanlangan providerlar bilan shartnoma, rasmiy credential, sandbox va imzo/idempotency contract-testlari.

  • Ulanmagan providerlar CRM’da ko‘rinadi, lekin tanlab bo‘lmaydi
  • Payment, delivery va PBX production mock/fallback oqimlari yopildi
  • Qolgan ish: rasmiy provider credentiallari va sandbox contract-testlari
Ma’lumotlarni himoyalash

Realtime kanal va public API chegaralari himoyalandi

Bajarildi

CRM WebSocket ulanishi JWT, faol hisob va individual ruxsatlar bo‘yicha tekshiriladi. Hodisalar faqat tegishli permission-room’larga yuboriladi. Public matn endpointi esa faqat saytga zarur org maydonlarini qaytaradi.

  • Tokensiz WebSocket ulanish hodisalarni qabul qilmaydi
  • Qo‘ng‘iroq hodisasi faqat mijozlarni ko‘rish huquqiga ega rollarga boradi
  • AI va kanal sozlamalari public texts javobidan chiqarildi
  • Demo sharhlar va ichki review maydonlari public javobdan chiqarildi
Telegram xavfsizligi

Bot identifikatsiyasi va media oqimi himoyalandi

Bajarildi

Mijoz va xodim botlari endi faqat foydalanuvchining o‘z Telegram kontakti orqali bog‘lanadi. Begona profilga bog‘langan hisob yashirincha almashtirilmaydi. Suratlar Telegram tokenli URL sifatida saqlanmaydi — avval tekshirilib Restoria storage’iga ko‘chiriladi.

  • Kontakt egasi Telegram user ID bo‘yicha tekshiriladi
  • Xodim daromadi endpointiga servis kaliti tekshiruvi qo‘shildi
  • Vazifa va kuryer nuqtalari aynan biriktirilgan ijrochiga tegishliligi tekshiriladi
  • Ko‘p bosqichli ishni majburiy fotosiz bot orqali yopish bloklandi
  • Rasm turi fayl nomi emas, haqiqiy byte-signature orqali aniqlanadi
To‘lov xavfsizligi

Production’dagi test onlayn to‘lovlar yopildi

Bajarildi

Mock havola va imzosi tekshirilmagan provider webhook’lari endi production bazasida to‘lovni tasdiqlay olmaydi. Real Payme/Click adapterlari to‘liq imzo va tranzaksiya testlaridan o‘tmaguncha tizim fail-closed holatda qoladi.

  • Production PAYMENT_PROVIDER disabled holatiga o‘tkazildi
  • Mock rejim faqat non-production muhitida ishlaydi
  • CRM’da providerlar “ulanmagan” deb ko‘rinadi va tanlash bloklangan; Telegram bot havola bermaydi
  • Saytdagi Payme/Click haqidagi nomuvofiq va’dalar olib tashlandi
Kirish xavfsizligi

Ochiq demo-administrator kirishi yopildi

Bajarildi

CRM login sahifasidan tayyor telefon va parol olib tashlandi. Ommaga ma’lum bo‘lgan eski hisob bloklandi, uning eski sessiyalari yaroqsiz qilindi va paroli qayta ishlatib bo‘lmaydigan qiymatga almashtirildi.

  • Bloklashdan oldin boshqa faol SUPERADMIN mavjudligi tekshirildi
  • Eski demo login API darajasida 401 javob qaytarmoqda
  • Seed va test skriptlaridan production credentiallari olib tashlandi
  • Amal server audit-log’iga yozildi
Shaffoflik

Doimiy rivojlantirish hisoboti yaratildi

Bajarildi

Sayt, CRM va integratsiyalarda bajarilgan xavfsiz o‘zgarishlar qadam-baqadam saqlanadigan ikki tilli ochiq jurnal joriy qilindi.

  • Hisobot manbasi Git tarixida saqlanadi
  • Sahifa RU va UZ tillarida ishlaydi
  • Sirlar va ekspluatatsiya tafsilotlari publik qilinmaydi
Xavfsiz boshlanish

Nazoratli o‘zgartirish jarayoni boshlandi

Bajarildi

Tekshirilmagan kodni avtomatik yuboruvchi jarayon to‘xtatildi. O‘zgarishlardan oldin ma’lumotlar bazasi va lokal media snapshotlari olindi, alohida ish branch’i yaratildi.

  • Production servislar ishlashda davom etdi
  • DB backup muvaffaqiyatli yaratildi
  • Media snapshot checksum bilan tekshirildi
Audit

Sayt va CRM tizimi to‘liq read-only tekshirildi

Bajarildi

Arxitektura, API, buyurtma konveyeri, botlar, to‘lovlar, marshrutlar, backup, SEO va server konfiguratsiyasi tekshirildi. Tuzatishlar xavf darajasi bo‘yicha rejalashtirildi.

  • 192 ta backend testi muvaffaqiyatli o‘tdi
  • 15 ta DB migratsiyasi dolzarb
  • Barcha production servislar online holatda
Bosh sahifaga qaytish