Free, runs entirely in your browser. Your ticket and personal info never leave your device.

Privacy

Last updated: 2026-05-16.

The short version

NYC Parking Ticket Ninja has no backend, no account system, and no server-side processing of your ticket. The interview, defense scoring, letter composition, and PDF generation all run in your browser; your ticket details and personal information never leave your device. The site is free to use and supported by ads served by Google AdSense — that third party is described in detail below, including how to opt out of personalized ads.

What we store, where

Your in-progress appeal is saved to your browser's localStorage under the key ticketninja:appeal. That includes the violation code you picked, your interview answers, personal-info form contents, the chosen defense, and the evidence checklist. We also store your theme preference at ticketninja:theme.

Both keys live only in your browser's storage for this origin. They are not transmitted anywhere. You can clear them at any time using the “Clear saved data” chip on the appeal screen, or by clearing site data in your browser's privacy settings.

What we don't do

  • No accounts. There is no sign-up flow.
  • No product analytics that identify you. We use Vercel Analytics for aggregate traffic counts (pageviews and referrers) — it is cookieless, does not store your IP address, and only resolves location to the country level. We do not run Google Analytics, Plausible, Fathom, Mixpanel, or any other identifying analytics SDK.
  • No server-side handling of your ticket data. We do not have a backend, so your ticket details, personal information, and the generated letter never reach us.
  • No third-party widgets beyond ads. The site does not embed Disqus, Intercom, Hotjar, or similar.
  • No image upload. The optional ticket-image OCR (Tesseract.js) runs in a Web Worker on your device — the image is never transmitted.
  • No PDF upload. The PDF is generated on your device using jsPDF and downloaded directly to your filesystem.

Ads, cookies, and consent

This site is supported by ads served via Google AdSense. When ad slots load, Google's ad scripts can read and write cookies in your browser and may share data with its advertising partners. NYC Parking Ticket Ninjadoes not pass your ticket details, personal information, or any interview answers into the ad request — the interview state stays in your browser's localStorage, and ad slots receive only the standard page context (URL, viewport, language) that any page-embedded ad sees.

By default we configure AdSense in non-personalized mode, which limits ads to contextual targeting and reduces the cookies set. If you are in the EEA, UK, or Switzerland, Google's Consent Management Platform will show a banner letting you accept or reject personalized ads before any ad loads. If you are in California, the same banner exposes the “Do Not Sell or Share My Personal Information” opt-out required by CCPA. You can also opt out of personalized advertising globally at adssettings.google.com.

We may also link to outside legal-help services as sponsored placements. Those links are marked “Sponsored” and use rel="sponsored"; clicking through is governed by the destination site's privacy policy.

Network requests we do make

The site is statically generated. Loading the page fetches the Next.js JavaScript and CSS bundles from the host (or its CDN). The OCR feature also dynamically imports tesseract.js (~2 MB) on first use only. Vercel Analytics sends one cookieless pageview beacon per navigation to va.vercel-scripts.com. When ads are enabled the page additionally loads Google AdSense and Google's Consent Management script from pagead2.googlesyndication.com and fundingchoicesmessages.google.com. Beyond those, the app makes no API requests.

Outbound links

The site links to NYC government resources (nyc.gov/payparking, nyc.gov/oath, nyc.gov/finance/...). Following those links is governed by the City's privacy policies, not ours. We have no control over how those sites handle your visit.

Disclaimer

NYC Parking Ticket Ninja is an informational tool. It is not legal advice. No attorney-client relationship is created by using it. Not affiliated with the City of New York.