[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADTJRA5PJGT7Q0PRRT047K":3,"skill-same:01M6ADTJRA5PJGT7Q0PRRT047K":95},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6ADTJRA5PJGT7Q0PRRT047K","eprivacy-essential-cookies",null,"Applying the ePrivacy Directive Article 5(3) strictly necessary exemption to classify cookies that do not require consent. Covers exemption criteria, functionality cookies, load balancing, session state, and non-exempt categories with regulatory guidance from EDPB and national DPAs.","mukul975\u002FPrivacy-Data-Protection-Skills","mukul975","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42860185?v=4","01M6ADEQR8T5M4EEG6C67BQCWF","Mahipal","01M6ADNKWX1HF4Q5DKEXT5M774",337,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002FSKILL.md",[18,23,28],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[32,33,34,35,36],"cookies","eprivacy essential cookies","state","compliance","privacy","2026-11-10 10:12:30",false,"---\nname: eprivacy-essential-cookies\ndescription: >-\n  Applying the ePrivacy Directive Article 5(3) strictly necessary exemption to\n  classify cookies that do not require consent. Covers exemption criteria,\n  functionality cookies, load balancing, session state, and non-exempt categories\n  with regulatory guidance from EDPB and national DPAs.\nlicense: Apache-2.0\nmetadata:\n  author: mukul975\n  version: \"1.0\"\n  domain: privacy\n  subdomain: cookie-consent-compliance\n  tags: \"eprivacy, essential-cookies, strictly-necessary, article-5-3, cookie-exemption\"\n---\n\n# ePrivacy Directive Article 5(3) Essential Cookie Exemption\n\n## Overview\n\nArticle 5(3) of the ePrivacy Directive (2002\u002F58\u002FEC, as amended by Directive 2009\u002F136\u002FEC) requires informed consent before storing or accessing information on a user's terminal equipment (cookies, LocalStorage, device fingerprints). However, it provides an exemption for storage that is \"strictly necessary in order for the provider of an information society service explicitly requested by the subscriber or user to deliver the service.\" Correctly classifying cookies under this exemption is critical — over-claiming exemption exposes organizations to enforcement action, while under-claiming creates unnecessary consent friction. The Article 29 Working Party Opinion 04\u002F2012 on Cookie Consent Exemption (WP 194) remains the authoritative guidance on applying this exemption.\n\n## Exemption Criteria\n\n### The Two-Part Test\n\nA cookie qualifies for the strictly necessary exemption only if BOTH conditions are met:\n\n**Condition 1 — The cookie is strictly necessary**\nThe cookie must be essential for the specific functionality that the user has actively requested. \"Strictly necessary\" means the service literally cannot function without it — not merely that it would be degraded or less convenient.\n\n**Condition 2 — For a service explicitly requested by the user**\nThe user must have actively requested the service that the cookie enables. The cookie must serve the user's purpose, not the website operator's purpose. A cookie that is necessary for the operator's business model (e.g., analytics) but not for the service the user requested (e.g., viewing products) does not qualify.\n\n### Article 29 Working Party Exemption Categories\n\nWP 194 (Opinion 04\u002F2012) identified specific cookie categories that can qualify for exemption:\n\n**Category A — User Input Cookies (Session-Only)**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Keeping track of user input during a multi-step process (e.g., filling a form, shopping cart) |\n| Duration | Session-only (deleted when browser closes) or short-lived (limited to a few hours) |\n| Scope | First-party only |\n| Example | Shopping cart contents during a browsing session |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| cart_session | Stores items added to shopping cart during session | Session | Yes |\n| checkout_step | Tracks current step in multi-page checkout | Session | Yes |\n| form_data_temp | Preserves form input if page reloads during checkout | 30 minutes | Yes |\n\n**Category B — Authentication Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Authenticating the user to provide access to authenticated content\u002Fservices |\n| Duration | Session-only for session authentication; persistent only if user explicitly chose \"remember me\" |\n| Scope | First-party only |\n| Example | Session token after login |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| auth_token | Authenticates logged-in user | Session | Yes |\n| refresh_token | Maintains authentication across browser restarts (when \"remember me\" selected) | 30 days | Yes — user explicitly requested persistent login |\n| session_id | Links requests to server-side session | Session | Yes |\n\n**Category C — User Security Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Ensuring security of the service explicitly requested by the user |\n| Duration | Limited to what is necessary |\n| Scope | First-party only |\n| Example | CSRF protection, detecting repeated failed login attempts |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| csrf_token | Prevents cross-site request forgery attacks | Session | Yes |\n| login_attempts | Tracks failed login count for brute-force protection | 30 minutes | Yes |\n| device_verified | Flags device as verified after 2FA | 30 days | Yes — security for authenticated service |\n\n**Category D — Multimedia Player Session Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Storing technical data for media playback (quality settings, buffering) |\n| Duration | Session-only |\n| Scope | First-party only |\n| Example | Video player quality preference for current session |\n\n**Category E — Load Balancing Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Distributing web traffic across multiple servers |\n| Duration | Session-only (persists only for the browsing session) |\n| Scope | First-party only |\n| Example | Load balancer session affinity cookie |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| SERVERID | HAProxy server affinity cookie | Session | Yes |\n| __cfduid (legacy) | Cloudflare server identification | Session | Yes — if session-only |\n| lb_route | Internal load balancer routing | Session | Yes |\n\n**Category F — UI Customisation Cookies (Session-Only)**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Storing user interface preferences explicitly set by the user during the session |\n| Duration | Session-only (first visit within a session); persistent requires consent |\n| Scope | First-party only |\n| Example | Language selection within a session |\n\n**Critical Distinction:** A language preference cookie set for the current session when the user clicks a language selector is exempt. A persistent language preference cookie that remembers the selection across visits typically requires consent (it exceeds the session scope).\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| locale_session | Language selected during current session | Session | Yes |\n| locale | Persistent language preference | 1 year | No — requires consent |\n| currency_session | Currency selected during current session | Session | Yes |\n| currency | Persistent currency preference | 1 year | No — requires consent |\n\n## Non-Exempt Cookie Categories\n\nThe following cookie types are explicitly NOT exempt and always require consent:\n\n### Analytics and Performance Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Google Analytics (_ga, _gid) | Serves the operator's analytics purpose, not the user's requested service |\n| Hotjar (_hj*) | Session recording and heatmaps serve the operator |\n| A\u002FB testing (optimizely_*) | Experimentation serves the operator's optimization goals |\n| Performance monitoring | Site performance monitoring benefits the operator |\n\n**Note:** The CNIL has created a separate limited exemption for audience measurement (see analytics-cookie-consent skill), but this is a French-specific interpretation, not a universal ePrivacy Article 5(3) exemption.\n\n### Advertising and Targeting Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Meta Pixel (_fbp, _fbc) | Advertising tracking serves the advertiser |\n| Google Ads (_gcl_au, IDE) | Conversion tracking and remarketing serve the advertiser |\n| Retargeting cookies | Cross-site tracking for ad personalization |\n| Ad frequency capping | Serves the ad delivery system, not the user |\n\n### Social Media Plug-in Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Facebook Like button cookies | Third-party tracking via social widget |\n| Twitter share widget cookies | Third-party data collection |\n| YouTube embed cookies | Google tracking via embedded video |\n| LinkedIn Insight Tag | Professional network tracking |\n\n**Exception:** If a social login (e.g., \"Login with Google\") is explicitly requested by the user, the authentication cookies for that flow may qualify under Category B. The social platform's tracking cookies do not.\n\n### Persistent Preference Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Persistent language preference | Exceeds session scope |\n| Theme\u002Fdark mode preference (persistent) | Exceeds session scope |\n| \"Don't show again\" dismissal cookies | Convenience, not strictly necessary |\n| Recently viewed products | Enhancement, not essential service |\n\n## Borderline Cases and Regulatory Guidance\n\n### Consent Cookie Itself\n\nThe cookie that stores whether the user has accepted or rejected cookies:\n\n| DPA Position | Exempt? | Reasoning |\n|-------------|---------|-----------|\n| UK ICO | Yes | Strictly necessary to remember the user's privacy choice |\n| CNIL | Yes | Technical necessity for implementing consent |\n| Belgian DPA | Yes | Required to avoid re-prompting on every page |\n| EDPB | Yes (implied) | Necessary to fulfill the consent obligation |\n\n**Pinnacle E-Commerce Ltd:** The `consent_state` cookie is classified as strictly necessary.\n\n### Fraud Detection Cookies\n\n| Scenario | Exempt? | Reasoning |\n|---------|---------|-----------|\n| CSRF token for form submission | Yes | Security for service the user requested (submitting a form) |\n| Bot detection (CAPTCHA) | Likely yes | Security for the service; some DPAs require notice |\n| Device fingerprinting for fraud | Likely no | Goes beyond what is strictly necessary; may use consent or legitimate interest |\n| reCAPTCHA cookies | Contested | Google reCAPTCHA sets cookies and communicates with Google; some DPAs require consent |\n\n### CDN and Infrastructure Cookies\n\n| Scenario | Exempt? | Reasoning |\n|---------|---------|-----------|\n| Cloudflare __cf_bm (bot management) | Contested | Security-related but sets persistent cookie; review with DPO |\n| CDN session routing | Yes | Load balancing (Category E) |\n| Geographic routing | Yes if session-only | Infrastructure necessity |\n| A\u002FB testing server routing | No | Optimization, not user-requested service |\n\n## Classification Process for Pinnacle E-Commerce Ltd\n\n### Step 1: Inventory All Cookies\n\nUse the cookie-audit skill to generate a complete cookie inventory.\n\n### Step 2: Apply the Two-Part Test\n\nFor each cookie, answer:\n1. Is this cookie strictly necessary for the website to deliver a specific function?\n2. Did the user explicitly request that specific function?\n\n### Step 3: Classify and Document\n\n| Cookie | User-Requested Service | Strictly Necessary | Duration OK | Exempt |\n|--------|----------------------|-------------------|-------------|--------|\n| session_id | Browsing the site | Yes — session state | Session | Yes |\n| auth_token | Logging in | Yes — authentication | Session | Yes |\n| cart_session | Adding items to cart | Yes — cart functionality | Session | Yes |\n| csrf_token | Submitting forms | Yes — form security | Session | Yes |\n| _ga | None (operator analytics) | No | 2 years | No |\n| _fbp | None (operator advertising) | No | 90 days | No |\n| locale | Changing language | Debatable | 1 year | No — persistent, needs consent |\n| consent_state | Managing cookie preferences | Yes — consent management | 6 months | Yes |\n\n### Step 4: Document Justification\n\nFor each exempt cookie, maintain a written justification:\n\n**Template:**\n```\nCookie: [name]\nClassification: Strictly Necessary — Exempt from consent\nUser-Requested Service: [specific service]\nWhy Strictly Necessary: [explanation of why the service cannot function without this cookie]\nDuration Justification: [why this duration is the minimum necessary]\nWP 194 Category: [A\u002FB\u002FC\u002FD\u002FE\u002FF]\nReviewed By: [DPO name]\nReview Date: [date]\nNext Review: [date + 12 months]\n```\n\n## Key Legal References\n\n- **ePrivacy Directive 2002\u002F58\u002FEC, Article 5(3)** — Consent requirement and strictly necessary exemption\n- **Directive 2009\u002F136\u002FEC (Citizens' Rights Directive)** — Amended Article 5(3) to require informed consent\n- **Article 29 Working Party Opinion 04\u002F2012 (WP 194)** — Authoritative guidance on cookie consent exemption categories\n- **CJEU Case C-673\u002F17 (Planet49)** — Active consent; exemption applies only to strictly necessary cookies\n- **EDPB Guidelines 05\u002F2020 on Consent** — Consent under GDPR applicable to ePrivacy consent\n- **UK ICO Guidance on Cookies (2019, updated 2023)** — PECR implementation of ePrivacy exemptions\n- **CNIL Deliberation No. 2020-091 (17 September 2020)** — French implementation of cookie exemptions\n- **Recital 66, Directive 2009\u002F136\u002FEC** — Exemption for cookies \"strictly limited to the provision of an information society service explicitly requested\"\n","# ePrivacy Directive Article 5(3) Essential Cookie Exemption\n\n## Overview\n\nArticle 5(3) of the ePrivacy Directive (2002\u002F58\u002FEC, as amended by Directive 2009\u002F136\u002FEC) requires informed consent before storing or accessing information on a user's terminal equipment (cookies, LocalStorage, device fingerprints). However, it provides an exemption for storage that is \"strictly necessary in order for the provider of an information society service explicitly requested by the subscriber or user to deliver the service.\" Correctly classifying cookies under this exemption is critical — over-claiming exemption exposes organizations to enforcement action, while under-claiming creates unnecessary consent friction. The Article 29 Working Party Opinion 04\u002F2012 on Cookie Consent Exemption (WP 194) remains the authoritative guidance on applying this exemption.\n\n## Exemption Criteria\n\n### The Two-Part Test\n\nA cookie qualifies for the strictly necessary exemption only if BOTH conditions are met:\n\n**Condition 1 — The cookie is strictly necessary**\nThe cookie must be essential for the specific functionality that the user has actively requested. \"Strictly necessary\" means the service literally cannot function without it — not merely that it would be degraded or less convenient.\n\n**Condition 2 — For a service explicitly requested by the user**\nThe user must have actively requested the service that the cookie enables. The cookie must serve the user's purpose, not the website operator's purpose. A cookie that is necessary for the operator's business model (e.g., analytics) but not for the service the user requested (e.g., viewing products) does not qualify.\n\n### Article 29 Working Party Exemption Categories\n\nWP 194 (Opinion 04\u002F2012) identified specific cookie categories that can qualify for exemption:\n\n**Category A — User Input Cookies (Session-Only)**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Keeping track of user input during a multi-step process (e.g., filling a form, shopping cart) |\n| Duration | Session-only (deleted when browser closes) or short-lived (limited to a few hours) |\n| Scope | First-party only |\n| Example | Shopping cart contents during a browsing session |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| cart_session | Stores items added to shopping cart during session | Session | Yes |\n| checkout_step | Tracks current step in multi-page checkout | Session | Yes |\n| form_data_temp | Preserves form input if page reloads during checkout | 30 minutes | Yes |\n\n**Category B — Authentication Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Authenticating the user to provide access to authenticated content\u002Fservices |\n| Duration | Session-only for session authentication; persistent only if user explicitly chose \"remember me\" |\n| Scope | First-party only |\n| Example | Session token after login |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| auth_token | Authenticates logged-in user | Session | Yes |\n| refresh_token | Maintains authentication across browser restarts (when \"remember me\" selected) | 30 days | Yes — user explicitly requested persistent login |\n| session_id | Links requests to server-side session | Session | Yes |\n\n**Category C — User Security Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Ensuring security of the service explicitly requested by the user |\n| Duration | Limited to what is necessary |\n| Scope | First-party only |\n| Example | CSRF protection, detecting repeated failed login attempts |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| csrf_token | Prevents cross-site request forgery attacks | Session | Yes |\n| login_attempts | Tracks failed login count for brute-force protection | 30 minutes | Yes |\n| device_verified | Flags device as verified after 2FA | 30 days | Yes — security for authenticated service |\n\n**Category D — Multimedia Player Session Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Storing technical data for media playback (quality settings, buffering) |\n| Duration | Session-only |\n| Scope | First-party only |\n| Example | Video player quality preference for current session |\n\n**Category E — Load Balancing Cookies**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Distributing web traffic across multiple servers |\n| Duration | Session-only (persists only for the browsing session) |\n| Scope | First-party only |\n| Example | Load balancer session affinity cookie |\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| SERVERID | HAProxy server affinity cookie | Session | Yes |\n| __cfduid (legacy) | Cloudflare server identification | Session | Yes — if session-only |\n| lb_route | Internal load balancer routing | Session | Yes |\n\n**Category F — UI Customisation Cookies (Session-Only)**\n\n| Criterion | Requirement |\n|-----------|-------------|\n| Purpose | Storing user interface preferences explicitly set by the user during the session |\n| Duration | Session-only (first visit within a session); persistent requires consent |\n| Scope | First-party only |\n| Example | Language selection within a session |\n\n**Critical Distinction:** A language preference cookie set for the current session when the user clicks a language selector is exempt. A persistent language preference cookie that remembers the selection across visits typically requires consent (it exceeds the session scope).\n\n**Pinnacle E-Commerce Ltd Examples:**\n\n| Cookie | Purpose | Duration | Exempt |\n|--------|---------|----------|--------|\n| locale_session | Language selected during current session | Session | Yes |\n| locale | Persistent language preference | 1 year | No — requires consent |\n| currency_session | Currency selected during current session | Session | Yes |\n| currency | Persistent currency preference | 1 year | No — requires consent |\n\n## Non-Exempt Cookie Categories\n\nThe following cookie types are explicitly NOT exempt and always require consent:\n\n### Analytics and Performance Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Google Analytics (_ga, _gid) | Serves the operator's analytics purpose, not the user's requested service |\n| Hotjar (_hj*) | Session recording and heatmaps serve the operator |\n| A\u002FB testing (optimizely_*) | Experimentation serves the operator's optimization goals |\n| Performance monitoring | Site performance monitoring benefits the operator |\n\n**Note:** The CNIL has created a separate limited exemption for audience measurement (see analytics-cookie-consent skill), but this is a French-specific interpretation, not a universal ePrivacy Article 5(3) exemption.\n\n### Advertising and Targeting Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Meta Pixel (_fbp, _fbc) | Advertising tracking serves the advertiser |\n| Google Ads (_gcl_au, IDE) | Conversion tracking and remarketing serve the advertiser |\n| Retargeting cookies | Cross-site tracking for ad personalization |\n| Ad frequency capping | Serves the ad delivery system, not the user |\n\n### Social Media Plug-in Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Facebook Like button cookies | Third-party tracking via social widget |\n| Twitter share widget cookies | Third-party data collection |\n| YouTube embed cookies | Google tracking via embedded video |\n| LinkedIn Insight Tag | Professional network tracking |\n\n**Exception:** If a social login (e.g., \"Login with Google\") is explicitly requested by the user, the authentication cookies for that flow may qualify under Category B. The social platform's tracking cookies do not.\n\n### Persistent Preference Cookies\n\n| Cookie Type | Why Not Exempt |\n|-------------|---------------|\n| Persistent language preference | Exceeds session scope |\n| Theme\u002Fdark mode preference (persistent) | Exceeds session scope |\n| \"Don't show again\" dismissal cookies | Convenience, not strictly necessary |\n| Recently viewed products | Enhancement, not essential service |\n\n## Borderline Cases and Regulatory Guidance\n\n### Consent Cookie Itself\n\nThe cookie that stores whether the user has accepted or rejected cookies:\n\n| DPA Position | Exempt? | Reasoning |\n|-------------|---------|-----------|\n| UK ICO | Yes | Strictly necessary to remember the user's privacy choice |\n| CNIL | Yes | Technical necessity for implementing consent |\n| Belgian DPA | Yes | Required to avoid re-prompting on every page |\n| EDPB | Yes (implied) | Necessary to fulfill the consent obligation |\n\n**Pinnacle E-Commerce Ltd:** The `consent_state` cookie is classified as strictly necessary.\n\n### Fraud Detection Cookies\n\n| Scenario | Exempt? | Reasoning |\n|---------|---------|-----------|\n| CSRF token for form submission | Yes | Security for service the user requested (submitting a form) |\n| Bot detection (CAPTCHA) | Likely yes | Security for the service; some DPAs require notice |\n| Device fingerprinting for fraud | Likely no | Goes beyond what is strictly necessary; may use consent or legitimate interest |\n| reCAPTCHA cookies | Contested | Google reCAPTCHA sets cookies and communicates with Google; some DPAs require consent |\n\n### CDN and Infrastructure Cookies\n\n| Scenario | Exempt? | Reasoning |\n|---------|---------|-----------|\n| Cloudflare __cf_bm (bot management) | Contested | Security-related but sets persistent cookie; review with DPO |\n| CDN session routing | Yes | Load balancing (Category E) |\n| Geographic routing | Yes if session-only | Infrastructure necessity |\n| A\u002FB testing server routing | No | Optimization, not user-requested service |\n\n## Classification Process for Pinnacle E-Commerce Ltd\n\n### Step 1: Inventory All Cookies\n\nUse the cookie-audit skill to generate a complete cookie inventory.\n\n### Step 2: Apply the Two-Part Test\n\nFor each cookie, answer:\n1. Is this cookie strictly necessary for the website to deliver a specific function?\n2. Did the user explicitly request that specific function?\n\n### Step 3: Classify and Document\n\n| Cookie | User-Requested Service | Strictly Necessary | Duration OK | Exempt |\n|--------|----------------------|-------------------|-------------|--------|\n| session_id | Browsing the site | Yes — session state | Session | Yes |\n| auth_token | Logging in | Yes — authentication | Session | Yes |\n| cart_session | Adding items to cart | Yes — cart functionality | Session | Yes |\n| csrf_token | Submitting forms | Yes — form security | Session | Yes |\n| _ga | None (operator analytics) | No | 2 years | No |\n| _fbp | None (operator advertising) | No | 90 days | No |\n| locale | Changing language | Debatable | 1 year | No — persistent, needs consent |\n| consent_state | Managing cookie preferences | Yes — consent management | 6 months | Yes |\n\n### Step 4: Document Justification\n\nFor each exempt cookie, maintain a written justification:\n\n**Template:**\n```\nCookie: [name]\nClassification: Strictly Necessary — Exempt from consent\nUser-Requested Service: [specific service]\nWhy Strictly Necessary: [explanation of why the service cannot function without this cookie]\nDuration Justification: [why this duration is the minimum necessary]\nWP 194 Category: [A\u002FB\u002FC\u002FD\u002FE\u002FF]\nReviewed By: [DPO name]\nReview Date: [date]\nNext Review: [date + 12 months]\n```\n\n## Key Legal References\n\n- **ePrivacy Directive 2002\u002F58\u002FEC, Article 5(3)** — Consent requirement and strictly necessary exemption\n- **Directive 2009\u002F136\u002FEC (Citizens' Rights Directive)** — Amended Article 5(3) to require informed consent\n- **Article 29 Working Party Opinion 04\u002F2012 (WP 194)** — Authoritative guidance on cookie consent exemption categories\n- **CJEU Case C-673\u002F17 (Planet49)** — Active consent; exemption applies only to strictly necessary cookies\n- **EDPB Guidelines 05\u002F2020 on Consent** — Consent under GDPR applicable to ePrivacy consent\n- **UK ICO Guidance on Cookies (2019, updated 2023)** — PECR implementation of ePrivacy exemptions\n- **CNIL Deliberation No. 2020-091 (17 September 2020)** — French implementation of cookie exemptions\n- **Recital 66, Directive 2009\u002F136\u002FEC** — Exemption for cookies \"strictly limited to the provision of an information society service explicitly requested\"\n",{"name":5,"license":15,"metadata":42,"description":7},{"tags":43,"author":9,"domain":36,"version":44,"subdomain":45},"eprivacy, essential-cookies, strictly-necessary, article-5-3, cookie-exemption","1.0","cookie-consent-compliance","main","9b2ef9eae161c00a17241d42a388571321b33e9f","plugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies",68,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills","https:\u002F\u002Fgithub.com\u002Fmukul975","Mahipal.engineer","🔐 Cybersecurity | 💻 Dev | 📷 Street Photographer\r\n🎓 MSc | 📚 Research & AI Security","2026-03-17 04:06:52",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill eprivacy-essential-cookies",{"tool":61,"command":62},"bunx","bunx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill eprivacy-essential-cookies",{"tool":64,"command":65},"pnpm","pnpm dlx skills add mukul975\u002FPrivacy-Data-Protection-Skills --skill eprivacy-essential-cookies","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002FSKILL.md",true,[69,75,81,85,89],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"assets\u002Ftemplate.md","ASSET","资产文件",980,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002Fassets\u002Ftemplate.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fplatform-setup.md","REFERENCE","参考文档",16467,"https:\u002F\u002Fgithub.com\u002FDenisovAV\u002Fflutter_edge_ai\u002Fblob\u002Fmain\u002Fpackages\u002Fflutter_edge_ai\u002Fskills\u002Fflutter-edge-ai-inference\u002Freferences\u002Fplatform-setup.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fstandards.md",1673,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002Freferences\u002Fstandards.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fworkflows.md",1573,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002Freferences\u002Fworkflows.md",{"path":90,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Fprocess.py","SCRIPT","脚本",11096,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fplugins\u002Fcookie-consent-skills\u002Fskills\u002Feprivacy-essential-cookies\u002Fscripts\u002Fprocess.py",[96,118,135,148,165,178],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":109,"publishedAt":37},"01M6AG6K8R3XW10ENWH2FH18RH","workplace-email-privacy","Implements email and internet monitoring compliance in the workplace per Barbulescu v Romania (ECHR Grand Chamber), EDPB guidance, and national labour law. Covers acceptable use policies, legitimate expectation of privacy, proportionality testing, and content vs metadata monitoring. Keywords: email monitoring, Barbulescu, workplace privacy, internet monitoring, acceptable use policy, ECHR, proportionality.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fworkplace-email-privacy\u002FSKILL.md",[102,105,108],{"categoryNo":103,"categoryName":104,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[110,111,36,35,112,113,114,115,116,117],"email","workplace email privacy","content","data","policy","testing","monitoring","metadata",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":128,"publishedAt":37},"01M6AG6FRCBJY7D061BJZMNV49","whistleblower-data","Implements data protection compliance for whistleblowing systems under EU Directive 2019\u002F1937 and GDPR. Covers anonymous reporting channels, identity protection for whistleblowers and accused persons, retention limits, access restrictions, and retaliation prevention. Addresses national transpositions and DPA guidance. Keywords: whistleblower, Directive 2019\u002F1937, anonymous reporting, identity protection, retaliation, retention, reporting channel.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fwhistleblower-data\u002FSKILL.md",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[113,129,130,131,35,132,133,36,134],"whistleblower data","identity","reporting","data protection","gdpr","prevention",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":142,"publishedAt":37},"01M6AG6CJP0PW3X65HC7VP9SR9","vendor-termination-data","Vendor termination data return and deletion procedures per GDPR Article 28(3)(g). Covers data extraction formats, deletion certification requirements, transition planning, residual data handling, and post-termination verification.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-termination-data\u002FSKILL.md",[141],{"categoryNo":125,"categoryName":126,"taxonomyType":26,"taxonomyTypeDesc":27},[113,143,144,145,146,133,36,147],"vendor termination data","planning","verification","extraction","certification",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":155,"publishedAt":37},"01M6AG69E277DXZB2NF6KV17ZA","vendor-risk-scoring","Vendor privacy risk tiering methodology for processor management. Covers scoring factors including data volume, sensitivity, transfer locations, certifications, breach history, and control maturity with weighted risk calculation and tier assignment.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-risk-scoring\u002FSKILL.md",[154],{"categoryNo":125,"categoryName":126,"taxonomyType":26,"taxonomyTypeDesc":27},[156,157,158,159,160,161,162,163,36,113,164],"vendor risk scoring","risk","risk scoring","methodology","risk-scoring","assessment","transfer","certifications","processor",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":172,"publishedAt":37},"01M6AG6655ABFKT2BBWHCP4PAT","vendor-privacy-due-diligence","Pre-contract vendor privacy due diligence per GDPR Article 28(1). Covers risk questionnaires, technical controls assessment, certification review, data flow analysis, and documented sufficiency decisions for processor engagement.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-privacy-due-diligence\u002FSKILL.md",[171],{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[36,173,133,174,161,175,176,113,164,157,147,177],"vendor privacy due diligence","review","onboarding","flow","analysis",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":187,"publishedAt":37},"01M6AG62C3VD8SYNGH4N7RHZTE","vendor-privacy-audit","On-site and remote vendor audit procedures per GDPR Article 28(3)(h). Covers audit planning, evidence collection methodologies, finding classification, remediation tracking, and audit report generation for processor compliance verification.","https:\u002F\u002Fgithub.com\u002Fmukul975\u002FPrivacy-Data-Protection-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fprivacy\u002Fvendor-privacy-audit\u002FSKILL.md",[184,185,186],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},[188,189,36,190,145,191,35,133,192,164,193,194,195,144],"vendor privacy audit","audit","report","audit report","remediation","collection","remediation-tracking","classification"]