Khan Academy

khanacademy.org

Compare

https://khanacademy.org

Scanned Apr 15, 2026 · 34.9s

Your website score is

0/100
Critical

Grade

F0

Banner

Yes

Regulatory Compliance

Multi-regulation overview — click any regulation for details

Technical scan only. A passing score does not equal legal compliance. Consult qualified legal counsel for your jurisdiction.

Tag Leak detected 27 user data leaks before consent on khanacademy.org.

Security Headers

4/6 present

Strict-Transport-Security

max-age=31536000; includeSubDomains; preload

Content-Security-Policy

frame-ancestors 'self' https://classroom.khanacademy.org https://admin.khanacademy.org

X-Frame-Options

SAMEORIGIN

X-Content-Type-Options

nosniff

Referrer-Policy

Set a Referrer-Policy header to control how much referrer information is shared

Permissions-Policy

Add a Permissions-Policy header to restrict browser features like camera, microphone, and geolocation

Google Consent Mode

Not Detected

Google Consent Mode v2 was not found on this page. GCM v2 allows Google's tags to adjust their behavior based on user consent, and is required for compliant advertising measurement in the EU. Without it, your Google Ads and GA4 conversions may be impacted after consent is declined.

GTM container detected (GTM-WSX5PBP) but no consent mode initialisation found. Add gtag('consent', 'default', ...) before your GTM snippet.

Post-Rejection Audit

Reject Button

Found

Post-Rejection Fires

1 vendor

Consent Mode

Not Detected

GTM Load

754ms pre-consent

Google Tag Manager(GTM-WSX5PBP)

Loaded 754ms after page load — before the consent banner was detected (banner appeared at 7549ms). Per a 2022 German court ruling, GTM itself transmits the user's IP to Google pre-consent.

Consent Mode V2: Not Detected

Google Consent Mode was not detected on this site.

Vendors firing after rejection (1)

VendorCategoryTimingURL
Sentry — Sentryanalytics15504mso8287.ingest.sentry.io

Consent Record Audit

Pass

Consent record stored after interaction

GDPR Art. 7(1)

Found: OptanonConsent (OneTrust)

Record contains timestamp

Art. 7(1)

Timestamp field detected

Record contains consent state

Art. 7(1)

Accept/reject state detected

Record contains consent categories

Art. 7(1)

Consent categories (analytics, marketing, etc.) not found in record

Consent withdrawal mechanism accessible

GDPR Art. 7(3)

Cookie settings link / floating button found

Consent record and withdrawal mechanism are both correctly implemented

Tracker categories detected

Analytics3 vendors
Security2
Tag Management1 vendor
Critical1

Data was transmitted to a third-party or storage was written on the user’s device before consent. This is a GDPR/ePrivacy violation, not just a script load.

Sentry — Sentry
criticalPost-RejectionAnalyticsSentry — Sentry

Sentry — Sentry fires after user rejected consent

Fired: 15504ms after load
Warnings27

A tag container or script loaded before consent but tags appear correctly gated (e.g. GTM with Consent Mode v2). Not a violation on its own — review to confirm downstream tags stay blocked.

Google Tag Manager
Google Tag Manager2 findingsID tracked

www.googletagmanager.com

Google Tag Manager
warningNetworkTag ManagementGoogle Tag Manager

Google Tag Manager (Google) loaded before consent: Loads the GTM container which may trigger other tags

ID: GTM-WSX5PBPHost: www.googletagmanager.comFired: 588ms after load
Google Tag Manager
warningGTMTag ManagementGoogle Tag Manager

GTM loaded before consent banner — IP address transmitted to Google pre-consent (container: GTM-WSX5PBP)

vendor logo
warningNetwork

Unknown third-party request to cdn.kastatic.org before consent

Host: cdn.kastatic.orgFired: 510ms after load
vendor logo
warningNetwork

Unknown third-party request to tools.applemediaservices.com before consent

Host: tools.applemediaservices.comFired: 1283ms after load
vendor logo
warningNetwork

Unknown third-party request to toolbox.marketingtools.apple.com before consent

Host: toolbox.marketingtools.apple.comFired: 1609ms after load
warningStorage

sessionStorage key "1776282301384" written before consent

Key: 1776282301384Type: sessionStorageFired: 1225ms after load
warningStorage

sessionStorage key "1776282301425" written before consent

Key: 1776282301425Type: sessionStorageFired: 1266ms after load
warningStorage

sessionStorage key "1776282301426" written before consent

Key: 1776282301426Type: sessionStorageFired: 1267ms after load
warningStorage

