[{"data":1,"prerenderedAt":1071},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":365,"legal-index-en":507},[4,8,13,28,41,51,64,77,94,110,134,150,157,172],{"title":5,"path":6,"stem":7},"Overview","\u002Fdocs\u002Flanding","0.docs\u002F1.landing\u002F001.index",{"title":9,"path":10,"stem":11,"badge":12},"Built-in Features","\u002Fdocs\u002Flanding\u002Fbuilt-in-features","0.docs\u002F1.landing\u002F002.built-in-features","New",{"title":14,"path":15,"stem":16,"children":17,"icon":27},"Content Foundation","\u002Fdocs\u002Flanding\u002Fcontent","0.docs\u002F1.landing\u002F02.content\u002F1.index",[18,19,23],{"title":5,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"Details","\u002Fdocs\u002Flanding\u002Fcontent\u002Fdetails","0.docs\u002F1.landing\u002F02.content\u002F2.details",{"title":24,"path":25,"stem":26},"Technical","\u002Fdocs\u002Flanding\u002Fcontent\u002Ftechnical","0.docs\u002F1.landing\u002F02.content\u002F4.technical","i-heroicons-document-text",{"title":29,"path":30,"stem":31,"children":32,"icon":40},"Regional Content","\u002Fdocs\u002Flanding\u002Fregional","0.docs\u002F1.landing\u002F03.regional\u002F1.index",[33,34,37],{"title":5,"path":30,"stem":31},{"title":20,"path":35,"stem":36},"\u002Fdocs\u002Flanding\u002Fregional\u002Fdetails","0.docs\u002F1.landing\u002F03.regional\u002F2.details",{"title":24,"path":38,"stem":39},"\u002Fdocs\u002Flanding\u002Fregional\u002Ftechnical","0.docs\u002F1.landing\u002F03.regional\u002F4.technical","i-heroicons-globe-alt",{"title":42,"path":43,"stem":44,"children":45,"icon":50},"Multi-language","\u002Fdocs\u002Flanding\u002Fmultilang","0.docs\u002F1.landing\u002F04.multilang\u002F1.index",[46,47],{"title":5,"path":43,"stem":44},{"title":20,"path":48,"stem":49},"\u002Fdocs\u002Flanding\u002Fmultilang\u002Fdetails","0.docs\u002F1.landing\u002F04.multilang\u002F2.details","i-heroicons-language",{"title":52,"path":53,"stem":54,"children":55,"icon":63},"Blog","\u002Fdocs\u002Flanding\u002Fblog","0.docs\u002F1.landing\u002F05.blog\u002F1.index",[56,57,60],{"title":5,"path":53,"stem":54},{"title":20,"path":58,"stem":59},"\u002Fdocs\u002Flanding\u002Fblog\u002Fdetails","0.docs\u002F1.landing\u002F05.blog\u002F2.details",{"title":24,"path":61,"stem":62},"\u002Fdocs\u002Flanding\u002Fblog\u002Ftechnical","0.docs\u002F1.landing\u002F05.blog\u002F4.technical","i-heroicons-pencil-square",{"title":65,"path":66,"stem":67,"children":68,"icon":76},"Documentation","\u002Fdocs\u002Flanding\u002Fdocs","0.docs\u002F1.landing\u002F06.docs\u002F1.index",[69,70,73],{"title":5,"path":66,"stem":67},{"title":20,"path":71,"stem":72},"\u002Fdocs\u002Flanding\u002Fdocs\u002Fdetails","0.docs\u002F1.landing\u002F06.docs\u002F2.details",{"title":24,"path":74,"stem":75},"\u002Fdocs\u002Flanding\u002Fdocs\u002Ftechnical","0.docs\u002F1.landing\u002F06.docs\u002F4.technical","i-heroicons-book-open",{"title":78,"path":79,"stem":80,"children":81,"icon":93},"Forms","\u002Fdocs\u002Flanding\u002Fforms","0.docs\u002F1.landing\u002F07.forms\u002F1.index",[82,83,86,90],{"title":5,"path":79,"stem":80},{"title":20,"path":84,"stem":85},"\u002Fdocs\u002Flanding\u002Fforms\u002Fdetails","0.docs\u002F1.landing\u002F07.forms\u002F2.details",{"title":87,"path":88,"stem":89},"Admin","\u002Fdocs\u002Flanding\u002Fforms\u002Fadmin","0.docs\u002F1.landing\u002F07.forms\u002F3.admin",{"title":24,"path":91,"stem":92},"\u002Fdocs\u002Flanding\u002Fforms\u002Ftechnical","0.docs\u002F1.landing\u002F07.forms\u002F4.technical","i-heroicons-clipboard-document-list",{"title":95,"path":96,"stem":97,"children":98,"icon":109},"Email","\u002Fdocs\u002Flanding\u002Femail","0.docs\u002F1.landing\u002F08.email\u002F1.index",[99,100,103,106],{"title":5,"path":96,"stem":97},{"title":20,"path":101,"stem":102},"\u002Fdocs\u002Flanding\u002Femail\u002Fdetails","0.docs\u002F1.landing\u002F08.email\u002F2.details",{"title":87,"path":104,"stem":105},"\u002Fdocs\u002Flanding\u002Femail\u002Fadmin","0.docs\u002F1.landing\u002F08.email\u002F3.admin",{"title":24,"path":107,"stem":108},"\u002Fdocs\u002Flanding\u002Femail\u002Ftechnical","0.docs\u002F1.landing\u002F08.email\u002F4.technical","i-heroicons-envelope",{"title":111,"path":112,"stem":113,"children":114,"icon":133},"Feedback Platform","\u002Fdocs\u002Flanding\u002Ffeedback","0.docs\u002F1.landing\u002F09.feedback\u002F1.index",[115,116,119,122,125,129],{"title":5,"path":112,"stem":113},{"title":20,"path":117,"stem":118},"\u002Fdocs\u002Flanding\u002Ffeedback\u002Fdetails","0.docs\u002F1.landing\u002F09.feedback\u002F2.details",{"title":87,"path":120,"stem":121},"\u002Fdocs\u002Flanding\u002Ffeedback\u002Fadmin","0.docs\u002F1.landing\u002F09.feedback\u002F3.admin",{"title":24,"path":123,"stem":124},"\u002Fdocs\u002Flanding\u002Ffeedback\u002Ftechnical","0.docs\u002F1.landing\u002F09.feedback\u002F4.technical",{"title":126,"path":127,"stem":128},"Compare vs SaaS","\u002Fdocs\u002Flanding\u002Ffeedback\u002Fcompare","0.docs\u002F1.landing\u002F09.feedback\u002F5.compare",{"title":130,"path":131,"stem":132},"FAQ","\u002Fdocs\u002Flanding\u002Ffeedback\u002Ffaq","0.docs\u002F1.landing\u002F09.feedback\u002F6.faq","i-heroicons-chat-bubble-left-right",{"title":135,"path":136,"stem":137,"children":138,"icon":149},"Storage","\u002Fdocs\u002Flanding\u002Fstorage","0.docs\u002F1.landing\u002F10.storage\u002F1.index",[139,140,143,146],{"title":5,"path":136,"stem":137},{"title":20,"path":141,"stem":142},"\u002Fdocs\u002Flanding\u002Fstorage\u002Fdetails","0.docs\u002F1.landing\u002F10.storage\u002F2.details",{"title":87,"path":144,"stem":145},"\u002Fdocs\u002Flanding\u002Fstorage\u002Fadmin","0.docs\u002F1.landing\u002F10.storage\u002F3.admin",{"title":24,"path":147,"stem":148},"\u002Fdocs\u002Flanding\u002Fstorage\u002Ftechnical","0.docs\u002F1.landing\u002F10.storage\u002F4.technical","i-heroicons-circle-stack",{"title":151,"path":152,"stem":153,"children":154,"icon":156},"Offline First","\u002Fdocs\u002Flanding\u002Foffline-first","0.docs\u002F1.landing\u002F11.offline-first\u002F1.index",[155],{"title":151,"path":152,"stem":153},"i-heroicons-users",{"title":158,"path":159,"stem":160,"children":161,"icon":156},"Yjs Sync","\u002Fdocs\u002Flanding\u002Fyjs-sync","0.docs\u002F1.landing\u002F12.yjs-sync\u002F1.index",[162,163,166,169],{"title":5,"path":159,"stem":160},{"title":20,"path":164,"stem":165},"\u002Fdocs\u002Flanding\u002Fyjs-sync\u002Fdetails","0.docs\u002F1.landing\u002F12.yjs-sync\u002F2.details",{"title":87,"path":167,"stem":168},"\u002Fdocs\u002Flanding\u002Fyjs-sync\u002Fadmin","0.docs\u002F1.landing\u002F12.yjs-sync\u002F3.admin",{"title":24,"path":170,"stem":171},"\u002Fdocs\u002Flanding\u002Fyjs-sync\u002Ftechnical","0.docs\u002F1.landing\u002F12.yjs-sync\u002F4.technical",{"title":173,"path":174,"stem":175,"children":176,"badge":178,"icon":179},"Newsletter","\u002Fdocs\u002Flanding\u002Fnewsletter","0.docs\u002F1.landing\u002F13.newsletter\u002Findex",[177],{"title":173,"path":174,"stem":175,"badge":178},"Coming Soon","i-lucide-send",[181,184,202,318,358],{"title":5,"path":182,"stem":183},"\u002Fdocs\u002Fnuxt-auto","0.docs\u002F3.nuxt-auto\u002Findex",{"title":185,"path":186,"stem":187,"children":188,"page":201},"Getting Started","\u002Fdocs\u002Fnuxt-auto\u002Fgetting-started","0.docs\u002F3.nuxt-auto\u002F1.getting-started",[189,193,197],{"title":190,"path":191,"stem":192},"Introduction","\u002Fdocs\u002Fnuxt-auto\u002Fgetting-started\u002Fintroduction","0.docs\u002F3.nuxt-auto\u002F1.getting-started\u002F1.introduction",{"title":194,"path":195,"stem":196},"Installation","\u002Fdocs\u002Fnuxt-auto\u002Fgetting-started\u002Finstallation","0.docs\u002F3.nuxt-auto\u002F1.getting-started\u002F2.installation",{"title":198,"path":199,"stem":200},"Quick Start","\u002Fdocs\u002Fnuxt-auto\u002Fgetting-started\u002Fquick-start","0.docs\u002F3.nuxt-auto\u002F1.getting-started\u002F3.quick-start",false,{"title":203,"path":204,"stem":205,"children":206,"page":201},"Auto API","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api","0.docs\u002F3.nuxt-auto\u002F2.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,298,302,306,310,314],{"title":185,"path":208,"stem":209},"\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fgetting-started","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F1.getting-started",{"title":211,"path":212,"stem":213},"Aggregations","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Faggregations","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F10.aggregations",{"title":215,"path":216,"stem":217},"Lifecycle Hooks","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Flifecycle-hooks","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F11.lifecycle-hooks",{"title":219,"path":220,"stem":221},"Many-to-Many (M2M) Relationships","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fm2m-relationships","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F12.m2m-relationships",{"title":223,"path":224,"stem":225},"Plugin System","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fplugin-system","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F13.plugin-system",{"title":227,"path":228,"stem":229},"Database Adapters","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fdatabase-adapters","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F14.database-adapters",{"title":231,"path":232,"stem":233},"Custom Endpoints","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fcustom-endpoints","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F15.custom-endpoints",{"title":235,"path":236,"stem":237},"Multi-Tenancy","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fmulti-tenancy","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F16.multi-tenancy",{"title":239,"path":240,"stem":241},"Schema Presets (Cross-engine)","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fschema-presets","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F17.schema-presets",{"title":243,"path":244,"stem":245},"Permissions Cookbook","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fpermissions-cookbook","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F18.permissions-cookbook",{"title":247,"path":248,"stem":249},"Billing & Plan Gating","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fbilling","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F19.billing",{"title":251,"path":252,"stem":253},"Validation","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fvalidation","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F2.validation",{"title":255,"path":256,"stem":257},"Rate Limiting","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Frate-limiting","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F20.rate-limiting",{"title":259,"path":260,"stem":261},"Request Metadata Plugin","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Frequest-metadata","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F21.request-metadata",{"title":263,"path":264,"stem":265},"Plugin Catalog","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fplugin-catalog","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F22.plugin-catalog",{"title":267,"path":268,"stem":269},"Configuration Reference","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fconfiguration","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F23.configuration",{"title":271,"path":272,"stem":273},"Handler Overrides","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fhandler-overrides","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F3.handler-overrides",{"title":275,"path":276,"stem":277},"Cloudflare D1","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fcloudflare-d1","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F30.cloudflare-d1",{"title":279,"path":280,"stem":281},"SQLite to D1 Migration","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fmigration-sqlite-d1","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F31.migration-sqlite-d1",{"title":283,"path":284,"stem":285},"Frontend Composables","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Ffrontend-composables","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F32.frontend-composables",{"title":287,"path":288,"stem":289},"Testing","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Ftesting","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F33.testing",{"title":291,"path":292,"stem":293},"Pagination","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fpagination","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F4.pagination",{"title":295,"path":296,"stem":297},"Upgrading","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fupgrading","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F40.upgrading",{"title":299,"path":300,"stem":301},"Soft Deletes","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fsoft-deletes","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F5.soft-deletes",{"title":303,"path":304,"stem":305},"Authentication & Authorization","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fauthentication-authorization","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F6.authentication-authorization",{"title":307,"path":308,"stem":309},"Better-Auth Integration","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fbetter-auth","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F7.better-auth",{"title":311,"path":312,"stem":313},"Nested Relations","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fnested-relationships","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F8.nested-relationships",{"title":315,"path":316,"stem":317},"Bulk Operations","\u002Fdocs\u002Fnuxt-auto\u002Fauto-api\u002Fbulk-operations","0.docs\u002F3.nuxt-auto\u002F2.auto-api\u002F9.bulk-operations",{"title":319,"path":320,"stem":321,"children":322,"page":201},"Auto Admin","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin","0.docs\u002F3.nuxt-auto\u002F3.auto-admin",[323,326,330,334,338,342,346,350,354],{"title":185,"path":324,"stem":325},"\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fgetting-started","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F1.getting-started",{"title":327,"path":328,"stem":329},"Configuration & Theming","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fconfiguration-theming","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F2.configuration-theming",{"title":331,"path":332,"stem":333},"Resource Configuration","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fresource-configuration","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F3.resource-configuration",{"title":335,"path":336,"stem":337},"Form Fields & Widgets","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fform-fields-widgets","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F4.form-fields-widgets",{"title":339,"path":340,"stem":341},"Permissions","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fpermissions","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F5.permissions",{"title":343,"path":344,"stem":345},"Custom Pages","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fcustom-pages","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F6.custom-pages",{"title":347,"path":348,"stem":349},"M2M Relationships","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fm2m-relationships","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F7.m2m-relationships",{"title":351,"path":352,"stem":353},"Custom Actions","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fcustom-actions","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F8.custom-actions",{"title":355,"path":356,"stem":357},"Composables","\u002Fdocs\u002Fnuxt-auto\u002Fauto-admin\u002Fcomposables","0.docs\u002F3.nuxt-auto\u002F3.auto-admin\u002F9.composables",{"title":359,"path":360,"stem":361,"children":362,"icon":364},"Claude Code Skills","\u002Fdocs\u002Fnuxt-auto\u002Fclaude-code-skills","0.docs\u002F3.nuxt-auto\u002F4.claude-code-skills\u002F1.index",[363],{"title":5,"path":360,"stem":361},"i-lucide-bot",[366,369,382,409,427,450,472,502],{"title":5,"path":367,"stem":368},"\u002Fdocs\u002Fnuxt-protokit","0.docs\u002F4.nuxt-protokit\u002Findex",{"title":185,"path":370,"stem":371,"children":372,"icon":381},"\u002Fdocs\u002Fnuxt-protokit\u002Fgetting-started","0.docs\u002F4.nuxt-protokit\u002F1.getting-started\u002F1.index",[373,374,378],{"title":190,"path":370,"stem":371},{"title":375,"path":376,"stem":377},"Core Concepts","\u002Fdocs\u002Fnuxt-protokit\u002Fgetting-started\u002Fconcepts","0.docs\u002F4.nuxt-protokit\u002F1.getting-started\u002F2.concepts",{"title":198,"path":379,"stem":380},"\u002Fdocs\u002Fnuxt-protokit\u002Fgetting-started\u002Fquick-start","0.docs\u002F4.nuxt-protokit\u002F1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":383,"path":384,"stem":385,"children":386,"icon":408},"Schemas","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F1.index",[387,388,392,396,400,404],{"title":5,"path":384,"stem":385},{"title":389,"path":390,"stem":391},"Field Types","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas\u002Ffields","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F2.fields",{"title":393,"path":394,"stem":395},"Collections","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas\u002Fcollections","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F3.collections",{"title":397,"path":398,"stem":399},"Derived & Computed","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas\u002Fderived-computed","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F4.derived-computed",{"title":401,"path":402,"stem":403},"Connections","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas\u002Fconnections","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F5.connections",{"title":405,"path":406,"stem":407},"Visualizations & Layouts","\u002Fdocs\u002Fnuxt-protokit\u002Fschemas\u002Fvisualizations","0.docs\u002F4.nuxt-protokit\u002F2.schemas\u002F6.visualizations","i-lucide-file-code",{"title":355,"path":410,"stem":411,"children":412,"icon":426},"\u002Fdocs\u002Fnuxt-protokit\u002Fcomposables","0.docs\u002F4.nuxt-protokit\u002F3.composables\u002F1.index",[413,414,418,422],{"title":5,"path":410,"stem":411},{"title":415,"path":416,"stem":417},"usePrototype","\u002Fdocs\u002Fnuxt-protokit\u002Fcomposables\u002Fuse-prototype","0.docs\u002F4.nuxt-protokit\u002F3.composables\u002F2.use-prototype",{"title":419,"path":420,"stem":421},"useProtoDoc","\u002Fdocs\u002Fnuxt-protokit\u002Fcomposables\u002Fuse-proto-doc","0.docs\u002F4.nuxt-protokit\u002F3.composables\u002F3.use-proto-doc",{"title":423,"path":424,"stem":425},"useProtoCollection","\u002Fdocs\u002Fnuxt-protokit\u002Fcomposables\u002Fuse-proto-collection","0.docs\u002F4.nuxt-protokit\u002F3.composables\u002F4.use-proto-collection","i-lucide-layers",{"title":428,"path":429,"stem":430,"children":431,"icon":449},"Components","\u002Fdocs\u002Fnuxt-protokit\u002Fcomponents","0.docs\u002F4.nuxt-protokit\u002F4.components\u002F1.index",[432,433,437,441,445],{"title":5,"path":429,"stem":430},{"title":434,"path":435,"stem":436},"ProtoTool","\u002Fdocs\u002Fnuxt-protokit\u002Fcomponents\u002Fproto-tool","0.docs\u002F4.nuxt-protokit\u002F4.components\u002F2.proto-tool",{"title":438,"path":439,"stem":440},"ProtoCrudModal","\u002Fdocs\u002Fnuxt-protokit\u002Fcomponents\u002Fproto-crud-modal","0.docs\u002F4.nuxt-protokit\u002F4.components\u002F3.proto-crud-modal",{"title":442,"path":443,"stem":444},"ProtoCalendar","\u002Fdocs\u002Fnuxt-protokit\u002Fcomponents\u002Fproto-calendar","0.docs\u002F4.nuxt-protokit\u002F4.components\u002F4.proto-calendar",{"title":446,"path":447,"stem":448},"ProtoItemPanel variants","\u002Fdocs\u002Fnuxt-protokit\u002Fcomponents\u002Fproto-item-panels","0.docs\u002F4.nuxt-protokit\u002F4.components\u002F5.proto-item-panels","i-lucide-puzzle",{"title":151,"path":451,"stem":452,"children":453,"icon":471},"\u002Fdocs\u002Fnuxt-protokit\u002Foffline-first","0.docs\u002F4.nuxt-protokit\u002F5.offline-first\u002F1.index",[454,455,459,463,467],{"title":151,"path":451,"stem":452},{"title":456,"path":457,"stem":458},"Corruption Recovery","\u002Fdocs\u002Fnuxt-protokit\u002Foffline-first\u002Fcorruption-recovery","0.docs\u002F4.nuxt-protokit\u002F5.offline-first\u002F2.corruption-recovery",{"title":460,"path":461,"stem":462},"Size & GC","\u002Fdocs\u002Fnuxt-protokit\u002Foffline-first\u002Fdocument-size-and-gc","0.docs\u002F4.nuxt-protokit\u002F5.offline-first\u002F3.document-size-and-gc",{"title":464,"path":465,"stem":466},"Multi-tenant Isolation","\u002Fdocs\u002Fnuxt-protokit\u002Foffline-first\u002Fmulti-tenant-isolation","0.docs\u002F4.nuxt-protokit\u002F5.offline-first\u002F4.multi-tenant-isolation",{"title":468,"path":469,"stem":470},"Encryption at Rest","\u002Fdocs\u002Fnuxt-protokit\u002Foffline-first\u002Fencryption","0.docs\u002F4.nuxt-protokit\u002F5.offline-first\u002F5.encryption","i-lucide-wifi-off",{"title":473,"icon":474,"path":475,"stem":476,"children":477,"page":-1},"Advanced","i-lucide-graduation-cap","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F1.index",[478,479,483,487,491,494,498],{"title":5,"path":475,"stem":476},{"title":480,"path":481,"stem":482},"Multi-Tool Apps","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fbuilding-a-toolkit","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F1.building-a-toolkit",{"title":484,"path":485,"stem":486},"Schema Patterns","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fcustom-schema-patterns","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F2.custom-schema-patterns",{"title":488,"path":489,"stem":490},"Custom Fields & Viz","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fextensibility","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F3.extensibility",{"title":339,"path":492,"stem":493},"\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fpermissions","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F4.permissions",{"title":495,"path":496,"stem":497},"Business Logic Guards","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fpermissions-business-logic","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F5.permissions-business-logic",{"title":499,"path":500,"stem":501},"Headless Mode","\u002Fdocs\u002Fnuxt-protokit\u002Fadvanced\u002Fheadless-mode","0.docs\u002F4.nuxt-protokit\u002F6.advanced\u002F6.headless-mode",{"title":359,"path":503,"stem":504,"children":505,"icon":364},"\u002Fdocs\u002Fnuxt-protokit\u002Fclaude-code-skills","0.docs\u002F4.nuxt-protokit\u002F7.claude-code-skills\u002F1.index",[506],{"title":5,"path":503,"stem":504},[508,620,697,737,815,834,877,918,953,992,1036],{"id":509,"title":510,"body":511,"changeSummary":512,"contact":513,"description":518,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":522,"navigation":523,"ogImage":511,"path":524,"policyType":525,"requiresReaccept":201,"sections":526,"seo":616,"slug":525,"stem":618,"version":520,"__hash__":619},"legal\u002F1.legal\u002Fprivacy.yml","Privacy Policy",null,"Initial published version.",{"title":514,"description":515,"linkLabel":516,"formAction":517},"Privacy questions?","Email our privacy contact or send us a message.","Contact us","contact-form","What personal data we collect, why, how long we keep it, and the rights you have over it.","yml","2026-09-30","Last updated",{},true,"\u002Flegal\u002Fprivacy","privacy",[527,531,542,546,552,556,560,564,568,572,576,580,590,595,599,603,608,612],{"title":528,"content":529},"Who we are",[530],"[Company] ([legal entity], [address], [jurisdiction]) is the data controller for the personal data described in this policy. Contact us at [privacy@your-saas.com] with any privacy question or to exercise your rights.",{"title":532,"content":533,"list":535},"What we collect",[534],"We collect only what we need to run the service:",[536,537,538,539,540,541],"Account data — your name, email, and (if you sign in with a provider) your provider profile and avatar.","Authentication data — a password hash and\u002For OAuth identifiers, plus session records (token, browser\u002Fuser-agent, and a coarse network location used to flag new-device sign-ins).","Organization data — your workspace membership and role, where applicable.","Billing data — your billing contact and subscription status. Payments are handled by our payment processor; we never see or store raw card numbers.","Product usage — pseudonymous analytics (see below).","Content you create — feedback, form submissions, and anything you store in the product.",{"title":543,"content":544},"Information we receive from others",[545],"Some data reaches us from third parties you choose to involve: identity providers (if you sign in with Google\u002FGitHub\u002Fetc. we receive the profile you authorize), and our payment processor (your subscription and payment status — never raw card details). We don't buy personal data or enrich your profile from data brokers.",{"title":547,"content":548},"Analytics are cookieless and self-hosted",[549,550,551],"We use a self-hosted analytics tool (Umami) that sets no cookies and builds no cross-site profile. We do not embed third-party ad pixels or marketing trackers of any kind.","Guests are never identified and can opt out at any time. For signed-in users we may attach a server-computed, pseudonymous identifier (a 'sid') so we can understand product usage per account. This identifier is pseudonymous personal data — it is derived from a key that is destroyed when you delete your account, after which the analytics data can no longer be linked back to you.","Session replays and heatmaps are off unless you switch them on (the cookie button → Session replays & heatmaps). When on, the same self-hosted Umami records how you use our pages — clicks, scrolling and what is shown on screen — so we can find and fix confusing pages. What you type into form fields is masked and never recorded. No cookie is set; switch it off at any time and recording stops immediately.",{"title":553,"content":554},"Why we're allowed to (legal bases)",[555],"We process your data on these GDPR bases: performance of our contract with you (running your account), our legitimate interests (security, preventing abuse, understanding product usage), legal obligations (tax, accounting), and your consent where required (e.g. optional analytics for guests, and session replays\u002Fheatmaps, which run only with your opt-in).",{"title":557,"content":558},"No automated decisions",[559],"We do not use your data to make solely automated decisions that produce legal or similarly significant effects about you, and we do not profile you for advertising. Abuse\u002Fanti-bot checks may flag activity for a human to review — they never decide anything important about you on their own.",{"title":561,"content":562},"Children",[563],"The service is not directed to children. You must be at least [16] (or the digital-consent age in your country; [13] in the United States) to use it. We don't knowingly collect data from children under that age — if you believe a child has given us data, contact us at [privacy@your-saas.com] and we'll delete it.",{"title":565,"content":566},"Who we share it with",[567],"Your data touches two companies beyond us: our infrastructure provider (Cloudflare) and our payment processor (Polar). The complete, current list lives at \u002Flegal\u002Fsubprocessors. We do not sell your data and we do not share it with advertisers or data brokers.",{"title":569,"content":570},"Marketing and communications",[571],"We send service emails you can't opt out of while you have an account (security alerts, billing, policy updates) — these are required to run your account. Any marketing or product-update emails are separate: we only send them with your consent and every one has a one-click unsubscribe. Unsubscribing from marketing never affects service emails.",{"title":573,"content":574},"How long we keep it",[575],"We keep account data for the life of your account and delete or anonymize it when you delete your account. Sessions expire automatically. Billing records are retained as required by tax law. Backups roll off on their own schedule.",{"title":577,"content":578},"Deletion is real",[579],"When you delete your account we remove or anonymize your personal data across the platform. Where crypto-shredding is enabled for the deployment, per-account keys are destroyed so the underlying data becomes permanently unreadable — even in backups — not merely flagged as deleted.",{"title":581,"content":582,"list":584},"Your rights",[583],"Under the GDPR (and similar laws) you can:",[585,586,587,588,589],"Access and export your data — available as a self-service export in your settings.","Correct inaccurate data — edit it in your profile or ask us.","Delete your account and data — self-service in settings.","Object to or restrict certain processing, and withdraw consent.","Lodge a complaint with your supervisory authority ([authority for your jurisdiction]).",{"title":591,"content":592},"Exercising your rights",[593,594],"Most rights are self-service in your settings; for anything else, email [privacy@your-saas.com]. We respond within one month (extendable by two for complex requests) and never charge except where the law allows.","Our data-protection contact is [DPO or privacy contact, email]. [If [Company] is NOT established in the EU\u002FUK but offers the service there, also name your Article 27 representative here — an EU-established company does not need one.]",{"title":596,"content":597},"Security",[598],"Data is encrypted in transit (TLS 1.3) and at rest (AES-256). We keep a real, append-only audit log, and the slice relevant to you is visible in your own settings. See \u002Fsecurity for the full picture.",{"title":600,"content":601},"International transfers",[602],"We host in the [region] region where available. Where data is processed outside your region by a subprocessor, it is covered by appropriate safeguards (e.g. Standard Contractual Clauses) — see each subprocessor's DPA at \u002Flegal\u002Fsubprocessors.",{"title":604,"content":605},"California residents",[606,607],"If you're a California resident, the CCPA\u002FCPRA gives you the rights to know, access, correct, and delete the personal information we collect, and to not be discriminated against for exercising them. The categories we collect and why are described above (identifiers, commercial\u002Fbilling info, internet activity, and the content you create).","We do NOT sell or share your personal information as those terms are defined by the CCPA, and we have not in the preceding 12 months — so there is no \"Do Not Sell or Share\" action to take. We also do not use or disclose sensitive personal information beyond what's needed to provide the service. Exercise any of these rights the same way as above; you may use an authorized agent.",{"title":609,"content":610},"Do Not Track & Global Privacy Control",[611],"Because our analytics are cookieless and we set no advertising trackers, there is very little to \"track\" in the first place. Browsers send no universal Do Not Track standard, so we don't act on the legacy DNT header; where required we honor the Global Privacy Control (GPC) signal as an opt-out of any sale\u002Fsharing — which we don't do anyway.",{"title":613,"content":614},"Changes to this policy",[615],"We version this policy and keep a change summary for each update. For material changes we'll ask you to review and re-accept before you continue using the service.",{"title":510,"description":617},"How [Company] collects, uses, and protects your personal data — cookieless analytics, real deletion, two subprocessors.","1.legal\u002Fprivacy","0RM3LLBaYngAfDvUjExHwP8Fww2ZXAeLf-5Z6edfvXA",{"id":621,"title":622,"body":511,"changeSummary":512,"contact":623,"description":626,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":627,"navigation":523,"ogImage":511,"path":628,"policyType":629,"requiresReaccept":201,"sections":630,"seo":692,"slug":694,"stem":695,"version":520,"__hash__":696},"legal\u002F1.legal\u002Fterms.yml","Terms of Service",{"title":624,"description":625,"linkLabel":516,"formAction":517},"Questions about these terms?","Get in touch and we'll help.","The agreement between you and [Company] for using the service.",{},"\u002Flegal\u002Fterms","tos",[631,635,639,643,648,652,656,660,664,668,672,676,680,684,688],{"title":632,"content":633},"Agreement",[634],"These Terms are a binding agreement between you and [Company] ([legal entity], [address]). By creating an account or using the service you agree to them. If you're using the service on behalf of an organization, you confirm you're authorized to bind that organization.",{"title":636,"content":637},"Your account",[638],"You're responsible for your account, for keeping your credentials secure, and for everything that happens under it. You must be at least the age of digital consent in your jurisdiction. Provide accurate information and keep it current.",{"title":640,"content":641},"Acceptable use",[642],"You agree to use the service lawfully and not to abuse it. The full list of prohibited conduct is in our Acceptable Use Policy at \u002Flegal\u002Facceptable-use, which forms part of these Terms.",{"title":644,"content":645},"Subscriptions and payment",[646,647],"Paid plans are billed through our payment processor (Polar) on the cycle shown at checkout. Fees are charged in advance and, except where required by law or stated in our Refund Policy (\u002Flegal\u002Frefund), are non-refundable. Taxes are handled as described in \u002Flegal\u002Ftaxes.","We may change prices. For an increase affecting an existing paid subscription we'll give you at least 30 days' notice (by email or in-app); the new price applies from your next billing cycle after the notice period, and you can cancel before it takes effect.",{"title":649,"content":650},"Your content",[651],"You keep ownership of the content you submit. You grant us the limited licence needed to host, process, and display it so we can provide the service to you. You're responsible for having the rights to the content you upload.",{"title":653,"content":654},"Our intellectual property",[655],"We (and our licensors) own the service itself — the software, design, branding, and documentation. These Terms don't transfer any of our intellectual property to you; you get a limited, non-exclusive, non-transferable right to use the service while these Terms are in effect.",{"title":657,"content":658},"Feedback",[659],"If you send us ideas, suggestions, or feature requests, you grant us a perpetual, royalty-free licence to use them to improve the service, with no obligation to you. We can build whatever we like without owing compensation for feedback you chose to share.",{"title":661,"content":662},"API and fair use",[663],"If we offer an API or integrations, your use of them is subject to these Terms and any documented rate limits. Don't use the service in a way that places an unreasonable load on our infrastructure, circumvents limits, or is designed for bulk surveillance of others. We may rate-limit or suspend access to protect the service.",{"title":665,"content":666},"Availability and changes",[667],"We work to keep the service available but don't guarantee uninterrupted operation. We may add, change, or remove features. We'll give reasonable notice of material adverse changes where we can.",{"title":669,"content":670},"Termination",[671],"You can stop using the service and delete your account at any time. We may suspend or terminate accounts that breach these Terms or the Acceptable Use Policy. On termination, your right to use the service ends; your data is handled per our Privacy Policy.",{"title":673,"content":674},"Disclaimers and liability",[675],"The service is provided 'as is' and 'as available' to the maximum extent permitted by law; we disclaim implied warranties of merchantability, fitness for a particular purpose, and non-infringement. To the extent permitted by law, [Company]'s aggregate liability for any claim is limited to the amount you paid in the [12] months before the claim, and we're not liable for indirect, incidental, special, or consequential damages or lost profits. Nothing here limits liability that cannot be limited by law (e.g. death\u002Fpersonal injury caused by negligence, or fraud).",{"title":677,"content":678},"Force majeure",[679],"Neither party is liable for failure or delay caused by events beyond its reasonable control — e.g. outages of upstream providers, network failures, natural disasters, war, or government action.",{"title":681,"content":682},"Governing law",[683],"These Terms are governed by the laws of [jurisdiction], and disputes are subject to the courts of [venue], unless mandatory local law provides otherwise. Nothing here removes consumer-protection rights you have under the mandatory law of your country of residence.",{"title":685,"content":686},"General",[687],"You may not assign these Terms without our consent; we may assign them to an affiliate or in connection with a merger or sale of the business. If any provision is found unenforceable, the rest stays in effect. Our not enforcing a right isn't a waiver of it. These Terms (with the policies they reference) are the entire agreement between us about the service.",{"title":689,"content":690},"Changes to these terms",[691],"We version these terms and keep a change summary for each update. For material changes we'll ask you to review and re-accept before continuing.",{"title":622,"description":693},"The terms governing your use of [Company].","terms","1.legal\u002Fterms","y_Sq-6TpxtPDw3r9ERrbkWqUR63oz-aHj54egL3NMpA",{"id":698,"title":699,"body":511,"changeSummary":511,"contact":700,"description":703,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":704,"navigation":523,"ogImage":511,"path":705,"policyType":511,"requiresReaccept":201,"sections":706,"seo":732,"slug":734,"stem":735,"version":511,"__hash__":736},"legal\u002F1.legal\u002Fcookies.yml","Cookie Policy",{"title":701,"description":702,"linkLabel":516,"formAction":517},"Cookie questions?","Ask us anything about how we use cookies.","The few cookies we set, what they do, and how to control them.",{},"\u002Flegal\u002Fcookies",[707,711,718,724,728],{"title":708,"content":709},"The short version",[710],"We don't use advertising or cross-site tracking cookies. Our analytics are cookieless. The only cookies we set are the ones needed to run the service and to remember your own preferences.",{"title":712,"content":713,"list":715},"Strictly necessary",[714],"These are required for the service to work and can't be switched off. They're set only after you sign in or interact with the app:",[716,717],"Session cookies (set by our authentication layer) — keep you signed in. These are HttpOnly, Secure, and SameSite. OAuth and two-factor flows set additional short-lived cookies that exist only for the duration of that flow.","Security cookies — protect against cross-site request forgery and similar attacks.",{"title":719,"content":720,"list":722},"Functional",[721],"Set only when you make a choice, and used to remember it. These are functional cookies that remember a setting you explicitly chose, so they don't require consent — we simply disclose them here:",[723],"Theme preference — remembers your light\u002Fdark choice (`nuxt-color-mode` cookie). Set only when you pick a theme.",{"title":725,"content":726},"Analytics — cookieless",[727],"Our product analytics (self-hosted Umami) set no cookies at all. Guests can opt out, and optional session replays\u002Fheatmaps require a separate, explicit opt-in.",{"title":729,"content":730},"Managing cookies",[731],"You can review and change your choices any time via the cookie preferences control in the site footer, and you can clear cookies in your browser settings. Blocking strictly-necessary cookies will break sign-in.",{"title":699,"description":733},"We don't use tracking cookies. Here's the short list of what we do set.","cookies","1.legal\u002Fcookies","8qa52WtZJ46eEXl2wI19Eyonb1KtVk2f1fnncdrm2PE",{"id":738,"title":739,"body":511,"changeSummary":512,"contact":740,"description":743,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":744,"navigation":523,"ogImage":511,"path":745,"policyType":746,"requiresReaccept":201,"sections":747,"seo":810,"slug":746,"stem":813,"version":520,"__hash__":814},"legal\u002F1.legal\u002Fdpa.yml","Data Processing Addendum",{"title":741,"description":742,"linkLabel":516,"formAction":517},"Need a signed DPA?","Request a countersigned copy or ask a question.","How we process personal data on your behalf when you use the service as a business customer.",{},"\u002Flegal\u002Fdpa","dpa",[748,752,756,760,764,768,772,775,779,783,787,796,806],{"title":749,"content":750},"Roles",[751],"Where you use the service to process personal data of your own users (your 'Customer Data'), you are the data controller and [Company] is the data processor. This Addendum applies in addition to our Terms of Service and forms part of our agreement. A signed copy is available on request.",{"title":753,"content":754},"Order of precedence",[755],"If this Addendum conflicts with the Terms of Service on a data-protection matter, this Addendum prevails. Where the Standard Contractual Clauses apply, the SCCs prevail over both in the event of a conflict.",{"title":757,"content":758},"Scope and instructions",[759],"We process Customer Data only to provide the service and on your documented instructions (the agreement, the product configuration, and your use of the features). We'll tell you if an instruction appears to breach applicable data-protection law.",{"title":761,"content":762},"Confidentiality and security",[763],"Personnel with access to Customer Data are bound by confidentiality. We maintain the technical and organizational measures described at \u002Fsecurity (encryption in transit and at rest, access controls, audit logging, backups).",{"title":765,"content":766},"Subprocessors",[767],"You authorize us to engage the subprocessors listed at \u002Flegal\u002Fsubprocessors. We impose data-protection obligations on each, and we'll give notice before adding or replacing a subprocessor so you can object.",{"title":769,"content":770},"Data subject rights and assistance",[771],"We provide self-service tools (export, deletion) that help you meet data-subject requests, and we'll assist with requests we receive directly by referring them to you. We'll support your data-protection impact assessments and regulator consultations as required.",{"title":600,"content":773},[774],"Where Customer Data is transferred outside its region, the transfer relies on appropriate safeguards such as the Standard Contractual Clauses, as reflected in each subprocessor's terms.",{"title":776,"content":777},"Breach notification",[778],"We'll notify you without undue delay after becoming aware of a personal-data breach affecting Customer Data, with the information you need to meet your own notification duties.",{"title":780,"content":781},"Deletion and return",[782],"On termination, and on request, we delete or return Customer Data in accordance with our Privacy Policy and retention schedule, subject to legal retention obligations.",{"title":784,"content":785},"Audits",[786],"We'll make available the information needed to demonstrate compliance and allow for audits in line with the agreement, including reliance on our subprocessors' certifications and reports where available.",{"title":788,"content":789,"list":792},"Annex 1 — Details of the processing",[790,791],"Subject matter & duration: processing of Customer Data for the term of the agreement and any wind-down\u002Fretention period.","Nature & purpose: hosting, storing, and processing Customer Data to provide the service's features at your instruction.",[793,794,795],"Categories of data subjects: your users, team members, customers, and anyone whose data you choose to put into the service.","Types of personal data: identifiers (name, email), account\u002Fprofile data, organization membership, content you create, and usage\u002Flog data. You decide what to put in — don't load special-category data unless [Company] has agreed to it in writing.","Frequency: continuous, for the duration of the agreement.",{"title":797,"content":798,"list":800},"Annex 2 — Security measures (TOMs)",[799],"We maintain the technical and organizational measures appropriate to the risk, summarized here and at \u002Fsecurity:",[801,802,803,804,805],"Encryption of Customer Data in transit (TLS 1.3) and at rest (AES-256).","Access controls: least-privilege, role-based access; authentication for personnel; no shared credentials.","An append-only audit log of security-relevant events; tenant isolation between organizations.","Resilience & backups with a tested restore process; the ability to restore availability after an incident.","Pseudonymization \u002F crypto-shredding so deleted data becomes unreadable, and a documented breach-response process.",{"title":807,"content":808},"Liability",[809],"Each party's liability under this Addendum is subject to the limitations and exclusions of liability in the Terms of Service.",{"title":811,"description":812},"Data Processing Addendum (DPA)","The DPA governing [Company]'s processing of personal data on behalf of business customers.","1.legal\u002Fdpa","iMSqUqx5qg3HkToGj9RiAnJcRUjywKUEdxKCWkiqANc",{"id":816,"title":765,"body":511,"changeSummary":511,"contact":817,"description":820,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":821,"navigation":523,"ogImage":511,"path":822,"policyType":511,"requiresReaccept":201,"sections":823,"seo":829,"slug":831,"stem":832,"version":511,"__hash__":833},"legal\u002F1.legal\u002Fsubprocessors.yml",{"title":818,"description":819,"linkLabel":516,"formAction":517},"Questions about a subprocessor?","Ask us anything, or request notice of changes.","The complete list of companies that may process personal data on our behalf.",{},"\u002Flegal\u002Fsubprocessors",[824],{"title":825,"content":826},"About this list",[827,828],"A subprocessor is a company we use to help deliver the service that may process personal data in the process. We keep this list deliberately short — the whole differentiator is that your data touches very few companies.","We maintain this list as a single source of truth, so it can't drift between this page, our security page, and our DPA. We'll give notice before adding or replacing a subprocessor.",{"title":765,"description":830},"The short, current list of [Company]'s subprocessors.","subprocessors","1.legal\u002Fsubprocessors","qei_v0UCymRL_jf6HpU_iineon8Lzu8WeOE7anJnyng",{"id":835,"title":836,"body":511,"changeSummary":511,"contact":837,"description":840,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":841,"navigation":523,"ogImage":511,"path":842,"policyType":511,"requiresReaccept":201,"sections":843,"seo":872,"slug":874,"stem":875,"version":511,"__hash__":876},"legal\u002F1.legal\u002Facceptable-use.yml","Acceptable Use Policy",{"title":838,"description":839,"linkLabel":516,"formAction":517},"Report abuse","Tell us about misuse of the service.","What you may not do with the service. Part of our Terms of Service.",{},"\u002Flegal\u002Facceptable-use",[844,848,864,868],{"title":845,"content":846},"Purpose",[847],"This policy lists conduct that is not allowed on the service. It forms part of our Terms of Service (\u002Flegal\u002Fterms). Breaking it can lead to suspension or termination.",{"title":849,"content":850,"list":852},"You may not",[851],"Use the service for anything illegal or to infringe others' rights. Specifically, you may not:",[853,854,855,856,857,858,859,860,861,862,863],"Break the law or help others do so, or infringe intellectual-property or privacy rights.","Send spam, phishing, or unsolicited bulk messages.","Upload malware, or probe, scan, or attempt to breach security or access controls.","Disrupt the service — denial-of-service, excessive automated load, or circumventing rate limits and quotas.","Scrape or harvest data without permission, or reverse-engineer the service except where the law allows.","Post unlawful, harassing, hateful, or sexually exploitative content, or content that endangers minors.","Misrepresent your identity, impersonate others, or use the service to defraud.","Resell or sublicense the service except as expressly permitted.","Run crypto-mining or other workloads that abuse compute, storage, or bandwidth beyond ordinary product use.","Store or transmit other people's personal data without a lawful basis, or use the service to build tools for mass surveillance.","Evade a suspension or ban (e.g. by creating new accounts).",{"title":865,"content":866},"Reporting abuse",[867],"If you see a violation, report it to [abuse@your-saas.com]. We investigate reports and may remove content or suspend accounts.",{"title":869,"content":870},"Enforcement",[871],"We may remove content, throttle, suspend, or terminate accounts that breach this policy, and we may report unlawful activity to the authorities.",{"title":836,"description":873},"Prohibited conduct when using [Company].","acceptable-use","1.legal\u002Facceptable-use","x1Ebq86DsEu1YRnXAUgHmjwIDcn2bYb1zzQb2NDSgI4",{"id":878,"title":879,"body":511,"changeSummary":511,"contact":880,"description":883,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":884,"navigation":523,"ogImage":511,"path":885,"policyType":511,"requiresReaccept":201,"sections":886,"seo":913,"slug":915,"stem":916,"version":511,"__hash__":917},"legal\u002F1.legal\u002Faccount-ownership.yml","Account Ownership Policy",{"title":881,"description":882,"linkLabel":516,"formAction":517},"Question about account ownership?","Get in touch — especially if you need to recover access for an organization.","Who owns a workspace account and its data, who the account owner is, and how ownership transfers.",{},"\u002Flegal\u002Faccount-ownership",[887,891,896,900,905,909],{"title":888,"content":889},"Why this matters",[890],"Accounts are organized as workspaces (organizations). When several people use one workspace, it should be clear who legally owns the account and its data — especially if a working relationship ends. This policy sets that baseline.",{"title":892,"content":893},"Who owns the account",[894,895],"If the workspace belongs to a legal entity (company, non-profit, etc.) named at signup, the organization owns the account and all data in it — not the individual who happened to create it.","If there is no legal entity (e.g. a solo user or an unincorporated group), the individual who signed up owns the account.",{"title":897,"content":898},"Roles and who controls the workspace",[899],"The person who creates a workspace becomes its initial Owner. The Owner controls billing, membership, roles, and deletion, and can promote other members to admin to share day-to-day management. We act on instructions from the Owner (or an admin they've authorized) and can't take sides in internal disputes about who should control an organization's account.",{"title":901,"content":902},"Transferring a workspace or its subscription",[903,904],"A workspace's subscription belongs to the organization, so it stays with the workspace as members come and go. A personal (individual) subscription belongs to the person who bought it and isn't automatically tied to a workspace.","Handing over the top-level Owner role, or moving who pays for a subscription, may not be fully self-service in every deployment — and the payment processor records its own billing contact for an account. If you need to transfer ownership or billing, the current Owner should contact us (or use the billing portal) and we'll help. If the Owner has left and no one has access, see disputes below — we may require proof that you're authorized to act for the organization before making changes.",{"title":906,"content":907},"Disputes",[908],"If there's a genuine dispute about who controls an organization's account, we generally keep the account as-is until the parties resolve it among themselves or provide a court order or other binding instruction. Where the workspace is owned by a legal entity, we give weight to instructions from someone who can show they're authorized to act for that entity. We are not a court and can't adjudicate ownership for you.",{"title":910,"content":911},"Closing an account",[912],"The Owner can delete the workspace, which removes its data per our Privacy Policy (\u002Flegal\u002Fprivacy). Individual members can leave a workspace or delete their personal account; leaving a workspace doesn't delete data the organization owns.",{"title":879,"description":914},"Who owns a [Company] account and its data, and how ownership is determined and transferred.","account-ownership","1.legal\u002Faccount-ownership","gg8LaYggWrMX1LUROoRlyQgWKb9_D2O8fev2c0in23E",{"id":919,"title":920,"body":511,"changeSummary":511,"contact":921,"description":924,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":925,"navigation":523,"ogImage":511,"path":926,"policyType":511,"requiresReaccept":201,"sections":927,"seo":948,"slug":950,"stem":951,"version":511,"__hash__":952},"legal\u002F1.legal\u002Frefund.yml","Refund & Cancellation Policy",{"title":922,"description":923,"linkLabel":516,"formAction":517},"Billing question?","Ask about a charge, cancellation, or refund.","How cancellations and refunds work.",{},"\u002Flegal\u002Frefund",[928,932,936,940,944],{"title":929,"content":930},"Cancelling",[931],"You can cancel your subscription at any time from your billing settings. Cancellation stops the next renewal; you keep access until the end of the current paid period. We don't lock you in — your data export and account deletion are self-service.",{"title":933,"content":934},"Refunds",[935],"Fees are billed in advance and are generally non-refundable, except where required by law or expressly stated here. If something goes wrong on our side, contact us — we deal with refund requests fairly and case by case.",{"title":937,"content":938},"Statutory withdrawal (consumers in the EU\u002FUK)",[939],"If you're a consumer, you may have a statutory right to withdraw within [14] days of purchase. Where you ask us to start the service immediately and then withdraw, we may charge for the portion already provided. Digital services fully performed with your prior consent may fall outside the withdrawal right.",{"title":941,"content":942},"How payments are handled",[943],"Payments and refunds are processed by our payment provider (Polar). Refunds are returned to your original payment method and may take a few business days to appear.",{"title":945,"content":946},"Requesting a refund",[947],"Email [billing@your-saas.com] from your account email with your order details. We'll respond within [a few business days].",{"title":920,"description":949},"Cancellations, refunds, and your statutory withdrawal rights.","refund","1.legal\u002Frefund","wKFm-0z-iu1u8mA4TtMw0vNRL8cf3kCny5dAn-fCQ3A",{"id":954,"title":955,"body":511,"changeSummary":511,"contact":956,"description":959,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":960,"navigation":523,"ogImage":511,"path":961,"policyType":511,"requiresReaccept":201,"sections":962,"seo":987,"slug":989,"stem":990,"version":511,"__hash__":991},"legal\u002F1.legal\u002Ftaxes.yml","Taxes on Services",{"title":957,"description":958,"linkLabel":516,"formAction":517},"Billing or tax question?","Ask us about tax, a VAT ID, or an exemption.","How sales tax, VAT, and GST are handled on your subscription.",{},"\u002Flegal\u002Ftaxes",[963,967,971,975,979,983],{"title":964,"content":965},"Prices are shown without tax",[966],"The subscription prices on our site are exclusive of sales tax, VAT, and GST. Where we're required to charge tax, it's added as a separate line item at checkout and on your invoice, based on your billing location.",{"title":968,"content":969},"Who collects and remits it",[970],"Where applicable, our payment processor (Polar) acts as merchant of record and collects and remits the relevant consumption tax to the tax authority on our behalf. The applicable rate is determined by your billing country (and state\u002Fprovince where relevant).",{"title":972,"content":973},"Business customers & VAT ID",[974],"If you're a business in a jurisdiction that supports it, enter a valid VAT\u002FGST identification number at checkout or in billing settings. Where the reverse-charge mechanism applies, we won't add VAT to your invoice and you account for it yourself. Keep your billing details and tax ID accurate — they determine the tax we must charge.",{"title":976,"content":977},"Tax-exempt organizations",[978],"If your organization is tax-exempt, contact us with the documentation valid for your jurisdiction before or shortly after purchase. A federal exemption letter alone may not be enough where a state or region requires its own proof.",{"title":980,"content":981},"Your responsibilities",[982],"You're responsible for any taxes that are your obligation under local law and that we don't collect (for example, self-assessed use tax). If your billing location is wrong, the tax charged may be wrong — fix it in billing settings or contact us.",{"title":984,"content":985},"Refunds and tax",[986],"Where a refund is due under our Refund Policy (\u002Flegal\u002Frefund), any tax collected on the refunded amount is refunded with it.",{"title":955,"description":988},"How [Company] handles sales tax, VAT, and GST on subscriptions — tax-exclusive pricing, reverse charge, and exemptions.","taxes","1.legal\u002Ftaxes","T97HvpMtHhnXFJT0D5OkKXNiKiOGeCEirYU2mCkvMXU",{"id":993,"title":994,"body":511,"changeSummary":511,"contact":995,"description":998,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":999,"navigation":523,"ogImage":511,"path":1000,"policyType":511,"requiresReaccept":201,"sections":1001,"seo":1030,"slug":1033,"stem":1034,"version":511,"__hash__":1035},"legal\u002F1.legal\u002Fimprint.yml","Imprint",{"title":996,"description":997,"linkLabel":516,"formAction":517},"Reach us","For anything not covered above.","Legal notice and provider identification.",{},"\u002Flegal\u002Fimprint",[1002,1008,1012,1017,1022,1026],{"title":1003,"content":1004},"Provider",[1005,1006,1007],"[Company legal name]","[Street address]","[Postal code, City], [Country]",{"title":1009,"content":1010},"Represented by",[1011],"[Name(s) of authorized representative(s)]",{"title":1013,"content":1014},"Contact",[1015,1016],"Email: [hello@your-saas.com]","Phone: [optional]",{"title":1018,"content":1019},"Register entry",[1020,1021],"Registered at [register \u002F commercial court], registration number [number].","VAT identification number: [VAT ID].",{"title":1023,"content":1024},"Responsible for content",[1025],"[Name and address of the person responsible for content, per your jurisdiction's requirements].",{"title":1027,"content":1028},"Dispute resolution",[1029],"We are [willing \u002F not obliged and not willing] to participate in dispute-resolution proceedings before a consumer arbitration board (Verbraucherschlichtungsstelle), as applicable in your jurisdiction.",{"title":1031,"description":1032},"Imprint \u002F Legal Notice","Provider identification for [Company].","imprint","1.legal\u002Fimprint","jwBK7gqUoIZm7sm7Y8EEr_YBYq36irl6hR7bWglrXVQ",{"id":1037,"title":1038,"body":511,"changeSummary":511,"contact":1039,"description":1042,"effectiveAt":511,"extension":519,"lastUpdated":520,"lastUpdatedLabel":521,"meta":1043,"navigation":523,"ogImage":511,"path":1044,"policyType":511,"requiresReaccept":201,"sections":1045,"seo":1066,"slug":1068,"stem":1069,"version":511,"__hash__":1070},"legal\u002F1.legal\u002Faccessibility.yml","Accessibility Statement",{"title":1040,"description":1041,"linkLabel":516,"formAction":517},"Report a barrier","Tell us about an accessibility issue.","Our commitment to making the service usable by everyone.",{},"\u002Flegal\u002Faccessibility",[1046,1050,1059,1063],{"title":1047,"content":1048},"Our commitment",[1049],"We want everyone to be able to use the service, including people who rely on assistive technology. We aim to conform to the Web Content Accessibility Guidelines (WCAG) 2.1 Level AA as a target standard.",{"title":1051,"content":1052,"list":1054},"What we do",[1053],"We build on an accessible component foundation and pay attention to:",[1055,1056,1057,1058],"Keyboard navigation and visible focus.","Sufficient colour contrast and a light\u002Fdark theme choice.","Semantic structure and labels for screen readers.","Respecting reduced-motion preferences.",{"title":1060,"content":1061},"Known limitations",[1062],"Accessibility is ongoing work and some areas may not yet fully conform. [List any known limitations here, or remove this section.]",{"title":657,"content":1064},[1065],"If you hit an accessibility barrier, please tell us — it helps us fix it. Email [accessibility@your-saas.com] or use the contact form, and we'll respond and work with you on an alternative where needed.",{"title":1038,"description":1067},"[Company]'s accessibility commitment and how to reach us about barriers.","accessibility","1.legal\u002Faccessibility","6x--XckQSgA_lXXp_DnqmWYNd0mciweA_bHOQQtmaOE",1791106755832]