Navvo
الأدلّة

تحليلات البحث والخصوصية

ما الذي تسجّله Navvo عند استدعاء البحث، وكيف تعمل الموافقة والجلسات، وخيارات إلغاء الاشتراك، ومدة الاحتفاظ بأي شيء، وكيف ترسل أحداث النقر.

تحليلات البحث والخصوصية

تحتفظ Navvo بسجلّ صغير لكل عملية بحث لتكتشف مواضع الخلل: استعلامات لا تعيد شيئًا، ونتائج لا يفتحها أحد، واستجابات بطيئة. وبذلك تستطيع إصلاح الترتيب للجميع. تبيّن هذه الصفحة بدقة ما يُسجَّل، وما لا يُسجَّل أبدًا، ومدة الاحتفاظ به، وكيف تبقى أنت ومستخدموك أصحاب القرار. وهي تغطّي GET /search وPOST /search/events.

تحليلات البحث مستعارة الهوية لا مجهولة الهوية. لا تحمل السجلّات اسمًا ولا حسابًا ولا عنوان IP، لكن بعضها يحمل تجزئات مُفتاحية تربط السجلّات المُنشأة في اليوم نفسه. وكل حقل من هذا النوع موصوف أدناه. اذكر تحليلات البحث في إشعار الخصوصية لتطبيقك (انظر قائمة التحقّق).

النموذج في جدول واحد

دون موافقة (الافتراضي)بموافقة المستخدم
سجلّ البحثيُحفَظ، غير مرتبط بجلسةيُحفَظ، مرتبطًا بتجزئة جلسة خاصة بذلك اليوم
ترويسة X-Navvo-Sessionلا ترسلهاأرسل معرّفًا عشوائيًا لكل جلسة
أحداث النقر والتحويلتُرفَضتُقبَل
المتصفّح يرسل Sec-GPC: 1 أو DNT: 1لا تغييريُعامَل كغياب الموافقة
analytics=false أو X-Navvo-Analytics: offلا يُحفَظ شيء في تحليلات البحثلا يُحفَظ شيء في تحليلات البحث

ما الذي تسجّله Navvo لكل عملية بحث

سجلّ واحد لكل طلب GET /search:

ما يُسجَّلالتفاصيل
الاستعلامبعد التنقية، بحدّ أقصى 200 حرف، مع صيغة مُطبَّعة تُستخدم لتجميع عمليات البحث المتطابقة.
كيف قُرئاللغة المكتشَفة، واللغة المطلوبة، والنيّة المحلَّلة: معرّفات التصنيفات، و«قريب مني»، و«مفتوح الآن»، ومنطقة معروفة، ووصف مميِّز. ولا إحداثيات ولا نص حرّ أبدًا.
مصدرهنوع الحركة (api أو sdk أو أحد تطبيقات Navvo نفسها). ولطلبات مفاتيح API: معرّف المفتاح والمشروع، كي يُنسَب السجلّ إلى مشروعك.
المرشّحات والصفحاتما إذا أُرسلت نقطة أصل أو bbox، ونوع نقطة الأصل، وcategory وpage وlimit وmode، وملخّص من قائمة مسموحة للمرشّحات (openNow، minRating، عدد السمات، sort، radiusKm).
منطقة تقريبيةفقط عند إرسال نقطة أصل: خلية شبكة بمساحة نحو 30 × 20 كم حولها، لا الإحداثيات أبدًا. ولا تُحفَظ لعمليات البحث الحسّاسة.
النتائجالإجمالي، وعدد المعروض، وما إذا كان البحث لم يُعِد شيئًا، ومعرّفات أول 20 مكانًا أُعيدت.
طريقة الخدمةالمطابقة بالكلمات أو بالمعنى، وأي صيغ إملائية جُرِّبت، وأي قواعد تحريرية طُبِّقت، ومجموعة الاختبار إن كان اختبار ترتيب جاريًا، وزمن الاستجابة.
تجزئة الشبكةتجزئة مُفتاحية لعنوان IP الخاص بالعميل تُحسَب مع التاريخ، فلا يمكن ربط تجزئات الأيام المختلفة بعضها ببعض. تستخدمها Navvo للحدّ مما تسجّله من شبكة واحدة ولتجميع سلسلة ضغطات المفاتيح. ولا تُحفَظ لعمليات البحث الحسّاسة.
تجزئة الجلسةبموافقة فقط: تجزئة مُفتاحية لمعرّف X-Navvo-Session الخاص بك مع التاريخ، فلا يمكن ربطها هي الأخرى عبر الأيام.
ما حدث بعد ذلكيُملأ لاحقًا من الأحداث: ما إذا فُتحت نتيجة، وموضع أول نقرة، وما إذا أدّى ذلك إلى تحويل.

