# Documentation

> Complete documentation for Zest cookie consent toolkit

Source: https://zest.freshjuice.dev/docs/

## Overview

Zest is a lightweight, zero-dependency cookie consent toolkit designed for GDPR and CCPA compliance. It provides intelligent script blocking, cookie interception, and a beautiful customizable UI — or a headless engine if you want to bring your own UI.

### Why Zest?

| Feature | Zest | Klaro | Tarteaucitron |
|---------|------|-------|---------------|
| Size (gzipped, full) | ~16KB (12 langs) / ~10KB (1 lang) | ~45KB | ~80KB |
| Size (gzipped, headless) | ~11KB | — | — |
| Dependencies | None | None | None |
| Script Blocking | Yes | Yes | Yes |
| Cookie Interception | Yes | No | No |
| Storage Interception | Yes | No | No |
| DNT/GPC Support | Yes | Partial | No |
| Shadow DOM | Yes | No | No |
| Headless entry (BYO UI) | Yes | No | No |

### Core Features

- **Two entry points** - Full build with Shadow DOM UI, or [headless](/docs/getting-started/#npm-headless-bring-your-own-ui) for bring-your-own-UI consumers
- **Intelligent Script Blocking** - Multiple blocking modes (manual, safe, strict, doomsday) with automatic detection of known trackers
- **Cookie & Storage Interception** - Intercepts `document.cookie`, `localStorage`, and `sessionStorage` operations
- **Privacy Controls** - Respects Do Not Track (DNT) and Global Privacy Control (GPC) browser signals
- **Multi-Language** - 12 built-in languages with auto-detection (full build only)
- **Customizable UI** - Banner, settings modal, and floating widget with theming support
- **Event System** - DOM events, `Zest.on()` / `Zest.once()` subscribers, and config callbacks
- **Defense-in-depth security** - XSS / ReDoS / clickjacking / prototype-pollution mitigations on every config input

### Getting Started

1. [Installation & Quick Start](/docs/getting-started/) - Add Zest to your website
2. [Configuration](/docs/configuration/) - Customize behavior and appearance
3. [API Reference](/docs/api/) - Programmatic control
4. [Script Blocking](/docs/script-blocking/) - How script blocking works
5. [Events & Callbacks](/docs/events/) - React to consent changes
6. [Styling](/docs/styling/) - Customize the look and feel

### Need Help?

- Check the [GitHub repository](https://github.com/freshjuice-dev/zest) for the latest updates
- Report issues on [GitHub Issues](https://github.com/freshjuice-dev/zest/issues)
- Join the discussion on [GitHub Discussions](https://github.com/freshjuice-dev/zest/discussions)

