راهنمای یکپارچهسازی رضایت کوکی برای تجربه دیجیتال و پخش مجدد جلسه FullStory: دفترچه بازی ۲۰۲۶
FullStory به دلیل واحدی پلتفرم مسلط در دسته تحلیل تجربه دیجیتال است: به طور پیشفرض همه چیز را ضبط میکند. در حالی که ابزارهای تحلیلی سنتی رویدادهای گسستهای را که توسعهدهنده ابزاربندی کرده ثبت میکنند، و پلتفرمهای تحلیل محصول تعاملات به علاوه یک مکمل خودکار ضبطشده را ثبت میکنند، FullStory DOM کاملاً رندرشده، مسیر مکاننما، زمانبندی ضربههای کلید، رفتار اسکرول، کلیکهای خشم، کلیکهای مرده، درخواستهای شبکه و خطاهای JavaScript را ضبط میکند — و آنها را در ضبطهای جلسهای که تحلیلگر میتواند فریم به فریم مرور کند، ترکیب میکند. این پوشش محصول است. همچنین دلیلی است که FullStory در تقاطع سختترین قوانین رضایت در هر رژیم حریم خصوصی مدرن قرار دارد. راهنمای پخش مجدد جلسه EDPB در ۲۰۲۳ و اولویتهای گروه کاری ۲۰۲۶ پخش مجدد جلسه را به عنوان یک دسته رضایت متمایز و سختتر تلقی میکنند. CNIL عمومیترین تنظیمکننده در این موضوع بوده اما تنها نیست — Garante، ICO، AEPD اسپانیایی و AP هلندی همه مواضع همسو صادر کردهاند. استقرار FullStory که برای ضبط رضایت-اول پیکربندی شده، با پوشاندن صحیح، دروازهبندی صحیح و مسیر حسابرسی صحیح، یکی از قدرتمندترین ابزارهایی است که ناشر میتواند اجرا کند؛ آنچه اینطور پیکربندی نشده یکی از آسانترین اهدافی است که تنظیمکننده پیدا میکند.
چرا FullStory در سختترین دسته رضایت قرار دارد
راهاندازی پیشفرض FullStory آنچه هر ابزار پخش مجدد جلسه انجام میدهد و بیشتر انجام میدهد. کوکیهای طرف اول را در فضای نام fs_uid و fs_lua که شامل شناسه دائمی بازدیدکننده و تایماستمپ آخرین فعالیت است تنظیم میکند، شناسه جلسه را در fs_session تولید میکند و شروع به پخش DOM رندرشده به rs.fullstory.com در عرض میلیثانیهها از بارگذاری صفحه میکند. جریان شامل هر رویداد ورودی، هر حرکت ماوس، هر موقعیت اسکرول، هر گذار صفحه و — وقتی ماژول ضبط شبکه فعال است — هر پاسخ XHR و fetch که صفحه صادر میکند، با بدنههای پاسخ در صورتی که اپراتور سرکوب را پیکربندی نکرده باشد.
هر یک از این ضبطها یک دروازه رضایت جداگانه را فعال میکند. ماندگار کردن شناسه بازدیدکننده یک عملیات ذخیرهسازی و دسترسی تحت ماده ۵(۳) دستورالعمل ePrivacy است که به رضایت قبلی، آزادانه دادهشده، خاص، آگاهانه و بدون ابهام در سراسر EEA، UK و هر حوزه قضایی که همان استاندارد را وارد کرده نیاز دارد. ثبت DOM رندرشده پردازش دادههای شخصی تحت GDPR است زیرا سابقه بصری برای شناسایی و آشکار کردن محتوای اساسی در مورد کاربر کافی است. ضبط جریان ضربههای کلید حساسیت ویژهای دارد: هر چیزی که کاربر در یک فیلد فرم تایپ میکند فریم به فریم ضبط میشود، و اگر فیلد پوشانده نشده باشد ضبط شامل محتوای تایپشده است. EDPB صریحاً اعلام کرده که ضبط پخش مجدد جلسه یک دسته است که نیاز به رضایت صریح و دانهای متمایز از رضایت تحلیل عمومی دارد — و اینکه پوشاندن مکمل رضایت است، نه جایگزین آن.
FullStory قبل از رضایت چه مینویسد — و چه باید سرکوب شود
شروع سریع استاندارد FullStory قطعه ردیابی را مستقیماً در <head> صفحه نصب میکند. این همانطور که مستند شده کار میکند و منبع رایجترین شکست انطباق است: قطعه قبل از رندر شدن بنر کوکی اجرا میشود، کوکیهای fs_uid و fs_session در عرض میلیثانیهها نوشته میشوند، و جریان پخش مجدد جلسه صرفنظر از اینکه کاربر بعداً چه تصمیمی میگیرد شروع به جریان به rs.fullstory.com میکند. هر تنظیمکننده اروپایی که درباره این الگو حکم صادر کرده به همان شکل حکم صادر کرده: کوکیهای تنظیمشده قبل از رضایت غیرقانونی هستند، ضبط انجامشده قبل از رضایت پردازش غیرقانونی است، و ناشر مسئولیت را تحمل میکند.
بنابراین یکپارچهسازی منطبق باید از راهاندازی قطعه FullStory تا زمانی که دسته رضایت مربوطه اعطا نشده جلوگیری کند. الگویی که در تولید کار میکند API FS.consent() ترکیبشده با ضبط معوق است: قطعه با FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) بارگذاری میشود و FS.shutdown() فوراً فراخوانی میشود، سپس FS.restart() و FS.consent(true) تنها پس از آن که CMP نشان دهد که دسته پخش مجدد جلسه اعطا شده فراخوانی میشوند. الگوی جایگزین تزریق اسکریپت شرطی است — قطعه FullStory تنها پس از اعطای رضایت به DOM اضافه میشود — که تمیزتر است اما از اپراتور میخواهد هر دوخت هویت قبل از رضایتی را که FullStory در غیر این صورت ارائه میکرد از دست بدهد.
کوکیها و ذخیرهسازی که FullStory مینویسد
قطعه FullStory هنگام راهاندازی شناسههای زیر را مینویسد که همه غیرضروری هستند و نیاز به رضایت دارند: fs_uid با انقضای چند ساله که شامل شناسه دائمی بازدیدکننده است، fs_lua با تایماستمپ آخرین فعالیت کاربر، fs_session با شناسه جلسه، و نشانگرهای وضعیت ضبط که FullStory به صورت داخلی استفاده میکند. پس گرفتن رضایت باید هم آن کوکیها را منقضی کند و هم FS.consent(false) را پس از آن FS.shutdown() برای توقف ضبط بیشتر فراخوانی کند، و ناشر باید از طریق نقطه پایانی حریم خصوصی FullStory یک درخواست حذف برای ضبطهای قبلی کاربر ارسال کند.
نگاشت FullStory به چارچوبهای رضایت
FullStory به طور بومی IAB TCF یا IAB Global Privacy Platform را پیادهسازی نمیکند — یک پلتفرم تجربه دیجیتال طرف اول است، نه فروشنده فناوری تبلیغات. یک API رضایت بومی را نمایش میدهد و از یک مدل پوشاندن پیشفرض-خصوصی پشتیبانی میکند که صرفنظر از وضعیت رضایت عمل میکند. الگویی که بررسی تنظیمکننده را تحمل میکند هر ماژول FullStory را به عنوان یک دروازه جداگانه که به یک سیگنال CMP خاص متصل است تلقی میکند.
- پخش مجدد جلسه و جریان DOM کامل به یک دسته پخش مجدد جلسه یا تحقیق اختصاصی که از تحلیل عمومی متمایز است متصل میشوند. راهنمای EDPB در این نقطه صریح است — رضایت پخش مجدد باید جداگانه و دانهای باشد، نه بسته با تحلیل یا بازاریابی.
- ضبط شبکه پشت یک دروازه فرعی سختتر در همان دسته قرار دارد زیرا بدنههای پاسخ HTTP را که ممکن است حاوی دادههای شخصی نامرتبط با رابط کاربری قابل مشاهده باشند ضبط میکند. ضبط شبکه باید به طور پیشفرض خاموش باشد و تنها برای مسیرهای خاص برنامه که اپراتور تأیید کرده بدنههای پاسخ شامل دادههای حساس نیستند فعال شود.
- دوخت هویت از طریق FS.identify() میتواند با یک شناسه جلسه ناپایدار تحت اساس منافع مشروع هنگامی که کاربر ناشناس است اجرا شود، اما دوختن شناسایی به یک شناسه دائمی طرف اول در جلسات نیاز به همان رضایت پخش مجدد جلسه دارد.
- نقشههای حرارتی و تحلیل تبدیل مشتقشده از جریان پخش مجدد جلسه دروازه را از جریان بالادست به ارث میبرند — آنها سطح رضایت جداگانهای نیستند، محصولات پاییندست همان دادههای ضبطشده هستند.
الگوی یکپارچهسازی که کار میکند
استقرار مرجع چهار بخش دارد: یک CMP که یک رویداد تغییر رضایت بلادرنگ را نمایش میدهد، یک بوتاسترپ معوق که FullStory را با ضبط سرکوبشده از طریق FS.shutdown() راهاندازی میکند، یک شنونده رضایت که FS.consent(true) و FS.restart() را وقتی دروازه پخش مجدد جلسه باز میشود فراخوانی میکند، و یک پیکربندی پوشاندن پیشفرض-خصوصی که هر فیلد ورودی را به سختی سرکوب میکند مگر اینکه به طور صریح انتخاب شود.
پوشاندن پیشفرض-خصوصی
لایه پوشاندن FullStory به طور مستقل از رضایت عمل میکند و باید حتی زمانی که رضایت اعطا شده به طور تهاجمی پیکربندی شود. کلاس CSS fs-mask روی هر عنصر محتوای آن عنصر را از ضبط سرکوب میکند؛ کلاس CSS fs-exclude عنصر را کاملاً از جریان DOM خارج میکند؛ کلاس fs-block هم محتوا و هم ساختار را مسدود میکند. طبق قوانین دسته ویژه GDPR و تعریف اطلاعات شخصی حساس CCPA، هر فیلدی که میتواند اطلاعات بهداشتی، جزئیات مالی، شناسههای دولتی، دادههای بیومتریک، موقعیت جغرافیایی دقیق یا محتوای ارتباطات خصوصی را ضبط کند باید از ویژگیهای پوشاندن صرفنظر از وضعیت رضایت کاربر استفاده کند. موضع توصیهشده اعمال fs-mask در سطح فرم به جای سطح فیلد است — یک توسعهدهنده که یک فیلد جدید به یک فرم موجود اضافه میکند بسیار کمتر احتمال دارد به یاد بیاورد که آن را به صورت جداگانه بپوشاند تا اینکه در یک پوشش پوشاندن در سطح فرم کار کند که آن را به طور خودکار ضبط میکند.
انتخاب منطقه و اقامت داده
FullStory نقاط پایانی جذب جداگانه ایالات متحده و اتحادیه اروپا را اجرا میکند. برای ترافیک EEA و UK، نقطه پایانی اتحادیه اروپا پیشفرض مناسب است — جذب، پردازش و ذخیرهسازی را در داخل EEA نگه میدارد و مواجهه Schrems II را که هر استقرار پخش مجدد جلسه در منطقه ایالات متحده میبرد کاهش میدهد. نقطه پایانی برای هر سازمان FullStory پیکربندی میشود و نمیتوان آن را به صورت گذشتهنگر تغییر داد، بنابراین انتخاب منطقه باید قبل از مقیاسگذاری انجام شود و در اخطاریه حریم خصوصی مستند شود تا زنجیره اساس قانونی از جمعآوری تا ذخیرهسازی تمیز باشد.
اعتبارسنجی یکپارچهسازی و مسیر حسابرسی
مرحله اعتبارسنجی چیزی است که تنظیمکنندهها بررسی میکنند و ناشران اغلب روی ابزارهای پخش مجدد جلسه از آن صرفنظر میکنند. یک استقرار FullStory به درستی یکپارچهشده باید چهار آزمون را به ترتیب پاس کند. اول، یک جلسه مرورگر تمیز با بنر نمایشدادهشده اما بدون انتخاب انجامشده باید خارج از دانلود فایل SDK هیچ درخواستی به rs.fullstory.com و هیچ کوکی fs_ در document.cookie تولید نکند. دوم، رد کردن رضایت پخش مجدد جلسه باید آن حالت را حفظ کند — بدون ضبط، بدون شناسه، بدون ضبط. سوم، پذیرفتن رضایت پخش مجدد جلسه باید کوکی fs_uid مورد انتظار، یک رویداد FS.consent(true) واحد و جریان DOM که به نقطه پایانی منطقه پیکربندیشده جاری است تولید کند، با فیلدهای پوشاندهشده که تأیید شده تنها نگهدارنده جایگذار پوشش را ضبط میکنند. چهارم، پس گرفتن رضایت باید فوراً ضبط بیشتر را متوقف کند، کوکیهای fs_ را منقضی کند و یک درخواست حذف از طریق نقطه پایانی حریم خصوصی FullStory برای ضبطهای قبلی کاربر فعال کند.
انتظار مسیر حسابرسی جایی است که ابزارهای پخش مجدد جلسه با سختترین بررسی روبرو میشوند. دستورالعملهای بنر کوکی EDPB در ۲۰۲۳ و اولویتهای تجدیدشده گروه کاری ۲۰۲۶ صریحاً اعلام میکنند که ناشر باید بتواند برای هر ضبط جلسه خاص در پروژه FullStory ثابت کند که کاربری که آن را تولید کرده در لحظه ضبط رضایت معتبر پخش مجدد جلسه را داده بود. الگوی استاندارد تنظیم نسخه رضایت و تایماستمپ به عنوان متغیرهای کاربر در شناسه FullStory از طریق FS.setUserVars({ consent_version: 'v3', consent_ts: ts }) است تا هر ضبط فردی به یک ورودی گزارش رضایت خاص قابل ردیابی باشد. یک استقرار به درستی دروازهبندیشده، همراه با ویژگیهای پوشاندن که پیشفرض خصوصی هستند و یک مسیر حذف که هنگام پس گرفتن فعال میشود، چیزی است که پوشش FullStory را از یک خطر تمرکز نظارتی به بخشی قابل دفاع از پشته تجربه دیجیتال ناشر تبدیل میکند.