لا يرد أبدًا في سجلّ البحث: عنوان IP نفسه، ولا حساب المستخدم أو معرّفه، ولا وكيل المستخدم (user agent)، ولا الإحداثيات الدقيقة، ولا معرّف الجلسة الخام. وبمعزل عن ذلك، يسجّل قياس استخدام الواجهة البرمجية العنوان الذي يأتي منه كل استدعاء بمفتاح API (وهو عادةً خادمك، أو جهاز مستخدمك عند استخدام المفتاح من متصفّح أو تطبيق) لأغراض الفوترة ومنع إساءة الاستخدام، أيًّا كان إعداد التحليلات.

لحماية التخزين، لا تسجّل Navvo أكثر من 30 عملية بحث في الدقيقة من شبكة واحدة. وما يزيد على ذلك يُحتسب ولا يُخزَّن. أمّا عمليات البحث المُرسَلة من تبويب بيئة الاختبار في بوابة المطوّرين فلا تُسجَّل أبدًا.

تنقية الاستعلام

قبل تخزين أي شيء، يمرّ الاستعلام بمرحلة تنقية. تُحوَّل الأرقام العربية الهندية وأرقام العرض الكامل (٠٧٩…، 079…) إلى أرقام ASCII أولًا، فلا تتسلّل الأرقام بأي كتابة كانت. ثم:

ما يرد في الاستعلاميُخزَّن على شكل
عناوين البريد الإلكتروني[email]
عناوين الويب[url]
معرّفات التواصل الاجتماعي (@name)[handle]
أرقام الهواتف، بما فيها الصيغ ذات المسافات والشرطات والنقاط والفواصل (والفاصلة العربية ، أيضًا) وأرقام +962، وأي سلسلة من 6 أرقام أو أكثر#
الأرقام الشبيهة بأرقام البطاقات، من 13 إلى 19 رقمًا#
أرقام الحسابات المصرفية (IBAN)[iban]
أرقام لوحات المركبات مثل 12-34567#
الإحداثيات المكتوبة كزوج، مثل 31.9539, 35.9106، ورموز Plus Codes#

تحلّ الرموز البديلة محلّ القيمة في النص المخزَّن وفي الصيغة المُطبَّعة المستخدمة لتجميع عمليات البحث المتطابقة معًا. ولا يُستخدم أبدًا استعلام احتاج إلى تنقية في الاقتراحات أو في إشارات الترتيب.

عمليات البحث الحسّاسة

عندما يقع الاستعلام أو نتيجته الأولى ضمن تصنيف حسّاس، تحتفظ Navvo بسجلّ البحث دون أي شيء يمكن أن يربطه. التصنيفات الحسّاسة هي الصحة (المستشفيات والعيادات والصيدليات وما شابهها) والدين (دور العبادة). لا يحمل السجلّ تجزئة جلسة ولا تجزئة شبكة ولا خلية منطقة، وتُرفَض الأحداث الخاصة بذلك البحث. ولا تُستخدم عمليات البحث هذه أبدًا في إشارات الترتيب أو الاقتراحات.