sessionStorage key "1776282301427" written before consent

Key: 1776282301427Type: sessionStorageFired: 1268ms after load
warningStorage

sessionStorage key "1776282301576" written before consent

Key: 1776282301576Type: sessionStorageFired: 1417ms after load
warningStorage

sessionStorage key "1776282301583" written before consent

Key: 1776282301583Type: sessionStorageFired: 1424ms after load
warningStorage

sessionStorage key "1776282301584" written before consent

Key: 1776282301584Type: sessionStorageFired: 1425ms after load
warningStorage

localStorage key "gbFeaturesCache" written before consent

Key: gbFeaturesCacheType: localStorageFired: 1473ms after load
warningStorage

sessionStorage key "1776282301672" written before consent

Key: 1776282301672Type: sessionStorageFired: 1513ms after load
warningStorage

sessionStorage key "1776282301673" written before consent

Key: 1776282301673Type: sessionStorageFired: 1514ms after load
warningStorage

sessionStorage key "1776282301962" written before consent

Key: 1776282301962Type: sessionStorageFired: 1803ms after load
warningStorage

sessionStorage key "1776282301967" written before consent

Key: 1776282301967Type: sessionStorageFired: 1808ms after load
warningStorage

sessionStorage key "1776282301968" written before consent

Key: 1776282301968Type: sessionStorageFired: 1809ms after load
warningStorage

sessionStorage key "1776282301969" written before consent

Key: 1776282301969Type: sessionStorageFired: 1810ms after load
warningStorage

sessionStorage key "1776282302003" written before consent

Key: 1776282302003Type: sessionStorageFired: 1844ms after load
warningStorage

sessionStorage key "1776282302419" written before consent

Key: 1776282302419Type: sessionStorageFired: 2260ms after load
warningStorage

sessionStorage key "1776282302519" written before consent

Key: 1776282302519Type: sessionStorageFired: 2360ms after load
warningStorage

sessionStorage key "1776282302524" written before consent

Key: 1776282302524Type: sessionStorageFired: 2365ms after load
warningStorage

sessionStorage key "1776282302621" written before consent

Key: 1776282302621Type: sessionStorageFired: 2462ms after load
warningStorage

sessionStorage key "1776282302624" written before consent

Key: 1776282302624Type: sessionStorageFired: 2465ms after load
warningStorage

sessionStorage key "1776282302625" written before consent

Key: 1776282302625Type: sessionStorageFired: 2466ms after load
warningStorage

sessionStorage key "1776282302626" written before consent

Key: 1776282302626Type: sessionStorageFired: 2467ms after load
Info3

Neutral observations — activity we detected that isn’t a violation but is useful context (e.g. essential cookies, CMP initialisation).

OneTrust
OneTrust2 findings

cdn.cookielaw.org, OptanonConsent

OneTrust
infoNetworkConsent MgmtOneTrust

OneTrust (OneTrust) loaded before consent: OneTrust cookie consent management

Host: cdn.cookielaw.orgFired: 1047ms after load
OneTrust
infoCookieConsent MgmtOneTrust

OneTrust cookie "OptanonConsent" set before consent

Cookie: OptanonConsentDomain: .khanacademy.org
OneTrust CMP
infoNetworkConsent MgmtOneTrust CMP

OneTrust CMP (OneTrust) loaded before consent: OneTrust geo-lookup — determines which consent banner to show based on user location

Host: geolocation.onetrust.comFired: 1609ms after load
Compliant4

Tags that fired only after the user gave consent — working as intended.

Google Analytics
Google Analytics3 findingsID tracked

region1.google-analytics.com, _ga_19G17DJYEE, _ga

GA4
CompliantNetworkAnalyticsGA4

GA4 (Google) loaded correctly after consent

ID: G-19G17DJYEEHost: region1.google-analytics.comFired: 1709ms after load
Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga_19G17DJYEE" set correctly after consent

Cookie: _ga_19G17DJYEEDomain: .khanacademy.org
Google Analytics
CompliantCookieAnalyticsGoogle Analytics

Google Analytics cookie "_ga" set correctly after consent

Cookie: _gaDomain: .khanacademy.org
OneTrust
CompliantCookieConsent MgmtOneTrust

OneTrust cookie "OptanonAlertBoxClosed" set correctly after consent

Cookie: OptanonAlertBoxClosedDomain: .khanacademy.org

Is this your site?

Run a full multi-page scan with monitoring and get detailed remediation steps

Scan khanacademy.org

This audit is based on publicly observable website behavior. To request removal from the index, email support@tagleak.com