Ziggy
Ziggy is an open source PHP and JavaScript package, maintained by Tighten, that exposes a Laravel application named routes and a route() helper to client side JavaScript. It is compiled into the application own bundle and served from the first party origin. Ziggy sets no cookies, makes no third party requests and collects no behavioural or personal data, so it is a strictly necessary technical component that does not require consent.
What does Ziggy do?
What Ziggy is
Ziggy is an open source package maintained by Tighten that bridges Laravel and the browser. During the build it takes the named routes defined in your Laravel application and serialises them into a JavaScript object, then exposes a route() helper so front end code, including Vue, React or Inertia components, can generate correct URLs without hard coding them. Ziggy ships as part of your own application bundle and is served from your own domain.
What data Ziggy handles
Ziggy handles route definitions, not user data. It exposes route names, URI patterns and, optionally, the current route parameters to the client. It does not set cookies, does not write to localStorage for tracking, does not read device identifiers and does not send any information to Tighten or to a third party. Because nothing about the visitor is collected or transmitted, Ziggy does not process personal data in its own right.
Why Ziggy is exempt from consent
Article 5(3) of the ePrivacy Directive only requires consent when a service stores or accesses information on the user terminal, and an exemption applies to storage that is strictly necessary to deliver a service the user requested. Ziggy neither stores nor reads terminal information for tracking, so the consent obligation simply does not arise. It can load before any consent decision, just like your application own JavaScript.
GDPR considerations in the host application
While Ziggy itself is neutral, the application around it will usually process personal data and must have its own legal basis, privacy notice and security measures. The one Ziggy specific point is exposure: because your route table is serialised into the page, avoid placing secrets, tokens or personal identifiers in route names or default parameters, and use Ziggy route filtering to publish only the routes the client genuinely needs.
Data transfers
Ziggy performs no data transfers. It makes no outbound network requests of its own and sends nothing outside the European Economic Area. Any transfer risk in your stack comes from other components, such as analytics or hosting, and should be assessed there rather than against Ziggy.
Practical steps for safe use
Keep Ziggy up to date, serve it only from your first party origin and enable its route filtering so that internal or administrative routes are not leaked to the browser. Document Ziggy in your technical records as a strictly necessary component, and note in your component inventory, if you keep one, that it sets no cookies. No consent gating is required.
Ziggy and the GDPR
- Legal basis
- No consent is required under Article 5(3) of the ePrivacy Directive, transposed as Article 82 of the French Loi Informatique et Libertes, section 25 of the German TDDDG and Article 22.2 of the Spanish LSSI CE, because Ziggy does not store or access information on the user terminal for tracking and processes no personal data. It provides strictly necessary technical functionality. Where the surrounding application processes personal data, the controller relies on its own legal basis under Article 6 GDPR.
- Risk level
- low
- Applicable regulations
- GDPR (as part of the host application), ePrivacy Directive 2002/58/EC strictly necessary exemption, French TDDDG, German TDDDG, Spanish LSSI CE
Impact assessment (DPIA)
A dedicated Data Protection Impact Assessment is not required for Ziggy itself, because it processes no personal data and stores nothing on the user terminal for tracking. The only residual consideration is that Ziggy serialises your route definitions into the page, so review your route names and parameters to ensure they do not expose sensitive identifiers or internal endpoints to unauthenticated users. Any assessment effort should focus on the surrounding Laravel application rather than on Ziggy.
Sample text for your banner
This site uses Ziggy, a technical component that makes our application page addresses available to the browser so that links and navigation work correctly. Ziggy sets no cookies, tracks nothing and sends no data to third parties, so no consent is required for it to function.
What Ziggy sets and contacts
- Tracking method
- Client side JavaScript helper bundled into the host Laravel application. Ziggy serialises the application named routes into a JavaScript object and provides a route() function so front end code can build URLs. It is served from the application own origin, sets no cookies, makes no third party requests and collects no behavioural data.
- Server location
- Not applicable. Ziggy is a first party library bundled and served from the same origin as the host application. It does not operate its own servers and does not send data to Tighten or any third party.
- Cookieless mode available
- Yes
Frequently asked questions about Ziggy
Can't find your question? Write to us, we answer fast.
Does Ziggy set any cookies?
No. Ziggy sets no cookies and writes nothing to localStorage for tracking. It only serialises your Laravel route definitions into a JavaScript object that your own front end uses to build URLs.
Do I need consent to use Ziggy?
No. Because Ziggy does not store or read information on the user device for tracking and processes no personal data, the ePrivacy consent requirement does not apply and it can load without a consent decision.
What is the legal basis for Ziggy?
Ziggy is strictly necessary technical functionality, so no separate consent based legal basis is needed for it. The host application relies on its own legal basis under Article 6 GDPR for whatever personal data it processes.
Does Ziggy transfer data to the United States or other third countries?
No. Ziggy makes no outbound requests of its own and sends no data to Tighten or any third party, so it triggers no international transfer. Assess transfers against your analytics, hosting and other vendors instead.
Do I need a DPIA for Ziggy?
Not for Ziggy itself, since it processes no personal data. If your application requires a Data Protection Impact Assessment, focus it on the components that actually collect or use personal data.
How do I use Ziggy in a compliant way?
Serve it from your own origin, keep it updated and enable route filtering so internal routes are not exposed. Avoid putting secrets or personal identifiers in route names, and record Ziggy as a strictly necessary component in your technical documentation.
Are there alternatives to Ziggy?
Alternatives include Laravel Wayfinder, passing routes manually through Inertia shared props, or generating a typed route map at build time. All of these are first party approaches with the same low privacy profile as Ziggy.
Do I need to mention Ziggy in my cookie policy?
You are not required to, because Ziggy sets no cookies. If you maintain a full inventory of components you may list it as a strictly necessary technical library that stores nothing on the device.
Svelte
Svelte is a JavaScript framework designed for building fast, interactive, and scalable web applications. It provides component-based architecture, reactive data binding, and efficient DOM rendering. Svelte supports server-side rendering, static site generation, and progressive web apps. With a rich ecosystem of plugins and developer tools, Svelte accelerates frontend development and delivers exceptional user experiences with optimized performance and SEO-friendly output.
libphonenumber
libphonenumber is a foundational web service that powers critical website functions and digital experiences. It provides reliable infrastructure, seamless integration capabilities, and consistent performance across all devices and browsers. libphonenumber supports modern development practices and scales with growing business needs. With a focus on stability and compatibility, libphonenumber ensures your website delivers a smooth, uninterrupted experience to every visitor and search engine crawler.
FilePond
FilePond is a foundational web service that powers critical website functions and digital experiences. It provides reliable infrastructure, seamless integration capabilities, and consistent performance across all devices and browsers. FilePond supports modern development practices and scales with growing business needs. With a focus on stability and compatibility, FilePond ensures your website delivers a smooth, uninterrupted experience to every visitor and search engine crawler.
visx
Visx is a foundational web service that powers critical website functions and digital experiences. It provides reliable infrastructure, seamless integration capabilities, and consistent performance across all devices and browsers. Visx supports modern development practices and scales with growing business needs. With a focus on stability and compatibility, Visx ensures your website delivers a smooth, uninterrupted experience to every visitor and search engine crawler.
PHPDebugBar
PHPDebugBar is a digital analytics solution that helps businesses measure and understand their online performance through comprehensive data collection and analysis. It provides visitor tracking, behavioral insights, and conversion metrics across websites and applications. PHPDebugBar supports custom event tracking, audience segmentation, and automated reporting. With intuitive dashboards and visualization tools, PHPDebugBar enables informed decisions that improve experience and drive results.
Recharts
Recharts is a foundational web service that powers critical website functions and digital experiences. It provides reliable infrastructure, seamless integration capabilities, and consistent performance across all devices and browsers. Recharts supports modern development practices and scales with growing business needs. With a focus on stability and compatibility, Recharts ensures your website delivers a smooth, uninterrupted experience to every visitor and search engine crawler.
Make your site compliant today.
Free up to 25,000 sessions a month. No credit card, no commitment.