الموافقة والجلسات

اطلب الإذن أولًا

لا ترسل X-Navvo-Session إلا بعد أن يوافق المستخدم، مثلًا عبر إعداد مثل «حسّن البحث باستخدام نشاطي» يكون معطَّلًا افتراضيًا. وهكذا يفعل navvo.io. ودون الترويسة يعمل البحث تمامًا كما هو، ولا يُربط سجلّه بأي جلسة.

ولّد المعرّف

// 16 random bytes -> 22 URL-safe characters, created fresh for each session.
function newSearchSession() {
  let id;
  do {
    const bytes = crypto.getRandomValues(new Uint8Array(16));
    id = btoa(String.fromCharCode(...bytes)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
  } while (/\d{6}/.test(id)); // Navvo ignores ids with 6+ digits in a row (they look like phone numbers)
  return id;
}
  • الصيغة: من 16 إلى 64 حرفًا من A–Z a–z 0–9 _ -، دون ستة أرقام متتالية أو أكثر. تتجاهل Navvo أي قيمة أخرى، ويُعامَل البحث كأنه دون موافقة.
  • العمر: أنشئ معرّفًا جديدًا لكل جلسة، أي لكل تبويب متصفّح (sessionStorage) أو لكل تشغيل للتطبيق. ولا تحتفظ بمعرّف واحد لعدة أيام: فتجزئة Navvo تتضمّن التاريخ على أي حال، والمعرّف طويل العمر لا يضيف شيئًا.
  • غير مُعرِّف أبدًا: لا تشتقّه من معرّف مستخدم أو بريد إلكتروني أو رقم هاتف أو معرّف جهاز أو معرّف إعلاني.
  • سحب الموافقة: عندما يعطّل المستخدم الإعداد، توقّف فورًا عن إرسال الترويسة والأحداث، وتخلّص من المعرّف.

إشارات الخصوصية

إذا أرسل متصفّح المستخدم Sec-GPC: 1 (Global Privacy Control) أو DNT: 1، تعامل Navvo البحث كأنه دون موافقة حتى مع وجود معرّف جلسة. وإذا كان خادمك يستدعي Navvo نيابةً عن المستخدم، فمرّر هاتين الترويستين، أو لا ترسل معرّف جلسة لهؤلاء المستخدمين.

إلغاء الاشتراك كليًّا

أضف analytics=false أو أرسل الترويسة X-Navvo-Analytics: off، فلا تحتفظ تحليلات البحث بأي سجلّ لذلك البحث. استخدمه في:

  • الاختبارات الآلية وفحوص المراقبة واختبارات الحِمل؛
  • المهام المجمَّعة أو الدفعية (ترميز جدول بيانات من الأسماء جغرافيًا مثلًا)؛
  • أي تكامل ينصّ عقده على عدم استخدام مدخلات البحث في التحليلات.

يقتصر إلغاء الاشتراك على تحليلات البحث. فالطلب، شأنه شأن أي استدعاء للواجهة البرمجية، يمرّ مع ذلك بقياس الاستخدام وبالسجلّات التقنية (انظر مدة الاحتفاظ).

التكاملات من خادم إلى خادم

إذا كان خادمك يستدعي Navvo لمستخدميك:

  • تكون تجزئة الشبكة لعنوان خادمك لا لعناوين مستخدميك. ولا تحمل سجلّات البحث أي عنوان بحدّ ذاته، بينما يسجّل قياس الاستخدام عنوان خادمك مع كل استدعاء بمفتاح API.
  • مرّر معرّف الجلسة الذي وافق عليه مستخدمك في X-Navvo-Session تمامًا كما يفعل المتصفّح، ولا تمرّر أبدًا معرّفات المستخدمين لديك.
  • مرّر Sec-GPC وDNT من طلب المستخدم.
  • مرّر الأحداث عبر الخادم نفسه وبمفتاح API نفسه، لأن الحدث يجب أن يحمل المفتاح الذي استخدمه البحث.

مدة الاحتفاظ

البياناتمدة الاحتفاظ
سجلّات البحث30 يومًا، ثم تُحذَف. ولعمليات البحث التي تتمّ بمفاتيح API الخاصة بك، يستطيع مشروعك أن يختار 30 يومًا (الافتراضي) أو 90 يومًا أو الإيقاف من بوابة المطوّرين؛ ويحذف الإيقاف أيضًا ما خُزِّن من قبل، بما في ذلك الأحداث.
أحداث النقر والتحويل90 يومًا
الإجماليات اليومية: أعداد لكل يوم ونوع حركة ولغة، دون نص الاستعلامنحو 13 شهرًا
الأحداث التي لم يصل سجلّ بحثها قطتُحذَف بعد نحو 24 ساعة
السجلّات التقنية30 يومًا لسجلّات التطبيق، والأرشيفات الشهرية لسجلّات الوصول في خادم الويب حتى نحو 30 يومًا بعد نهاية الشهر الذي تغطيه. لأغراض الأمان واستكشاف الأعطال

السجلّات التقنية منفصلة عن تحليلات البحث، ولا يغيّرها إلغاء الاشتراك. فسجلّات الطلبات الخاصة بالواجهة البرمجية نفسها لا تسجّل، في طلبات البحث والترميز الجغرافي، سلسلة الاستعلام (نص البحث وأي إحداثيات) ولا الصفحة التي جاء منها الطلب ولا ترويسات عنوان IP المُمرَّرة للعميل ولا ترويسة البلد التي تضيفها حافة الشبكة، وتحجب X-Navvo-Session. أمّا سجلّات الوصول في خادم الويب فتظلّ تسجّل كل طلب كما وصل، بما في ذلك الرابط الكامل وعنوان IP الذي جاء منه، وتُدوَّر تلقائيًا.

كيف تُستخدم البيانات

  • قياس البحث: معدّل النتائج الصفرية، ونسبة النقر إلى الظهور، ومتوسط موضع النقر، ومعدّل التحويل، وأزمنة الاستجابة.
  • إصلاح البحث: يراجع فريق Navvo تقارير مجمَّعة، مثل أكثر الاستعلامات وروداً والاستعلامات التي لا نتائج لها والاستعلامات التي لا يفتح فيها أحد شيئًا، ثم يستجيب بإضافة مرادفات وأسماء بديلة للأماكن وقواعد تحريرية. ويرى مشرفو Navvo نصوص الاستعلامات في لوحة البحث الخاصة بـ Navvo، أمّا نصوص عمليات البحث التي تمّت بمفاتيح API فلا يراها إلا أعلى دور إداري في Navvo. ويُسجَّل في سجلّ التدقيق فتحُ صفحة تفاصيل أي استعلام والتصديرُ. ويرى مالك المشروع تحليلات مشروعه، بما فيها نصوص أكثر استعلاماته وروداً والاستعلامات التي لم تُعِد نتائج، في بوابة المطوّرين.
  • إشارات الترتيب: قد تساعد النقرات المجمَّعة من تطبيقات Navvo نفسها (وليس من حركة مفاتيح API أبدًا) في ترتيب الاستعلامات الملاحية، لكن فقط حين تكون إعادة الترتيب المعتمدة على النقرات مفعّلة لدى Navvo، وفقط لاستعلام شوهد من 10 تجزئات شبكة يومية مختلفة على الأقل في 3 أيام مختلفة على الأقل. ولأن تجزئة الشبكة تتضمّن التاريخ، فهذا الحدّ يَعُدّ تركيبات من شبكة ويوم، لا أشخاصًا مختلفين ولا شبكات مختلفة. ولا تُستخدم أبدًا النقرات الواردة من عمليات البحث الحسّاسة أو على النتائج المُروَّجة.
  • اختبارات الترتيب: أثناء اختبار Navvo تغييرًا في الترتيب، قد يوضع البحث الذي يحمل معرّف جلسة في مجموعة اختبار، ويبقى في المجموعة نفسها طوال اليوم. أمّا عمليات البحث دون معرّف جلسة فتحصل دائمًا على الترتيب القياسي.
  • الاقتراحات تأتي من مفردات Navvo الخاصة (أسماء التصنيفات والأماكن والمناطق بالعربية والإنجليزية والعربيزي) ومن عبارات بحث راجعها فريق Navvo واعتمدها، وقد تكون العبارة المعتمدة قد لُوحظت أولًا في عمليات بحث الناس. ولا تُولَّد الاقتراحات تلقائيًا أبدًا ممّا يكتبه الناس. راجع GET /search/suggestions.
  • حركة البحث الخاصة بمشروعك لا تُشارَك مع عملاء آخرين.

تعريف المقاييس

المقياسالتعريف
عمليات البحثسجلّات البحث، دون احتساب ضغطات المفاتيح الوسيطة في سلسلة كتابة.
معدّل النتائج الصفريةعمليات البحث التي لم تُعِد شيئًا، مقسومة على كل عمليات البحث.
نسبة النقر إلى الظهورعمليات البحث التي فيها نقرة صالحة واحدة على الأقل، مقسومة على عمليات البحث المؤهَّلة للأحداث التي أعادت نتائج.
متوسط موضع النقرمتوسط موضع أول نقرة.
معدّل التحويلعمليات البحث التي أعقبها تحويل، مقسومة على عمليات البحث المؤهَّلة للأحداث التي أعادت نتائج.

لا تُبلغ Navvo عن مقياس إلا عندما يستند إلى 30 عملية بحث على الأقل.

عامِل الأعداد على أنها تقدير قريب لا سجلّ تدقيق. فالتسجيل لا يُبطئ عملية بحث ولا يعطّلها أبدًا: تحدّ Navvo مما تسجّله من العنوان الواحد (ولعمليات البحث بمفتاح API، لكل مفتاح)، وتوقف التسجيل كليًّا ما دامت مساحة التخزين في المنصة منخفضة. وتبقى عمليات البحث تُجاب أثناء التوقف، ولا تُضاف لاحقًا عمليات البحث التي جرت خلاله، ويُعلَن عن التوقف في سجلّ التغييرات.

قائمة التحقّق لإشعار الخصوصية

إذا كان تطبيقك يستخدم بحث Navvo، فينبغي أن يغطّي إشعار الخصوصية لديك ما يلي:

  • أن استعلامات البحث تُرسَل إلى Navvo للعثور على الأماكن؛
  • أن Navvo تحتفظ بسجلّ منقّى ومستعار الهوية لكل عملية بحث لمدة 30 يومًا لتحسين البحث، أو 90 يومًا إن اخترت ذلك لمشروعك (فاذكر عندها 90 يومًا)، وبإجماليات يومية دون نص الاستعلام لنحو 13 شهرًا؛
  • إن كان تطبيقك يستدعي Navvo مباشرةً من متصفّح المستخدم أو جهازه: أن Navvo تتلقّى عنوان IP الخاص بالجهاز مع كل طلب، وتسجّله لأغراض الفوترة ومنع إساءة الاستخدام، وفي سجلّات تقنية تُحفَظ لمدة محدودة؛
  • إن كنت تقدّم الإعداد: أن المستخدمين الذين يوافقون يسمحون لمعرّف عشوائي خاص بكل جلسة بربط عمليات بحثهم بالنتائج التي يفتحونها، وأن هذه الأحداث تُحفَظ 90 يومًا؛
  • كيف يُلغي المستخدمون اشتراكهم (إعدادك)، وأن إشارات الخصوصية في المتصفّح (GPC وDo Not Track) تُحترَم.

سياسة Navvo نفسها منشورة على navvo.io/privacy.

Copyright © 2026