[{"data":1,"prerenderedAt":861},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"content-privacy-en":444},[4,8,13,28,41,51,64,77,94,110,134,150,157,172],{"title":5,"path":6,"stem":7},"Overview","/docs/landing","0.docs/1.landing/001.index",{"title":9,"path":10,"stem":11,"badge":12},"Built-in Features","/docs/landing/built-in-features","0.docs/1.landing/002.built-in-features","New",{"title":14,"path":15,"stem":16,"children":17,"icon":27},"Content Foundation","/docs/landing/content","0.docs/1.landing/02.content/1.index",[18,19,23],{"title":5,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"Details","/docs/landing/content/details","0.docs/1.landing/02.content/2.details",{"title":24,"path":25,"stem":26},"Technical","/docs/landing/content/technical","0.docs/1.landing/02.content/4.technical","i-heroicons-document-text",{"title":29,"path":30,"stem":31,"children":32,"icon":40},"Regional Content","/docs/landing/regional","0.docs/1.landing/03.regional/1.index",[33,34,37],{"title":5,"path":30,"stem":31},{"title":20,"path":35,"stem":36},"/docs/landing/regional/details","0.docs/1.landing/03.regional/2.details",{"title":24,"path":38,"stem":39},"/docs/landing/regional/technical","0.docs/1.landing/03.regional/4.technical","i-heroicons-globe-alt",{"title":42,"path":43,"stem":44,"children":45,"icon":50},"Multi-language","/docs/landing/multilang","0.docs/1.landing/04.multilang/1.index",[46,47],{"title":5,"path":43,"stem":44},{"title":20,"path":48,"stem":49},"/docs/landing/multilang/details","0.docs/1.landing/04.multilang/2.details","i-heroicons-language",{"title":52,"path":53,"stem":54,"children":55,"icon":63},"Blog","/docs/landing/blog","0.docs/1.landing/05.blog/1.index",[56,57,60],{"title":5,"path":53,"stem":54},{"title":20,"path":58,"stem":59},"/docs/landing/blog/details","0.docs/1.landing/05.blog/2.details",{"title":24,"path":61,"stem":62},"/docs/landing/blog/technical","0.docs/1.landing/05.blog/4.technical","i-heroicons-pencil-square",{"title":65,"path":66,"stem":67,"children":68,"icon":76},"Documentation","/docs/landing/docs","0.docs/1.landing/06.docs/1.index",[69,70,73],{"title":5,"path":66,"stem":67},{"title":20,"path":71,"stem":72},"/docs/landing/docs/details","0.docs/1.landing/06.docs/2.details",{"title":24,"path":74,"stem":75},"/docs/landing/docs/technical","0.docs/1.landing/06.docs/4.technical","i-heroicons-book-open",{"title":78,"path":79,"stem":80,"children":81,"icon":93},"Forms","/docs/landing/forms","0.docs/1.landing/07.forms/1.index",[82,83,86,90],{"title":5,"path":79,"stem":80},{"title":20,"path":84,"stem":85},"/docs/landing/forms/details","0.docs/1.landing/07.forms/2.details",{"title":87,"path":88,"stem":89},"Admin","/docs/landing/forms/admin","0.docs/1.landing/07.forms/3.admin",{"title":24,"path":91,"stem":92},"/docs/landing/forms/technical","0.docs/1.landing/07.forms/4.technical","i-heroicons-clipboard-document-list",{"title":95,"path":96,"stem":97,"children":98,"icon":109},"Email","/docs/landing/email","0.docs/1.landing/08.email/1.index",[99,100,103,106],{"title":5,"path":96,"stem":97},{"title":20,"path":101,"stem":102},"/docs/landing/email/details","0.docs/1.landing/08.email/2.details",{"title":87,"path":104,"stem":105},"/docs/landing/email/admin","0.docs/1.landing/08.email/3.admin",{"title":24,"path":107,"stem":108},"/docs/landing/email/technical","0.docs/1.landing/08.email/4.technical","i-heroicons-envelope",{"title":111,"path":112,"stem":113,"children":114,"icon":133},"Feedback Platform","/docs/landing/feedback","0.docs/1.landing/09.feedback/1.index",[115,116,119,122,125,129],{"title":5,"path":112,"stem":113},{"title":20,"path":117,"stem":118},"/docs/landing/feedback/details","0.docs/1.landing/09.feedback/2.details",{"title":87,"path":120,"stem":121},"/docs/landing/feedback/admin","0.docs/1.landing/09.feedback/3.admin",{"title":24,"path":123,"stem":124},"/docs/landing/feedback/technical","0.docs/1.landing/09.feedback/4.technical",{"title":126,"path":127,"stem":128},"Compare vs SaaS","/docs/landing/feedback/compare","0.docs/1.landing/09.feedback/5.compare",{"title":130,"path":131,"stem":132},"FAQ","/docs/landing/feedback/faq","0.docs/1.landing/09.feedback/6.faq","i-heroicons-chat-bubble-left-right",{"title":135,"path":136,"stem":137,"children":138,"icon":149},"Storage","/docs/landing/storage","0.docs/1.landing/10.storage/1.index",[139,140,143,146],{"title":5,"path":136,"stem":137},{"title":20,"path":141,"stem":142},"/docs/landing/storage/details","0.docs/1.landing/10.storage/2.details",{"title":87,"path":144,"stem":145},"/docs/landing/storage/admin","0.docs/1.landing/10.storage/3.admin",{"title":24,"path":147,"stem":148},"/docs/landing/storage/technical","0.docs/1.landing/10.storage/4.technical","i-heroicons-circle-stack",{"title":151,"path":152,"stem":153,"children":154,"icon":156},"Offline First","/docs/landing/offline-first","0.docs/1.landing/11.offline-first/1.index",[155],{"title":151,"path":152,"stem":153},"i-heroicons-users",{"title":158,"path":159,"stem":160,"children":161,"icon":156},"Yjs Sync","/docs/landing/yjs-sync","0.docs/1.landing/12.yjs-sync/1.index",[162,163,166,169],{"title":5,"path":159,"stem":160},{"title":20,"path":164,"stem":165},"/docs/landing/yjs-sync/details","0.docs/1.landing/12.yjs-sync/2.details",{"title":87,"path":167,"stem":168},"/docs/landing/yjs-sync/admin","0.docs/1.landing/12.yjs-sync/3.admin",{"title":24,"path":170,"stem":171},"/docs/landing/yjs-sync/technical","0.docs/1.landing/12.yjs-sync/4.technical",{"title":173,"path":174,"stem":175,"children":176,"badge":178,"icon":179},"Newsletter","/docs/landing/newsletter","0.docs/1.landing/13.newsletter/index",[177],{"title":173,"path":174,"stem":175,"badge":178},"Coming Soon","i-lucide-send",[181,184,202,298],{"title":5,"path":182,"stem":183},"/docs/nuxt-auto","0.docs/3.nuxt-auto/index",{"title":185,"path":186,"stem":187,"children":188,"page":201},"Getting Started","/docs/nuxt-auto/getting-started","0.docs/3.nuxt-auto/1.getting-started",[189,193,197],{"title":190,"path":191,"stem":192},"Introduction","/docs/nuxt-auto/getting-started/introduction","0.docs/3.nuxt-auto/1.getting-started/1.introduction",{"title":194,"path":195,"stem":196},"Installation","/docs/nuxt-auto/getting-started/installation","0.docs/3.nuxt-auto/1.getting-started/2.installation",{"title":198,"path":199,"stem":200},"Quick Start","/docs/nuxt-auto/getting-started/quick-start","0.docs/3.nuxt-auto/1.getting-started/3.quick-start",false,{"title":203,"path":204,"stem":205,"children":206,"page":201},"Auto API","/docs/nuxt-auto/auto-api","0.docs/3.nuxt-auto/2.auto-api",[207,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294],{"title":185,"path":208,"stem":209},"/docs/nuxt-auto/auto-api/getting-started","0.docs/3.nuxt-auto/2.auto-api/1.getting-started",{"title":211,"path":212,"stem":213},"Aggregations","/docs/nuxt-auto/auto-api/aggregations","0.docs/3.nuxt-auto/2.auto-api/10.aggregations",{"title":215,"path":216,"stem":217},"Lifecycle Hooks","/docs/nuxt-auto/auto-api/lifecycle-hooks","0.docs/3.nuxt-auto/2.auto-api/11.lifecycle-hooks",{"title":219,"path":220,"stem":221},"Many-to-Many (M2M) Relationships","/docs/nuxt-auto/auto-api/m2m-relationships","0.docs/3.nuxt-auto/2.auto-api/12.m2m-relationships",{"title":223,"path":224,"stem":225},"Plugin System","/docs/nuxt-auto/auto-api/plugin-system","0.docs/3.nuxt-auto/2.auto-api/13.plugin-system",{"title":227,"path":228,"stem":229},"Database Adapters","/docs/nuxt-auto/auto-api/database-adapters","0.docs/3.nuxt-auto/2.auto-api/14.database-adapters",{"title":231,"path":232,"stem":233},"Custom Endpoints","/docs/nuxt-auto/auto-api/custom-endpoints","0.docs/3.nuxt-auto/2.auto-api/15.custom-endpoints",{"title":235,"path":236,"stem":237},"Multi-Tenancy","/docs/nuxt-auto/auto-api/multi-tenancy","0.docs/3.nuxt-auto/2.auto-api/16.multi-tenancy",{"title":239,"path":240,"stem":241},"Validation","/docs/nuxt-auto/auto-api/validation","0.docs/3.nuxt-auto/2.auto-api/2.validation",{"title":243,"path":244,"stem":245},"Rate Limiting","/docs/nuxt-auto/auto-api/rate-limiting","0.docs/3.nuxt-auto/2.auto-api/20.rate-limiting",{"title":247,"path":248,"stem":249},"Request Metadata Plugin","/docs/nuxt-auto/auto-api/request-metadata","0.docs/3.nuxt-auto/2.auto-api/21.request-metadata",{"title":251,"path":252,"stem":253},"Plugin Catalog","/docs/nuxt-auto/auto-api/plugin-catalog","0.docs/3.nuxt-auto/2.auto-api/22.plugin-catalog",{"title":255,"path":256,"stem":257},"Handler Overrides","/docs/nuxt-auto/auto-api/handler-overrides","0.docs/3.nuxt-auto/2.auto-api/3.handler-overrides",{"title":259,"path":260,"stem":261},"Cloudflare D1","/docs/nuxt-auto/auto-api/cloudflare-d1","0.docs/3.nuxt-auto/2.auto-api/30.cloudflare-d1",{"title":263,"path":264,"stem":265},"SQLite to D1 Migration","/docs/nuxt-auto/auto-api/migration-sqlite-d1","0.docs/3.nuxt-auto/2.auto-api/31.migration-sqlite-d1",{"title":267,"path":268,"stem":269},"Frontend Composables","/docs/nuxt-auto/auto-api/frontend-composables","0.docs/3.nuxt-auto/2.auto-api/32.frontend-composables",{"title":271,"path":272,"stem":273},"Testing","/docs/nuxt-auto/auto-api/testing","0.docs/3.nuxt-auto/2.auto-api/33.testing",{"title":275,"path":276,"stem":277},"Pagination","/docs/nuxt-auto/auto-api/pagination","0.docs/3.nuxt-auto/2.auto-api/4.pagination",{"title":279,"path":280,"stem":281},"Soft Deletes","/docs/nuxt-auto/auto-api/soft-deletes","0.docs/3.nuxt-auto/2.auto-api/5.soft-deletes",{"title":283,"path":284,"stem":285},"Authentication & Authorization","/docs/nuxt-auto/auto-api/authentication-authorization","0.docs/3.nuxt-auto/2.auto-api/6.authentication-authorization",{"title":287,"path":288,"stem":289},"Better-Auth Integration","/docs/nuxt-auto/auto-api/better-auth","0.docs/3.nuxt-auto/2.auto-api/7.better-auth",{"title":291,"path":292,"stem":293},"Nested Relations","/docs/nuxt-auto/auto-api/nested-relationships","0.docs/3.nuxt-auto/2.auto-api/8.nested-relationships",{"title":295,"path":296,"stem":297},"Bulk Operations","/docs/nuxt-auto/auto-api/bulk-operations","0.docs/3.nuxt-auto/2.auto-api/9.bulk-operations",{"title":299,"path":300,"stem":301,"children":302,"page":201},"Auto Admin","/docs/nuxt-auto/auto-admin","0.docs/3.nuxt-auto/3.auto-admin",[303,306,310,314,318,322,326,330,334],{"title":185,"path":304,"stem":305},"/docs/nuxt-auto/auto-admin/getting-started","0.docs/3.nuxt-auto/3.auto-admin/1.getting-started",{"title":307,"path":308,"stem":309},"Configuration & Theming","/docs/nuxt-auto/auto-admin/configuration-theming","0.docs/3.nuxt-auto/3.auto-admin/2.configuration-theming",{"title":311,"path":312,"stem":313},"Resource Configuration","/docs/nuxt-auto/auto-admin/resource-configuration","0.docs/3.nuxt-auto/3.auto-admin/3.resource-configuration",{"title":315,"path":316,"stem":317},"Form Fields & Widgets","/docs/nuxt-auto/auto-admin/form-fields-widgets","0.docs/3.nuxt-auto/3.auto-admin/4.form-fields-widgets",{"title":319,"path":320,"stem":321},"Permissions","/docs/nuxt-auto/auto-admin/permissions","0.docs/3.nuxt-auto/3.auto-admin/5.permissions",{"title":323,"path":324,"stem":325},"Custom Pages","/docs/nuxt-auto/auto-admin/custom-pages","0.docs/3.nuxt-auto/3.auto-admin/6.custom-pages",{"title":327,"path":328,"stem":329},"M2M Relationships","/docs/nuxt-auto/auto-admin/m2m-relationships","0.docs/3.nuxt-auto/3.auto-admin/7.m2m-relationships",{"title":331,"path":332,"stem":333},"Custom Actions","/docs/nuxt-auto/auto-admin/custom-actions","0.docs/3.nuxt-auto/3.auto-admin/8.custom-actions",{"title":335,"path":336,"stem":337},"Composables","/docs/nuxt-auto/auto-admin/composables","0.docs/3.nuxt-auto/3.auto-admin/9.composables",[339,342,355,382,400,415,425],{"title":5,"path":340,"stem":341},"/docs/nuxt-protokit","0.docs/4.nuxt-protokit/index",{"title":185,"path":343,"stem":344,"children":345,"icon":354},"/docs/nuxt-protokit/getting-started","0.docs/4.nuxt-protokit/1.getting-started/1.index",[346,347,351],{"title":190,"path":343,"stem":344},{"title":348,"path":349,"stem":350},"Core Concepts","/docs/nuxt-protokit/getting-started/concepts","0.docs/4.nuxt-protokit/1.getting-started/2.concepts",{"title":198,"path":352,"stem":353},"/docs/nuxt-protokit/getting-started/quick-start","0.docs/4.nuxt-protokit/1.getting-started/3.quick-start","i-lucide-rocket",{"title":356,"path":357,"stem":358,"children":359,"icon":381},"Schemas","/docs/nuxt-protokit/schemas","0.docs/4.nuxt-protokit/2.schemas/1.index",[360,361,365,369,373,377],{"title":5,"path":357,"stem":358},{"title":362,"path":363,"stem":364},"Field Types","/docs/nuxt-protokit/schemas/fields","0.docs/4.nuxt-protokit/2.schemas/2.fields",{"title":366,"path":367,"stem":368},"Collections","/docs/nuxt-protokit/schemas/collections","0.docs/4.nuxt-protokit/2.schemas/3.collections",{"title":370,"path":371,"stem":372},"Derived & Computed","/docs/nuxt-protokit/schemas/derived-computed","0.docs/4.nuxt-protokit/2.schemas/4.derived-computed",{"title":374,"path":375,"stem":376},"Connections","/docs/nuxt-protokit/schemas/connections","0.docs/4.nuxt-protokit/2.schemas/5.connections",{"title":378,"path":379,"stem":380},"Visualizations & Layouts","/docs/nuxt-protokit/schemas/visualizations","0.docs/4.nuxt-protokit/2.schemas/6.visualizations","i-lucide-file-code",{"title":335,"path":383,"stem":384,"children":385,"icon":399},"/docs/nuxt-protokit/composables","0.docs/4.nuxt-protokit/3.composables/1.index",[386,387,391,395],{"title":5,"path":383,"stem":384},{"title":388,"path":389,"stem":390},"usePrototype","/docs/nuxt-protokit/composables/use-prototype","0.docs/4.nuxt-protokit/3.composables/2.use-prototype",{"title":392,"path":393,"stem":394},"useProtoDoc","/docs/nuxt-protokit/composables/use-proto-doc","0.docs/4.nuxt-protokit/3.composables/3.use-proto-doc",{"title":396,"path":397,"stem":398},"useProtoCollection","/docs/nuxt-protokit/composables/use-proto-collection","0.docs/4.nuxt-protokit/3.composables/4.use-proto-collection","i-lucide-layers",{"title":401,"path":402,"stem":403,"children":404,"icon":414},"Components","/docs/nuxt-protokit/components","0.docs/4.nuxt-protokit/4.components/1.index",[405,406,410],{"title":5,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"ProtoTool","/docs/nuxt-protokit/components/proto-tool","0.docs/4.nuxt-protokit/4.components/2.proto-tool",{"title":411,"path":412,"stem":413},"ProtoCrudModal","/docs/nuxt-protokit/components/proto-crud-modal","0.docs/4.nuxt-protokit/4.components/3.proto-crud-modal","i-lucide-puzzle",{"title":151,"path":416,"stem":417,"children":418,"icon":424},"/docs/nuxt-protokit/offline-first","0.docs/4.nuxt-protokit/5.offline-first/1.index",[419,420],{"title":151,"path":416,"stem":417},{"title":421,"path":422,"stem":423},"Corruption Recovery","/docs/nuxt-protokit/offline-first/corruption-recovery","0.docs/4.nuxt-protokit/5.offline-first/2.corruption-recovery","i-lucide-wifi-off",{"title":426,"icon":427,"path":428,"stem":429,"children":430},"Advanced","i-lucide-graduation-cap","/docs/nuxt-protokit/advanced","0.docs/4.nuxt-protokit/6.advanced/1.index",[431,432,436,440],{"title":5,"path":428,"stem":429},{"title":433,"path":434,"stem":435},"Multi-Tool Apps","/docs/nuxt-protokit/advanced/building-a-toolkit","0.docs/4.nuxt-protokit/6.advanced/1.building-a-toolkit",{"title":437,"path":438,"stem":439},"Schema Patterns","/docs/nuxt-protokit/advanced/custom-schema-patterns","0.docs/4.nuxt-protokit/6.advanced/2.custom-schema-patterns",{"title":441,"path":442,"stem":443},"Custom Fields & Viz","/docs/nuxt-protokit/advanced/extensibility","0.docs/4.nuxt-protokit/6.advanced/3.extensibility",{"id":445,"title":446,"body":447,"contact":448,"description":453,"extension":454,"lastUpdated":455,"lastUpdatedLabel":456,"meta":457,"navigation":458,"ogImage":447,"path":460,"sections":461,"seo":853,"stem":856,"__hash__":857,"_contentMeta":858},"privacy/7.privacy.yml","Privacy Policy",null,{"title":449,"description":450,"formAction":451,"linkLabel":452},"Privacy Questions?","If you have questions about this Privacy Policy or wish to exercise your GDPR rights, please contact us.","contact-form","Contact Us","How we collect, use, and protect your personal information","yml","2026-01-06","Last Updated",{},{"icon":459},"i-lucide-shield","/privacy",[462,467,476,548,555,587,599,643,656,705,717,754,790,812,821,827,838,843],{"title":190,"content":463},[464,465,466],"This Privacy Policy describes how **[BUSINESS NAME]** (\"we\", \"our\", or \"us\") collects, uses, and protects your personal information when you use **websideproject.com** and our related services.","We are committed to protecting your privacy and ensuring transparency about our data practices in compliance with the General Data Protection Regulation (GDPR) and Hungarian data protection laws.","By using our services, you agree to the collection and use of information as described in this policy. If you do not agree, please do not use our services.",{"title":468,"content":469},"Data Controller Information",[470,471,472,473,474,475],"**Business Name:** [BUSINESS NAME]","**Address:** [ADDRESS]","**Tax ID (Adószám):** [TAX ID]","**Contact Email:** [EMAIL]","**Website:** websideproject.com","We are the data controller responsible for your personal information collected through our services.",{"title":477,"content":478,"subsections":480},"What Information We Collect",[479],"We collect different types of information depending on how you interact with our services.",[481,490,500,511,520,527,539],{"subtitle":482,"items":483},"1. Account and Authentication Data",[484,485,486,487,488,489],"**Email address** (required for account creation)","**Full name** (from Google OAuth or provided directly)","**Profile picture** (from Google OAuth, optional)","**Google OAuth tokens** (access, refresh, and ID tokens when you sign in with Google)","**Account role and status** (user, admin, verification status)","**Account creation and update timestamps**",{"subtitle":491,"items":492},"2. Session and Technical Data",[493,494,495,496,497,498,499],"**IP address** (anonymized by truncation: last octet/segment removed, e.g., 192.168.1.XXX → 192.168.1.0)","**User agent** (browser and device information)","**Device type** (mobile, desktop, tablet)","**Browser type** (Chrome, Firefox, Safari, etc.)","**Geographic location** (country-level only, derived from Cloudflare headers before IP anonymization)","**Session identifiers** (for authentication and security)","**Note:** IP anonymization prevents individual identification while preserving regional information for service optimization",{"subtitle":501,"items":502},"3. Form Submissions and Analytics",[503,504,505,506,507,508,509,510],"**Form input data** (information you submit through contact or other forms)","**Email validation** (disposable/temporary email services are automatically blocked for spam prevention)","**Form session tracking** including:","  - Anonymous session ID","  - Field interaction patterns (which fields you interacted with, time spent)","  - Completion and abandonment metrics","  - Referrer (where you came from)","**Note:** Form analytics help us improve user experience by understanding which fields cause confusion or abandonment.",{"subtitle":512,"items":513},"4. Email Communications Data",[514,515,516,517,518,519],"**Email addresses** (for transactional and optional marketing emails)","**Email engagement metrics:**","  - Opens (whether you opened the email)","  - Clicks (which links you clicked)","  - Bounces and delivery status","**Note:** We do NOT track IP addresses or geolocation from email opens/clicks as this data is unreliable due to email provider proxying.",{"subtitle":521,"items":522},"5. Feedback and Public Contributions",[523,524,525,526],"**Feedback submissions** (bug reports, feature requests, suggestions)","**Votes and comments** on feedback items","**User ID** (if authenticated) or anonymous submission data","**Timestamps and moderation status**",{"subtitle":528,"items":529},"6. Analytics and Usage Data",[530,531,532,533,534,535,536,537,538],"**Page views and navigation paths** (via Umami Analytics, self-hosted)","**User identification** (for authenticated users to track journeys across sessions)","**Custom events** including:","  - Form submission and abandonment events","  - Authentication events (sign in, sign up, errors)","  - Link clicks (internal and external)","  - Scroll depth and time on page","  - Exit intent tracking","**Note:** Our analytics are privacy-friendly, self-hosted, and do not use cross-site tracking or advertising cookies.",{"subtitle":540,"items":541},"7. Tools Data (Browser-Local and Optional Sync)",[542,543,544,545,546,547],"**By default:** All tools data (Pomodoro timer, calculators, generators) is stored **locally in your browser** using IndexedDB and is NOT transmitted to our servers.","**Optional backend sync:** If you create an account and opt-in, you can sync your tools data to our servers for backup and cross-device access. This includes:","  - Project data (Pomodoro sessions, burn rate calculations, etc.)","  - Tool settings and preferences","  - Historical data and saved projects","**You control:** You can delete synced data at any time through account settings.",{"title":549,"list":550},"How We Collect Information",[551,552,553,554],"**Direct input:** When you create an account, submit forms, provide feedback, or use our tools","**Automated collection:** Through cookies (session only), analytics, and session tracking","**Third-party OAuth:** Via Google when you sign in with your Google account","**Email interactions:** When you open or click links in emails we send",{"title":556,"content":557,"subsections":559},"Legal Basis for Processing (GDPR)",[558],{"We process your personal data based on the following legal grounds":447},[560,567,575,581],{"subtitle":561,"items":562},"Contract Performance (GDPR Art. 6(1)(b))",[563,564,565,566],"Providing authentication and account services","Delivering tools and features you request","Processing optional paid features (backend sync, premium tools)","Sending transactional emails",{"subtitle":568,"items":569},"Legitimate Interest (GDPR Art. 6(1)(f))",[570,571,572,573,574],"Website analytics to improve service quality","Form analytics to optimize user experience","Fraud prevention and security monitoring","Session tracking for troubleshooting","Sending service updates and important announcements",{"subtitle":576,"items":577},"Consent (GDPR Art. 6(1)(a))",[578,579,580],"Optional data sync (you must actively enable this)","Marketing communications (you can opt-out anytime)","User identification in analytics (for logged-in users)",{"subtitle":582,"items":583},"Legal Obligation (GDPR Art. 6(1)(c))",[584,585,586],"Compliance with tax and accounting requirements","Responding to legal requests and court orders","Maintaining records as required by law",{"title":588,"content":589,"list":591},"How We Use Your Information",[590],{"We use the collected information for the following purposes":447},[592,593,594,595,596,597,598],"**Provide services:** Authenticate users, enable tool functionality, process requests","**Improve services:** Analyze usage patterns, identify pain points, optimize performance","**Communicate:** Send transactional emails (password resets, account updates), optional newsletters","**Security:** Prevent fraud, detect abuse, protect against security threats","**Support:** Respond to questions, troubleshoot issues, provide customer assistance","**Legal compliance:** Meet regulatory requirements, respond to lawful requests","**Analytics:** Understand how users interact with our tools to make data-driven improvements",{"title":600,"content":601,"subsections":604},"Data Sharing and Third-Party Processors",[602,603],"**We do NOT sell, trade, or rent your personal information to third parties for marketing purposes.**",{"We share data only with trusted service providers who help us operate our services, under strict data processing agreements":447},[605,612,621,630,637],{"subtitle":606,"items":607},"Google LLC (Authentication)",[608,609,610,611],"**Purpose:** OAuth authentication (Sign in with Google)","**Data shared:** Email, name, profile picture, Google account ID","**Location:** United States (EU-US Data Privacy Framework compliant)","**Privacy Policy:** [https://policies.google.com/privacy](https://policies.google.com/privacy)",{"subtitle":613,"items":614},"Amazon Web Services (Email Delivery)",[615,616,617,618,619,620],"**Service:** AWS SES (Simple Email Service)","**Purpose:** Sending transactional and marketing emails","**Data shared:** Email addresses, send/bounce/click metrics","**Location:** EU region (Frankfurt, eu-central-1)","**Data Processing Agreement:** AWS GDPR DPA applies","**Privacy Policy:** [https://aws.amazon.com/privacy/](https://aws.amazon.com/privacy/)",{"subtitle":622,"items":623},"Cloudflare, Inc. (Infrastructure)",[624,625,626,627,628,629],"**Services:** Hosting (Pages/Workers), Database (D1), Storage (KV), Security (Turnstile bot protection)","**Purpose:** Website hosting, CDN, database, security, performance","**Data processed:** Request data, session data, IP addresses (not stored long-term), performance metrics","**Location:** Global edge network, primary database in EU","**Data Processing Agreement:** Cloudflare DPA applies","**Privacy Policy:** [https://www.cloudflare.com/privacypolicy/](https://www.cloudflare.com/privacypolicy/)",{"subtitle":631,"items":632},"Umami Analytics (Self-Hosted)",[633,634,635,636],"**Purpose:** Privacy-friendly website analytics","**Hosting:** Self-hosted at umami.websideproject.com (under our control)","**Data collected:** Anonymous page views, user journeys (for logged-in users), custom events","**Privacy:** No cross-site tracking, no advertising, no cookies required",{"subtitle":638,"items":639},"Legal Disclosures",[640,641,642],"We may disclose your information if required by law, court order, or government request","To protect our rights, property, or safety, or that of our users","In connection with a merger, sale, or acquisition (with notification to affected users)",{"title":644,"content":645,"list":647},"Data Retention",[646],{"We retain personal data for as long as necessary to fulfill the purposes outlined in this policy":447},[648,649,650,651,652,653,654,655],"**Active accounts:** Data retained while your account is active","**Deleted accounts:** All personal data removed within 30 days of account deletion request","**Form submissions:** Retained for [X months/years - SPECIFY YOUR POLICY] for operational purposes","**Email logs:** Retained for [X months/years - SPECIFY YOUR POLICY] for deliverability monitoring","**Analytics data:** Aggregated analytics retained indefinitely (no personal identifiers)","**Session data:** Active sessions expire after [X days - SPECIFY], historical data retained for [X months - SPECIFY]","**Legal holds:** Data subject to legal obligations retained until requirements are met","**Backups:** Deleted data may persist in backups for up to 30 days before permanent removal",{"title":657,"content":658,"subsections":660},"Your Rights Under GDPR",[659],{"If you are located in the European Economic Area (EEA) or United Kingdom, you have the following rights":447},[661,666,671,676,681,687,692,697],{"subtitle":662,"items":663},"Right of Access (Art. 15)",[664,665],"Request a copy of all personal data we hold about you","Receive information about how we process your data",{"subtitle":667,"items":668},"Right to Rectification (Art. 16)",[669,670],"Correct inaccurate or incomplete personal data","Update your profile information at any time",{"subtitle":672,"items":673},"Right to Erasure / 'Right to be Forgotten' (Art. 17)",[674,675],"Request deletion of your account and all associated personal data","Data will be removed within 30 days (except where legal retention applies)",{"subtitle":677,"items":678},"Right to Data Portability (Art. 20)",[679,680],"Export your personal data in machine-readable format (JSON/CSV)","Transfer your data to another service provider",{"subtitle":682,"items":683},"Right to Object (Art. 21)",[684,685,686],"Object to processing based on legitimate interests","Opt-out of marketing communications at any time","Disable analytics tracking through privacy settings",{"subtitle":688,"items":689},"Right to Restrict Processing (Art. 18)",[690,691],"Limit how we process your data in certain circumstances","Request we only store data without further processing",{"subtitle":693,"items":694},"Right to Withdraw Consent (Art. 7)",[695,696],"Withdraw consent for optional data processing (sync, marketing)","Does not affect processing based on other legal grounds",{"subtitle":698,"items":699},"Right to Lodge a Complaint (Art. 77)",[700,701,704],"File a complaint with the Hungarian Data Protection Authority (NAIH)",{"Contact":702},[703],"https://naih.hu/","EU users can also contact their local data protection authority",{"title":706,"content":707,"list":709},"How to Exercise Your Rights",[708],{"To exercise any of your data protection rights, use the following methods":447},[710,711,712,713,714,715,716],"**Account deletion:** [Visit account settings > Delete Account] OR email [EMAIL]","**Data export:** [Visit account settings > Download My Data] OR email [EMAIL]","**Data correction:** [Visit account settings > Profile] to update your information","**Opt-out of marketing:** Click 'unsubscribe' in any marketing email or email [EMAIL]","**Analytics opt-out:** [Visit privacy settings] or email [EMAIL]","**General requests:** Email [EMAIL] with subject 'GDPR Request'","We will respond to all valid requests within **30 days** as required by GDPR (may be extended to 60 days for complex requests, with notification).",{"title":718,"content":719,"subsections":721},"Data Security",[720],{"We implement appropriate technical and organizational measures to protect your personal data":447},[722,732,740,747],{"subtitle":723,"items":724},"Technical Measures",[725,726,727,728,729,730,731],"**Encryption in transit:** All data transmitted via HTTPS/TLS","**Encryption at rest:** Sensitive data encrypted in database","**IP anonymization:** Automatic truncation of IP addresses before storage (last octet removed for IPv4, last 80 bits for IPv6)","**Access controls:** Role-based access, principle of least privilege","**Authentication security:** OAuth 2.0, secure session management","**Data minimization:** Country-level geolocation extracted from Cloudflare headers, full IP never stored","**Spam protection:** Automated blocking of disposable/temporary email addresses, honeypot fields, bot detection",{"subtitle":733,"items":734},"Organizational Measures",[735,736,737,738,739],"Regular security updates and patches","Security monitoring and incident response procedures","Data minimization (collect only what's necessary)","Staff training on data protection","Annual security audits",{"subtitle":741,"items":742},"Infrastructure Security (Cloudflare)",[743,744,745,746],"DDoS protection","Web Application Firewall (WAF)","Bot protection (Turnstile)","Rate limiting and abuse prevention",{"subtitle":748,"items":749},"Limitations",[750,751,752,753],"No method of transmission over the internet is 100% secure","We cannot guarantee absolute security despite our best efforts","You are responsible for keeping your account credentials secure","Notify us immediately at [EMAIL] if you suspect unauthorized access",{"title":755,"content":756,"subsections":758},"Cookies and Tracking Technologies",[757],{"Our use of cookies is minimal and privacy-focused":447},[759,767,777,784],{"subtitle":760,"items":761},"Essential Cookies (No Consent Required)",[762,763,764,765,766],"**Authentication cookies:** Required for authentication and login functionality","**Purpose:** Maintain your logged-in state across sessions","**Duration:** Persistent cookies (typically 7-30 days, or until you log out)","**Cookie names:** [SPECIFY YOUR COOKIE NAMES - e.g., auth_token, session_id]","**Note:** These are strictly necessary for the service to function",{"subtitle":768,"items":769},"Analytics (Umami - Privacy-Friendly)",[770,771,772,773,774,775,776],"**Purpose:** Understand how users navigate and use our tools for service improvement","**Provider:** Self-hosted Umami at umami.websideproject.com (under our full control)","**Privacy:** No personal data collected for anonymous users, cookieless tracking, no cross-site tracking","**User identification:** For logged-in users, we link page views to your account to understand user journeys and improve the experience","**Legal basis:** Legitimate interest (service improvement, no marketing or profiling for third parties)","**Data minimization:** Only page views and navigation patterns collected, no sensitive data","**Note:** Analytics are privacy-friendly and do not require consent under GDPR legitimate interest provision",{"subtitle":778,"items":779},"No Third-Party Advertising or Tracking",[780,781,782,783],"We do NOT use advertising cookies","We do NOT allow third-party trackers","We do NOT participate in ad networks","We do NOT sell data to data brokers",{"subtitle":785,"items":786},"Cookie Management",[787,788,789],"You can control cookies through your browser settings","Blocking essential cookies will prevent you from logging in","Blocking analytics cookies will not affect core functionality",{"title":791,"content":792,"subsections":794},"International Data Transfers",[793],{"Your information may be transferred to and processed in countries outside your own":447},[795,800,806],{"subtitle":796,"items":797},"Primary Data Storage",[798,799],"**Location:** European Union (Cloudflare D1 database)","**Compliance:** GDPR applies directly",{"subtitle":801,"items":802},"Third-Party Transfers",[803,804,805],"**Google OAuth:** Data processed in United States","**Safeguards:** EU-US Data Privacy Framework, Standard Contractual Clauses (SCCs)","**AWS SES:** EU region (Frankfurt), no data transfer outside EU",{"subtitle":807,"items":808},"Your Rights",[809,810,811],"You have the right to obtain information about data transfers","You have the right to object to transfers under certain circumstances","All transfers are made in compliance with GDPR Chapter V",{"title":813,"content":814},"Children's Privacy",[815,816,817,818,819,820],"Our services are not directed to individuals under the age of 16.","We do not knowingly collect personal information from children under 16.","If you are under 16, please do not use our services or provide any personal information.","If we discover we have collected data from a child under 16 without parental consent, we will delete it immediately.","Parents or guardians who believe we have collected information from a child under 16 should contact us at [EMAIL].","**Age of consent:** In some EU countries, the age of consent for data processing may be lower (13-16). We use 16 as the threshold to comply with all EU member states.",{"title":822,"content":823},"Automated Decision-Making and Profiling",[824,825,826],"We do NOT use automated decision-making or profiling that produces legal effects or similarly significant effects on you.","Form analytics and usage patterns are used solely for service improvement, not for automated decisions about individuals.","If this changes in the future, we will update this policy and seek explicit consent where required.",{"title":828,"content":829},"Changes to This Privacy Policy",[830,831,832,833,834,835,836,837],"We may update this Privacy Policy from time to time to reflect changes in our practices, technology, legal requirements, or other factors.","**Notification:** We will notify you of material changes by:","  - Email to your registered email address (at least 30 days before changes take effect)","  - Prominent notice on our website","  - Updating the 'Last Updated' date at the top of this policy","**Your choices:** If you do not agree to changes, you may delete your account before they take effect.","**Minor changes:** Non-material updates (clarifications, formatting) may be made without notification.","We encourage you to review this policy periodically.",{"title":452,"content":839},[840,841,471,842],{"If you have questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us":447},"**Email:** [EMAIL]","**Response time:** We aim to respond within 5 business days (GDPR requests within 30 days)",{"title":844,"content":845},"Data Protection Authority",[846,847,848,849,850,851,852],{"You have the right to lodge a complaint with the Hungarian Data Protection Authority if you believe we have violated your data protection rights":447},"**Authority:** Nemzeti Adatvédelmi és Információszabadság Hatóság (NAIH)","**Website:** [https://naih.hu/](https://naih.hu/)","**Address:** 1055 Budapest, Falk Miksa utca 9-11, Hungary","**Email:** ugyfelszolgalat@naih.hu","**Phone:** +36 1 391 1400","EU residents may also contact their local data protection supervisory authority.",{"title":854,"description":855},"Privacy Policy - websideproject","Learn about our privacy practices, data collection, and how we protect your personal information in compliance with GDPR.","7.privacy","Gl8muxMx2KMc-_YkVBOyWCz4PJ69bOUBVYxWIOLa6NA",{"collection":859,"locale":860,"isRegional":201,"isFallback":201},"privacy","en",1772977471101]