{"run_id":"c80a5239","url":"https://www.independent.ie/","started_at":"2026-04-02T14:47:03.018106+00:00","overall":"FAIL","fail_count":13,"pass_count":15,"cmp":"Didomi","analysis_mode":"gdpr","error_count":0,"warn_count":13,"entries":[{"ts":"2026-04-02T14:47:03.018106+00:00","elapsed":0.0,"level":"STEP","session":"MAIN","msg":"Run c80a5239 started","detail":{"url":"https://www.independent.ie/"}},{"ts":"2026-04-02T14:47:03.018230+00:00","elapsed":0.0,"level":"INFO","session":"MAIN","msg":"Detecting probe server location","detail":null},{"ts":"2026-04-02T14:47:03.238589+00:00","elapsed":0.22,"level":"INFO","session":"MAIN","msg":"Probe location","detail":{"ip":"208.77.244.106","city":"Amsterdam","region":"North Holland","country":"The Netherlands","country_code":"NL","org":"Railway","latitude":52.37403,"longitude":4.88969}},{"ts":"2026-04-02T14:47:03.238769+00:00","elapsed":0.22,"level":"STEP","session":"MAIN","msg":"Starting analysis of https://www.independent.ie/","detail":{"mode":"GDPR"}},{"ts":"2026-04-02T14:47:03.726425+00:00","elapsed":0.71,"level":"INFO","session":"MAIN","msg":"Chromium launched","detail":{"headless":true}},{"ts":"2026-04-02T14:47:03.822508+00:00","elapsed":0.8,"level":"INFO","session":"PREFLIGHT","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:47:14.061261+00:00","elapsed":11.04,"level":"WARN","session":"PREFLIGHT","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:47:14.140880+00:00","elapsed":11.12,"level":"STEP","session":"A","msg":"Session A start (accept path)","detail":null},{"ts":"2026-04-02T14:47:14.219161+00:00","elapsed":11.2,"level":"INFO","session":"A","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:47:24.261527+00:00","elapsed":21.24,"level":"WARN","session":"A","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:47:26.261265+00:00","elapsed":23.24,"level":"INFO","session":"A","msg":"Capturing pre-consent state","detail":null},{"ts":"2026-04-02T14:47:26.444671+00:00","elapsed":23.43,"level":"INFO","session":"A","msg":"Pre-consent state captured","detail":{"pre_consent_cookies":11,"pre_consent_ad_cookies":0,"pre_consent_tracking_storage":0,"pre_consent_tracker_globals":["dataLayer","google_tag_manager"],"pre_consent_unblocked_scripts":2,"pre_consent_capture_error":null}},{"ts":"2026-04-02T14:47:35.524202+00:00","elapsed":32.51,"level":"INFO","session":"A","msg":"Banner: found","detail":null},{"ts":"2026-04-02T14:47:42.942943+00:00","elapsed":39.93,"level":"INFO","session":"A","msg":"Accept All interaction","detail":{"cmp":"Didomi","button_text":"Accept","clicked":true,"in_iframe":false,"error":null}},{"ts":"2026-04-02T14:47:44.943835+00:00","elapsed":41.93,"level":"INFO","session":"A","msg":"Capturing post-accept baseline state","detail":null},{"ts":"2026-04-02T14:47:45.239573+00:00","elapsed":42.22,"level":"INFO","session":"A","msg":"Baseline captured","detail":{"baseline_cookies":52,"baseline_ad_cookies":8,"baseline_tracking_storage":1,"baseline_tracker_globals":["dataLayer","google_tag_manager","fbq","_fbq","hj","_hjSettings","twq","twttr","lintrk","ttq","snaptr"],"baseline_unblocked_scripts":15,"baseline_capture_error":null}},{"ts":"2026-04-02T14:47:45.876203+00:00","elapsed":42.86,"level":"INFO","session":"A","msg":"Context closed, HAR saved","detail":null},{"ts":"2026-04-02T14:47:45.876335+00:00","elapsed":42.86,"level":"STEP","session":"A","msg":"Session A complete","detail":{"pre_consent_cookies":11,"pre_consent_ad_cookies":0,"pre_consent_tracking_storage":0,"pre_consent_tracker_globals":["dataLayer","google_tag_manager"],"pre_consent_unblocked_scripts":2,"pre_consent_capture_error":null,"baseline_cookies":52,"baseline_ad_cookies":8,"baseline_tracking_storage":1,"baseline_tracker_globals":["dataLayer","google_tag_manager","fbq","_fbq","hj","_hjSettings","twq","twttr","lintrk","ttq","snaptr"],"baseline_unblocked_scripts":15,"baseline_capture_error":null}},{"ts":"2026-04-02T14:47:45.876398+00:00","elapsed":42.86,"level":"STEP","session":"B","msg":"Session B start (reject path)","detail":null},{"ts":"2026-04-02T14:47:45.909420+00:00","elapsed":42.89,"level":"INFO","session":"B","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:47:55.834940+00:00","elapsed":52.82,"level":"WARN","session":"B","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:47:57.836147+00:00","elapsed":54.82,"level":"INFO","session":"B","msg":"Capturing pre-consent state","detail":null},{"ts":"2026-04-02T14:47:57.895069+00:00","elapsed":54.88,"level":"INFO","session":"B","msg":"Pre-consent B captured","detail":{"pre_consent_B_cookies":11,"pre_consent_B_ad_cookies":0,"pre_consent_B_tracking_storage":0,"pre_consent_B_tracker_globals":["dataLayer","google_tag_manager"],"pre_consent_B_unblocked_scripts":2,"pre_consent_B_capture_error":null}},{"ts":"2026-04-02T14:48:06.881883+00:00","elapsed":63.86,"level":"INFO","session":"B","msg":"Banner: found","detail":null},{"ts":"2026-04-02T14:48:06.995380+00:00","elapsed":63.98,"level":"INFO","session":"B","msg":"Persistent widget found pre-reject (CMP fully loaded)","detail":{"found":true,"text":"Manage","in_iframe":false}},{"ts":"2026-04-02T14:48:24.112562+00:00","elapsed":81.09,"level":"INFO","session":"B","msg":"Click symmetry measured","detail":{"accept_clicks":1,"reject_clicks":0}},{"ts":"2026-04-02T14:48:45.021766+00:00","elapsed":102.0,"level":"INFO","session":"B","msg":"Reject All interaction","detail":{"cmp":"Didomi","button_text":"","clicked":false,"clicks_required":1,"required_manage_panel":true,"panel_navigated":false,"panel_new_frames":0,"panel_wait_s":6.3999999999999995,"error":"Reject button not found in manage panel after 6s. Poll trace: [{'t': 0.8, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 1.6, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 2.4, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 3.2, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 4.0, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 4.8, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 5.6, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 6.4, 'navigated': False, 'new_frames': 0, 'url': None}]. The panel may use an unrecognised reject label, or require individual toggles to be turned off manually."}},{"ts":"2026-04-02T14:48:45.021910+00:00","elapsed":102.0,"level":"WARN","session":"B","msg":"Reject interaction issue: Reject button not found in manage panel after 6s. Poll trace: [{'t': 0.8, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 1.6, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 2.4, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 3.2, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 4.0, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 4.8, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 5.6, 'navigated': False, 'new_frames': 0, 'url': None}, {'t': 6.4, 'navigated': False, 'new_frames': 0, 'url': None}]. The panel may use an unrecognised reject label, or require individual toggles to be turned off manually.","detail":null},{"ts":"2026-04-02T14:48:45.021944+00:00","elapsed":102.0,"level":"WARN","session":"B","msg":"Reject All was NOT successfully clicked — post-reject state captures an unmodified consent state, not a rejection.","detail":null},{"ts":"2026-04-02T14:48:47.043145+00:00","elapsed":104.03,"level":"INFO","session":"B","msg":"Site accessible after reject: True","detail":null},{"ts":"2026-04-02T14:48:47.043230+00:00","elapsed":104.03,"level":"INFO","session":"B","msg":"Capturing post-reject state","detail":null},{"ts":"2026-04-02T14:48:47.370027+00:00","elapsed":104.35,"level":"INFO","session":"B","msg":"Post-reject captured","detail":{"post_reject_cookies":11,"post_reject_ad_cookies":0,"post_reject_tracking_storage":0,"post_reject_tracker_globals":["dataLayer","google_tag_manager"],"post_reject_unblocked_scripts":2,"post_reject_capture_error":null}},{"ts":"2026-04-02T14:48:47.370185+00:00","elapsed":104.35,"level":"INFO","session":"B","msg":"Persistent widget check","detail":{"found":true,"text":"Manage","in_iframe":false}},{"ts":"2026-04-02T14:48:47.370228+00:00","elapsed":104.35,"level":"INFO","session":"B","msg":"Capturing subpages","detail":null},{"ts":"2026-04-02T14:48:57.349797+00:00","elapsed":114.33,"level":"INFO","session":"B","msg":"2 subpage(s) captured","detail":{"urls":["https://member.independent.ie/newsletter","https://www.independent.ie/entertainment/puzzles"],"errors":[]}},{"ts":"2026-04-02T14:48:58.396318+00:00","elapsed":115.38,"level":"INFO","session":"B","msg":"Context closed, HAR saved","detail":null},{"ts":"2026-04-02T14:48:58.396435+00:00","elapsed":115.38,"level":"INFO","session":"B","msg":"Checking pre-ticked toggles (separate session)","detail":null},{"ts":"2026-04-02T14:48:58.450212+00:00","elapsed":115.43,"level":"INFO","session":"B","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:49:08.865853+00:00","elapsed":125.85,"level":"WARN","session":"B","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:49:38.221720+00:00","elapsed":155.2,"level":"WARN","session":"B","msg":"Manage/preferences button not visible after 5s wait — toggle check may return 0 results","detail":null},{"ts":"2026-04-02T14:49:39.727077+00:00","elapsed":156.71,"level":"INFO","session":"B","msg":"Pre-ticked toggles: 0 found","detail":{"toggles":{}}},{"ts":"2026-04-02T14:49:39.727169+00:00","elapsed":156.71,"level":"WARN","session":"B","msg":"Toggle check returned 0 results — diagnostics:","detail":{"manage_button_found":false,"manage_button_text":null,"frames_scanned":[],"total_elements_found":0,"note":"Manage/preferences button not found on page"}},{"ts":"2026-04-02T14:49:39.736620+00:00","elapsed":156.72,"level":"STEP","session":"B","msg":"Session B complete","detail":{"post_reject_cookies":11,"post_reject_ad_cookies":0,"post_reject_tracking_storage":0,"post_reject_tracker_globals":["dataLayer","google_tag_manager"],"post_reject_unblocked_scripts":2,"post_reject_capture_error":null,"accept_clicks":1,"reject_clicks":1,"reject_at_first_screen":false,"subpages_captured":2}},{"ts":"2026-04-02T14:49:39.736740+00:00","elapsed":156.72,"level":"STEP","session":"C","msg":"Session C start (persistence check)","detail":null},{"ts":"2026-04-02T14:49:39.769110+00:00","elapsed":156.75,"level":"INFO","session":"C","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:49:49.909360+00:00","elapsed":166.89,"level":"WARN","session":"C","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:50:04.314214+00:00","elapsed":181.3,"level":"INFO","session":"C","msg":"Reject for persistence test","detail":{"clicked":false,"error":"No reject button and no manage/preferences button found on layer 1. CMP may not have loaded, or uses an unrecognised button label."}},{"ts":"2026-04-02T14:50:04.314330+00:00","elapsed":181.3,"level":"WARN","session":"C","msg":"Reject All failed in Session C — persistence check results will be unreliable.","detail":null},{"ts":"2026-04-02T14:50:06.314413+00:00","elapsed":183.3,"level":"INFO","session":"C","msg":"Opening second tab (same-session test)","detail":null},{"ts":"2026-04-02T14:50:06.343266+00:00","elapsed":183.33,"level":"INFO","session":"C","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:50:17.259507+00:00","elapsed":194.24,"level":"WARN","session":"C","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:50:19.306683+00:00","elapsed":196.29,"level":"INFO","session":"C","msg":"Same-session state captured","detail":{"persistence_1_cookies":42,"persistence_1_ad_cookies":4,"persistence_1_tracking_storage":1,"persistence_1_tracker_globals":["dataLayer","google_tag_manager","fbq","_fbq","hj","_hjSettings","twq","twttr","lintrk","ttq","snaptr"],"persistence_1_unblocked_scripts":14,"persistence_1_capture_error":null}},{"ts":"2026-04-02T14:50:19.448628+00:00","elapsed":196.43,"level":"INFO","session":"C","msg":"Storage state saved, opening new context","detail":null},{"ts":"2026-04-02T14:50:19.543271+00:00","elapsed":196.53,"level":"INFO","session":"C","msg":"Navigating to https://www.independent.ie/","detail":null},{"ts":"2026-04-02T14:50:29.634539+00:00","elapsed":206.62,"level":"WARN","session":"C","msg":"Network did not reach idle state — proceeding after load event. Normal for sites with persistent connections (websockets, polling).","detail":null},{"ts":"2026-04-02T14:50:31.691406+00:00","elapsed":208.67,"level":"INFO","session":"C","msg":"New-session state captured","detail":{"persistence_2_cookies":42,"persistence_2_ad_cookies":4,"persistence_2_tracking_storage":1,"persistence_2_tracker_globals":["dataLayer","google_tag_manager","fbq","_fbq","hj","_hjSettings","twq","twttr","lintrk","ttq","snaptr"],"persistence_2_unblocked_scripts":14,"persistence_2_capture_error":null}},{"ts":"2026-04-02T14:50:31.711041+00:00","elapsed":208.69,"level":"STEP","session":"C","msg":"Session C complete","detail":{"persistence_1_captured":true,"persistence_2_captured":true}},{"ts":"2026-04-02T14:50:31.711149+00:00","elapsed":208.69,"level":"STEP","session":"POLICY_RENDER","msg":"Rendering cookie policy page in browser","detail":null},{"ts":"2026-04-02T14:50:32.024425+00:00","elapsed":209.01,"level":"INFO","session":"POLICY_RENDER","msg":"Standard paths not found — scanning page for policy link","detail":null},{"ts":"2026-04-02T14:50:38.971229+00:00","elapsed":215.95,"level":"INFO","session":"POLICY_RENDER","msg":"Found policy link via page scan: \"cookie policy\" → https://www.mediahuis.ie/cookiepolicy","detail":null},{"ts":"2026-04-02T14:50:38.971393+00:00","elapsed":215.95,"level":"INFO","session":"POLICY_RENDER","msg":"Navigating to policy: https://www.mediahuis.ie/cookiepolicy","detail":null},{"ts":"2026-04-02T14:50:46.369717+00:00","elapsed":223.35,"level":"INFO","session":"POLICY_RENDER","msg":"Extracted 219 chars from policy page","detail":null},{"ts":"2026-04-02T14:50:46.388691+00:00","elapsed":223.37,"level":"INFO","session":"POLICY_RENDER","msg":"Policy page rendered (219 chars)","detail":null},{"ts":"2026-04-02T14:50:46.443335+00:00","elapsed":223.43,"level":"INFO","session":"MAIN","msg":"Browser closed","detail":null},{"ts":"2026-04-02T14:50:46.462571+00:00","elapsed":223.44,"level":"STEP","session":"DNS","msg":"Running CNAME cloaking checks","detail":null},{"ts":"2026-04-02T14:50:46.462706+00:00","elapsed":223.44,"level":"INFO","session":"DNS","msg":"Apex domain: independent.ie (from hostname: www.independent.ie)","detail":null},{"ts":"2026-04-02T14:50:46.907593+00:00","elapsed":223.89,"level":"INFO","session":"DNS","msg":"Checking 4 subdomain(s)","detail":{"subdomains":["member.independent.ie","focus.independent.ie","gigya-cp.independent.ie","markup.independent.ie"]}},{"ts":"2026-04-02T14:50:47.003027+00:00","elapsed":223.99,"level":"INFO","session":"DNS","msg":"CNAME check done — 0 tracker CNAME(s)","detail":{"results":[{"sub":"member.independent.ie","cname":null,"tracker":false,"vendor":null},{"sub":"focus.independent.ie","cname":null,"tracker":false,"vendor":null},{"sub":"gigya-cp.independent.ie","cname":null,"tracker":false,"vendor":null},{"sub":"markup.independent.ie","cname":null,"tracker":false,"vendor":null}]}},{"ts":"2026-04-02T14:50:47.004874+00:00","elapsed":223.99,"level":"STEP","session":"POLICY","msg":"Fetching cookie policy","detail":null},{"ts":"2026-04-02T14:50:47.005001+00:00","elapsed":223.99,"level":"INFO","session":"POLICY","msg":"Policy found at https://www.mediahuis.ie/cookiepolicy","detail":null},{"ts":"2026-04-02T14:50:47.005085+00:00","elapsed":223.99,"level":"INFO","session":"POLICY","msg":"Fetching policy, cross-referencing 49 cookie(s)","detail":null},{"ts":"2026-04-02T14:50:57.641423+00:00","elapsed":234.62,"level":"INFO","session":"POLICY","msg":"Policy fetch OK","detail":{"declared":1,"undeclared_observed":47,"ai_used":true}},{"ts":"2026-04-02T14:50:57.641531+00:00","elapsed":234.62,"level":"WARN","session":"POLICY","msg":"47 cookie(s) not in policy","detail":{"cookies":["__eoi","_rdt_uuid","_ga","DSID","gig_canary","guest_id_ads","guest_id","cto_bundle","_mhtc_cId","_twpid","ttcsid","_ain_cid","_tt_enable_cookie","didomi_token","X-AB","_fbp","ucid","lidc","bcookie","__cf_bm"]}},{"ts":"2026-04-02T14:50:57.641603+00:00","elapsed":234.62,"level":"STEP","session":"MAIN","msg":"Analysis complete","detail":{"error_count":0}},{"ts":"2026-04-02T14:50:57.642012+00:00","elapsed":234.62,"level":"STEP","session":"C1","msg":"Running Component 1 HAR analysis","detail":null},{"ts":"2026-04-02T14:50:58.112233+00:00","elapsed":235.09,"level":"INFO","session":"C1","msg":"HAR analysis complete — 1 FAIL item(s)","detail":{"total_requests":249,"phases":["pre_consent"],"phase_strategy":{"accept":"not_detected","reject":"not_detected"},"fail_items":["B.1"]}},{"ts":"2026-04-02T14:50:58.428627+00:00","elapsed":235.41,"level":"INFO","session":"C1","msg":"Extracted 1 TCF string(s) from accept-path HAR","detail":{"purposes_found":["All 10 core purposes CONSENTED"]}},{"ts":"2026-04-02T14:50:58.428732+00:00","elapsed":235.41,"level":"INFO","session":"C1","msg":"Running C1 on accept-path HAR for C.2/C.3 baseline","detail":null},{"ts":"2026-04-02T14:50:58.448752+00:00","elapsed":235.43,"level":"INFO","session":"C1","msg":"Accept-HAR promoted 1 item(s): ['C.2']","detail":{"phases":["pre_consent"]}},{"ts":"2026-04-02T14:50:58.451917+00:00","elapsed":235.43,"level":"STEP","session":"CHECKS","msg":"Running browser-state checks","detail":null},{"ts":"2026-04-02T14:50:58.452776+00:00","elapsed":235.44,"level":"INFO","session":"CHECKS","msg":"Browser checks complete — 12 FAIL item(s)","detail":{"fail_items":["B.3","B.5","E.4","G.2","H.1","H.3","I.1","I.2","I.3","K.1","L.2","L.3"],"mode":"gdpr"}}],"docx_filename":"consent_report_https___www.independent.ie_.docx"}