QA Wrap

Trust

QA Wrap is closed-source and maintained by one team, so a promise on a web page is not enough. This page gives you a check you can run yourself in five minutes, says what each permission is for, and says what QA Wrap will not do. Each claim below names the test in the repository that guards it.

Check it yourself in five minutes

  1. Open the page you want to test. Press F12 and open the Network tab on that page.
  2. Click the QA Wrap icon, read the notice, wake the extension on the site, press Start, click around, press Stop and open the review.
  3. In the Network tab, every request is to the site you are testing. QA Wrap adds none of its own.
  4. For the extension's own pages, open chrome://extensions, choose Inspect views: service worker, and watch its Network tab during the same session. It stays empty.
  5. The extension's own pages fetch nothing from the internet: every font and image they show is inside the package.

The same claim is checked in the repository by tools/test-independent.mjs, which fails if the extension reaches for a remote script, font, image or address. Its result for each release is kept in that release's record (RELEASE-<version>.json).

The one exception is what you configure yourself. Nothing leaves your machine except where you configure Jira, a tracker or a webhook, and then only when you press File or Send, with the credentials you entered.

What each permission is for, in plain words

Show the table
PermissionWhat it is used for
Access to sitesNone at install. When you press Wake up, Chrome asks for the one site you are on. "All sites" is a second choice, and it stays granted until you remove it. Guarded by tools/test-permissions.mjs.
debuggerCode coverage only. Chrome requires this permission at install and shows it in its install dialog. It attaches to a tab when you press Measure and detaches when the run ends. Nothing attaches it on its own. Guarded by tools/test-permissions.mjs.
Screen, tab and microphone captureOnly when you press Record, and only what you pick in Chrome's own prompt. An administrator can switch the microphone off entirely.

The full list, with the justification given to the store for each, is in the privacy policy and the store listing.

One dependency, pinned

At run time QA Wrap carries one third-party library, axe-core (an accessibility rule engine), at a pinned version. Its SHA-256 is recorded in vendor/README.md and recomputed by tools/release-check.mjs on every release; a changed byte stops the release. Everything else is the project's own code. Build tools are not shipped.

Your data and how long it stays

Sessions are stored in your browser only. Finished sessions are deleted after 30 days by default on a new install; an updated install keeps the value it already had, so an update never starts deleting what you recorded. You can delete any session, with its media, at any time. See the privacy policy for the exact rules.

Reporting a problem, and when to expect an answer

Show the table
WhatWhereWhat to expect
A bugSupport, naderalzghoulbusiness@gmail.comAn acknowledgement within a few working days. This is an intention, not a contract.
A security issuenaderalzghoulbusiness@gmail.com, privatelyAn acknowledgement within 3 working days, and a fix or a written explanation within 30 days.

Continuity. Nader Alzghoul is the publisher and the maintainer. Sessions live on your machine and export to open formats, so if the project stopped, nothing you recorded would be locked inside it. There is no hosted service that could go away. The terms are in SLA.md.

What QA Wrap will not do

Show the table
Not plannedUse this instead, and why
Cross-browser cloudBrowserStack and Sauce Labs. The extension writes a Playwright project that runs on either.
Load and performance testingk6 and JMeter. Measuring a page you are standing on is a different question from load.
Security scanningBurp and ZAP. Breaking a request to see how the front end copes is not a security scan.
Test managementTestRail, Xray, Zephyr. The exports feed all three.
A hosted serviceIt would break the one promise the product rests on: everything works with the network cable unplugged.
OAuth for the trackersAn extension cannot keep a client secret. Personal tokens are the honest mechanism.

Accessibility. Not independently audited; self-scan in progress.

It also has no sign-in, no central audit log, and no single sign-on. A deployment guide for administrators is in ADMIN.md.

الثقة

QA Wrap مغلق المصدر ويصونه فريق واحد، ولا يكفي وعد على صفحة ويب. تعطيك هذه الصفحة فحصا تجريه بنفسك في خمس دقائق، وتقول لماذا يطلب كل إذن، وما الذي لن يفعله QA Wrap. كل ادعاء أدناه يسمي الاختبار الذي يحرسه في المستودع.

افحصها بنفسك في خمس دقائق

  1. افتح الصفحة التي تريد اختبارها. اضغط F12 وافتح تبويب Network فيها.
  2. اضغط أيقونة QA Wrap، واقرأ الإشعار، وأيقظ الامتداد على الموقع، واضغط ابدأ، وتجول في الصفحة، ثم اضغط أوقف وافتح المراجعة.
  3. في تبويب الشبكة، كل طلب موجه إلى الموقع الذي تختبره. لا يضيف QA Wrap أي طلب من عنده.
  4. لصفحات الامتداد نفسها، افتح chrome://extensions، واختر Inspect views: service worker، وراقب تبويب الشبكة فيه أثناء الجلسة نفسها. سيبقى فارغا.
  5. صفحات الامتداد نفسها لا تجلب شيئا من الإنترنت: كل خط وصورة تعرضها موجودة داخل الحزمة.

يفحص الادعاء نفسه في المستودع الاختبار tools/test-independent.mjs، وهو يفشل إن مد الامتداد يده إلى نص برمجي أو خط أو صورة أو عنوان بعيد. نتيجته لكل إصدار محفوظة في سجل ذلك الإصدار (RELEASE-<version>.json).

الاستثناء الوحيد هو ما تضبطه أنت. لا شيء يغادر جهازك إلا حيث تضبط Jira أو أداة تتبع أو ويب هوك، وحينها فقط عند ضغط سجل أو أرسل، وببيانات الاعتماد التي أدخلتها.

لماذا يطلب كل إذن، بكلمات بسيطة

اعرض الجدول
الإذنفيما يستخدم
الوصول إلى المواقعلا شيء عند التثبيت. حين تضغط أيقظ يسألك Chrome عن الموقع الواحد الذي أنت فيه. "كل المواقع" خيار ثان، ويبقى ممنوحا حتى تزيله. يحرسه tools/test-permissions.mjs.
debuggerلتغطية الشيفرة فقط. يشترط Chrome هذا الإذن عند التثبيت ويعرضه في نافذة التثبيت. يرتبط بتبويب حين تضغط قس وينفصل حين ينتهي التشغيل. لا شيء يربطه من تلقاء نفسه. يحرسه tools/test-permissions.mjs.
التقاط الشاشة والتبويب والميكروفونفقط حين تضغط تسجيل، ولا يلتقط إلا ما تختاره في نافذة Chrome نفسها. يستطيع المسؤول إيقاف الميكروفون كليا.

القائمة الكاملة، مع التبرير المقدم للمتجر لكل إذن، في سياسة الخصوصية وصفحة المتجر.

اعتمادية واحدة، مثبتة

يحمل QA Wrap وقت التشغيل مكتبة طرف ثالث واحدة هي axe-core (محرك قواعد لإمكانية الوصول) بنسخة مثبتة. بصمتها SHA-256 مسجلة في vendor/README.md ويعيد tools/release-check.mjs حسابها مع كل إصدار؛ وأي بايت متغير يوقف الإصدار. كل ما عدا ذلك شيفرة المشروع نفسه. أدوات البناء لا تشحن.

بياناتك ومدة بقائها

تخزن الجلسات في متصفحك فقط. تحذف الجلسات المنتهية بعد 30 يوما افتراضيا في التثبيت الجديد؛ والتثبيت المحدث يحتفظ بالقيمة التي كانت عنده، فلا يبدأ التحديث بحذف ما سجلته. تستطيع حذف أي جلسة مع وسائطها في أي وقت. انظر سياسة الخصوصية للقواعد الدقيقة.

الإبلاغ عن مشكلة، ومتى تتوقع ردا

اعرض الجدول
ماذاأينما تتوقعه
عطلالدعم، naderalzghoulbusiness@gmail.comإقرار بالاستلام خلال أيام عمل قليلة. هذه نية لا عقد.
مشكلة أمنيةnaderalzghoulbusiness@gmail.com، بسريةإقرار بالاستلام خلال 3 أيام عمل، وإصلاح أو تفسير مكتوب خلال 30 يوما.

الاستمرارية. نادر الزغول هو الناشر والقائم على الصيانة. الجلسات على جهازك وتصدر بصيغ مفتوحة، فلو توقف المشروع لما بقي شيء مما سجلته محبوسا فيه. لا توجد خدمة مستضافة يمكن أن تزول. الشروط في SLA.md.

ما الذي لن يفعله QA Wrap

اعرض الجدول
غير مخطط لهاستخدم هذا بدلا منه، ولماذا
سحابة متعددة المتصفحاتBrowserStack وSauce Labs. يكتب الامتداد مشروع Playwright يعمل على أي منهما.
اختبار الحمل والأداءk6 وJMeter. قياس صفحة تقف عندها سؤال مختلف عن الحمل.
الفحص الأمنيBurp وZAP. كسر طلب لمعرفة كيف تتصرف الواجهة ليس فحصا أمنيا.
إدارة الاختباراتTestRail وXray وZephyr. تغذي التصديرات الثلاثة كلها.
خدمة مستضافةستكسر الوعد الوحيد الذي يقوم عليه المنتج: كل شيء يعمل والشبكة مفصولة.
OAuth لأدوات التتبعلا يستطيع الامتداد حفظ سر عميل. الرموز الشخصية هي الآلية الصادقة.

إمكانية الوصول. لم يخضع لتدقيق مستقل؛ الفحص الذاتي جارٍ.

ليس فيه أيضا تسجيل دخول ولا سجل تدقيق مركزي ولا دخول موحد. دليل النشر للمسؤولين في ADMIN.md.

More from Nader

المزيد من نادر