{"compiledCode":"\"use strict\";Object.defineProperty(exports, \"__esModule\", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _react = require('react'); var _react2 = _interopRequireDefault(_react);\n\n function OwnHubPage() {\n  return (\n    _react2.default.createElement('div', { className: [\"np-kodbe\",\"kb-page\"].join(\" \"),}\n\n\n      , _react2.default.createElement('style', null, \".np-kodbe.kb-page{--ink:var(--cpuom9j-runtime-text,#151a22);--muted:var(--cpuom9j-runtime-muted,#586173);--bg:var(--cpuom9j-runtime-bg,#ffffff);--surface:var(--cpuom9j-runtime-panel,#f6f8fb);--surface2:var(--cpuom9j-runtime-accent-soft,#eef2f8);--border:var(--cpuom9j-runtime-border,#e2e8f1);--brand:var(--cpuom9j-runtime-accent,#2e5be6);--brand-ink:var(--cpuom9j-runtime-accent,#1e3fa8);--accent:var(--cpuom9j-runtime-accent-soft,#0e9f86);--infobg:var(--cpuom9j-runtime-panel,#eef3fe);--warnbg:var(--cpuom9j-runtime-panel,#fdf6e9);--warnborder:var(--cpuom9j-runtime-border,#f0e2c2);--safebg:var(--cpuom9j-runtime-panel,#eafaf5);--safeborder:var(--cpuom9j-runtime-border,#c8efe0);color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}\\n.np-kodbe.kb-page *{box-sizing:border-box;}\\n.np-kodbe .kb-wrap{max-width:880px;margin:0 auto;padding:36px 20px 72px;}\\n.np-kodbe .kb-wrap.kb-wide{max-width:1080px;}\\n.np-kodbe .kb-eyebrow{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink);font-weight:700;margin:0 0 10px;}\\n.np-kodbe .kb-h1{font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin:0 0 14px;letter-spacing:-.02em;}\\n.np-kodbe .kb-lead{font-size:clamp(1.05rem,2.4vw,1.28rem);color:var(--muted);margin:0 0 6px;max-width:62ch;}\\n.np-kodbe .kb-hero{padding:4px 0 4px;}\\n.np-kodbe .kb-section{margin:44px 0 0;}\\n.np-kodbe .kb-h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.2;margin:0 0 12px;letter-spacing:-.01em;}\\n.np-kodbe .kb-p{margin:0 0 14px;max-width:68ch;}\\n.np-kodbe .kb-list{margin:0 0 14px;padding-left:1.2em;max-width:68ch;}\\n.np-kodbe .kb-list li{margin:0 0 9px;}\\n.np-kodbe .kb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:6px 0 0;}\\n.np-kodbe .kb-card{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--bg);display:flex;flex-direction:column;gap:7px;}\\n.np-kodbe .kb-card h3{margin:0;font-size:1.06rem;}\\n.np-kodbe .kb-card p{margin:0;color:var(--muted);font-size:.97rem;}\\n.np-kodbe .kb-card .kb-link{margin-top:4px;}\\n.np-kodbe .kb-link{color:var(--brand-ink);text-decoration:underline;text-underline-offset:2px;font-weight:600;}\\n.np-kodbe .kb-link:hover{color:var(--brand);}\\n.np-kodbe .kb-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0;}\\n.np-kodbe .kb-btn{display:inline-block;border-radius:10px;padding:12px 18px;font-weight:700;text-decoration:none;font-size:1rem;border:1px solid transparent;cursor:pointer;}\\n.np-kodbe .kb-btn.primary{background:var(--brand);color:#fff;}\\n.np-kodbe .kb-btn.primary:hover{background:var(--brand-ink);}\\n.np-kodbe .kb-btn.secondary{background:var(--surface2);color:var(--brand-ink);border-color:var(--border);}\\n.np-kodbe .kb-btn.ghost{background:transparent;color:var(--brand-ink);border-color:var(--border);}\\n.np-kodbe .kb-summary{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin:26px 0 0;}\\n.np-kodbe .kb-summary h2{font-size:.82rem;margin:0 0 8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}\\n.np-kodbe .kb-summary p{margin:0;max-width:68ch;}\\n.np-kodbe .kb-callout{border-radius:12px;padding:14px 16px;margin:20px 0 0;border:1px solid var(--border);max-width:70ch;}\\n.np-kodbe .kb-callout.info{background:var(--infobg);}\\n.np-kodbe .kb-callout.caution{background:var(--warnbg);border-color:var(--warnborder);}\\n.np-kodbe .kb-callout.safety{background:var(--safebg);border-color:var(--safeborder);}\\n.np-kodbe .kb-callout strong{display:block;margin-bottom:4px;}\\n.np-kodbe .kb-callout p{margin:0;}\\n.np-kodbe .kb-faq{margin:6px 0 0;max-width:72ch;}\\n.np-kodbe .kb-faq details{border-bottom:1px solid var(--border);padding:12px 0;}\\n.np-kodbe .kb-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;}\\n.np-kodbe .kb-faq summary::-webkit-details-marker{display:none;}\\n.np-kodbe .kb-faq summary::after{content:'+';float:right;color:var(--muted);margin-left:12px;}\\n.np-kodbe .kb-faq details[open] summary::after{content:'\\\\2013';}\\n.np-kodbe .kb-faq p{margin:10px 0 0;color:var(--muted);}\\n.np-kodbe .kb-steps{margin:0;padding-left:1.3em;max-width:70ch;}\\n.np-kodbe .kb-steps li{margin:0 0 12px;}\\n.np-kodbe .kb-disclaimer{margin-top:52px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--border);padding-top:16px;max-width:72ch;}\\n@media (max-width:640px){.np-kodbe .kb-wrap{padding:26px 16px 56px;}}\")\n      , _react2.default.createElement('div', { className: \"kb-wrap kb-wide\" ,}\n        , _react2.default.createElement('header', { className: \"kb-hero\",}\n          , _react2.default.createElement('p', { className: \"kb-eyebrow\",}, \"Guide hub\")\n          , _react2.default.createElement('h1', { className: \"kb-h1\",}, \"Make it truly yours\")\n          , _react2.default.createElement('p', { className: \"kb-lead\",}, \"Data ownership, exportability, vendor lock-in, and exits: make sure you actually control the app you built, and can leave a tool if you need to.\")\n          , _react2.default.createElement('div', { className: \"kb-cta-row\",}\n            , _react2.default.createElement('a', { className: \"kb-btn primary\" , href: \"/blog/do-you-actually-own-your-app\",}, \"Start the ownership audit\")\n            , _react2.default.createElement('a', { className: \"kb-btn secondary\" , href: \"/scorecard\",}, \"Score your lock-in\")\n          )\n        )\n        , _react2.default.createElement('aside', { className: \"kb-summary\",}\n          , _react2.default.createElement('h2', null, \"In plain English\")\n          , _react2.default.createElement('p', null, \"Owning an app is more than logging in. It means controlling your code, data, domain, accounts, and billing, and being able to move if a tool changes. This hub helps you check and strengthen all of that.\")\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"Who this is for\")\n          , _react2.default.createElement('ul', { className: \"kb-list\",}\n            , _react2.default.createElement('li', null, \"Builders unsure whether they truly control their app\")\n            , _react2.default.createElement('li', null, \"People worried about being locked into one tool\")\n            , _react2.default.createElement('li', null, \"Anyone whose app is central to their business or livelihood\")\n          )\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"When to use this hub\")\n          , _react2.default.createElement('ul', { className: \"kb-list\",}\n            , _react2.default.createElement('li', null, \"Before you depend more heavily on one platform\")\n            , _react2.default.createElement('li', null, \"When a tool changes pricing or terms\")\n            , _react2.default.createElement('li', null, \"When you are deciding whether to stay or move\")\n          )\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"What owning your app really means\")\n          , _react2.default.createElement('p', { className: \"kb-p\",}, \"Real ownership has five parts: your code, your data, your domain, your accounts, and your billing. If any of those sits only with a tool or a contractor, you are more exposed than you think.\")\n          , _react2.default.createElement('p', { className: \"kb-p\",}, \"You do not have to leave your tools. The goal is to know where you stand and keep an exit within reach, so you are choosing to stay rather than being stuck.\")\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"Guides in this hub\")\n          , _react2.default.createElement('ul', { className: \"kb-list\",}\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/do-you-actually-own-your-app\",}, \"Do You Actually Own Your App?\"), \" \" , \"— the audit\")\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/export-your-data-from-a-no-code-platform\",}, \"Export Your Data and Code From a No-Code Platform\"))\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/vendor-lock-in-mistakes\",}, \"7 Ways You Lock Yourself Into a Tool\"))\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/own-your-bubble-app\",}, \"Own Your Bubble App: Export, Back Up, Exit\"), \" \" , \"— a worked example\")\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/vendor-lock-in-explained\",}, \"Vendor Lock-In, Explained\"))\n            , _react2.default.createElement('li', null, _react2.default.createElement('a', { className: \"kb-link\", href: \"/blog/migrate-off-a-tool-without-downtime\",}, \"Migrate Off a Tool Without Downtime\"))\n          )\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"Where to go next\")\n          , _react2.default.createElement('div', { className: \"kb-grid\",}\n            , _react2.default.createElement('article', { className: \"kb-card\",}\n              , _react2.default.createElement('h3', null, \"Score your lock-in\")\n              , _react2.default.createElement('p', null, \"See how hard it would be to leave your platform.\")\n              , _react2.default.createElement('a', { className: \"kb-link\", href: \"/scorecard\",}, \"Open the scorecard\")\n            )\n            , _react2.default.createElement('article', { className: \"kb-card\",}\n              , _react2.default.createElement('h3', null, \"Run the ownership audit\")\n              , _react2.default.createElement('p', null, \"Confirm you control code, data, domain, and accounts.\")\n              , _react2.default.createElement('a', { className: \"kb-link\", href: \"/own\",}, \"Run the audit\")\n            )\n            , _react2.default.createElement('article', { className: \"kb-card\",}\n              , _react2.default.createElement('h3', null, \"Tools & landscape\")\n              , _react2.default.createElement('p', null, \"Weigh tools on exportability and portability.\")\n              , _react2.default.createElement('a', { className: \"kb-link\", href: \"/tools\",}, \"Go to Tools\")\n            )\n          )\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"Find out where you stand\")\n          , _react2.default.createElement('p', { className: \"kb-p\",}, \"Score your lock-in, then keep your data exports current so you always have a way out.\")\n          , _react2.default.createElement('div', { className: \"kb-cta-row\",}\n            , _react2.default.createElement('a', { className: \"kb-btn primary\" , href: \"/scorecard\",}, \"Score your lock-in\")\n            , _react2.default.createElement('a', { className: \"kb-btn secondary\" , href: \"/newsletter\",}, \"Read the reading map\")\n          )\n        )\n        , _react2.default.createElement('section', { className: \"kb-section\",}\n          , _react2.default.createElement('h2', { className: \"kb-h2\",}, \"Own FAQ\")\n          , _react2.default.createElement('div', { className: \"kb-faq\",}\n            , _react2.default.createElement('details', null\n              , _react2.default.createElement('summary', null, \"How do I know if I really own my app?\")\n              , _react2.default.createElement('p', null, \"Check five things: your code, data, domain, accounts, and billing. If each is in your control and exportable, you own it. The ownership audit walks through each.\")\n            )\n            , _react2.default.createElement('details', null\n              , _react2.default.createElement('summary', null, \"What is vendor lock-in?\")\n              , _react2.default.createElement('p', null, \"How hard it would be to leave a tool. Some lock-in is a fair trade for convenience; the risk is not choosing it on purpose or having no exit.\")\n            )\n            , _react2.default.createElement('details', null\n              , _react2.default.createElement('summary', null, \"Can I get my data out of a no-code tool?\")\n              , _react2.default.createElement('p', null, \"Usually yes, in some form, though completeness varies. The export guide covers what is typically exportable and the common gotchas.\")\n            )\n            , _react2.default.createElement('details', null\n              , _react2.default.createElement('summary', null, \"Should I try to leave my platform?\")\n              , _react2.default.createElement('p', null, \"Not necessarily. The goal is to keep an exit within reach, not to move for its own sake. Migrate only when there is a real reason.\")\n            )\n            , _react2.default.createElement('details', null\n              , _react2.default.createElement('summary', null, \"What is the cheapest ownership win?\")\n              , _react2.default.createElement('p', null, \"Owning your domain and keeping current data backups. Both are low effort and dramatically reduce your risk.\")\n            )\n          )\n        )\n        , _react2.default.createElement('p', { className: \"kb-disclaimer\",}, \"Kodbe is an independent publication about maintaining and owning software you built with AI or no-code tools. It is not affiliated with, endorsed by, or connected to Kodbe Inc (the Albany, GA educational nonprofit), Kodobe, Kodable, or Kodu.\")\n      )\n\n, _react2.default.createElement('style', null, \"\\n.np-kodbe{--np-paper:var(--cpuom9j-runtime-bg,#edf1eb);--np-ink:var(--cpuom9j-runtime-text,#21382e);--np-accent:var(--cpuom9j-runtime-accent-soft,#cae0b4);box-sizing:border-box;max-width:100%!important;width:100%;min-height:100vh;background:var(--np-paper)!important;color:var(--np-ink)!important;margin:0!important;padding:0 clamp(20px,5vw,72px) 72px!important;font-family:var(--cpuom9j-font-body,Arial,sans-serif)!important;font-size:17px!important;line-height:1.75!important;overflow-wrap:anywhere}\\n.np-kodbe *{box-sizing:border-box;min-width:0}.np-kodbe>*{max-width:1080px;margin-left:auto;margin-right:auto}.np-kodbe .np-topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;margin-bottom:52px;border-bottom:1px solid var(--np-ink)}.np-kodbe .np-brand{font-family:var(--cpuom9j-font-heading,Georgia,serif);font-size:22px;letter-spacing:-.5px;text-decoration:none}.np-kodbe .np-topbar nav{display:flex;flex-wrap:wrap;gap:10px 22px}.np-kodbe .np-topbar nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none;border-bottom:1px solid transparent}.np-kodbe .np-topbar nav a:hover{border-bottom-color:currentColor}\\n.np-kodbe h1{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:clamp(36px,5.2vw,66px)!important;line-height:1.08!important;letter-spacing:-1.8px!important;max-width:960px;margin-top:0!important;margin-bottom:28px!important;text-wrap:balance;color:var(--np-ink)!important}.np-kodbe h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;font-size:clamp(25px,3vw,35px)!important;line-height:1.25!important;letter-spacing:-.5px!important;color:var(--np-ink)!important;margin-top:38px!important;margin-bottom:18px!important;text-wrap:balance}.np-kodbe h3{font-size:19px!important;line-height:1.4!important;color:var(--np-ink)!important;margin-top:24px!important;margin-bottom:10px!important}.np-kodbe p,.np-kodbe li{line-height:1.8!important;max-width:78ch}.np-kodbe p{margin-bottom:18px!important}.np-kodbe p,.np-kodbe li,.np-kodbe label{color:var(--np-ink)!important}.np-kodbe main,.np-kodbe article,.np-kodbe section{max-width:100%}.np-kodbe section{padding-top:8px!important;padding-bottom:24px!important;background:transparent!important}.np-kodbe section+section{border-top:1px solid color-mix(in srgb,var(--np-ink) 22%,transparent);margin-top:32px!important}.np-kodbe ul,.np-kodbe ol{padding-left:24px;max-width:78ch}.np-kodbe li{margin-bottom:10px!important}\\n.np-kodbe a{color:var(--np-ink);text-underline-offset:4px;text-decoration-thickness:1px}.np-kodbe a:hover{text-decoration:underline}.np-kodbe a:focus-visible,.np-kodbe button:focus-visible,.np-kodbe input:focus-visible,.np-kodbe select:focus-visible,.np-kodbe textarea:focus-visible,.np-kodbe summary:focus-visible{outline:3px solid var(--np-ink);outline-offset:5px}.np-kodbe button,.np-kodbe input,.np-kodbe select,.np-kodbe textarea{font:inherit;max-width:100%;min-height:44px;border-radius:3px!important}.np-kodbe button{cursor:pointer}.np-kodbe [class*=\\\"cta\\\"] a,.np-kodbe [class*=\\\"button\\\"]{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px!important;background:var(--np-ink)!important;color:var(--np-paper)!important;border:1px solid var(--np-ink)!important;border-radius:3px!important;text-decoration:none!important;font-size:14px!important;font-weight:600!important;white-space:normal;line-height:1.45!important}.np-kodbe details{border:1px solid color-mix(in srgb,var(--np-ink) 28%,transparent)!important;border-radius:3px!important;padding:0 18px!important;background:transparent!important;margin-bottom:12px!important}.np-kodbe summary{min-height:48px;padding:14px 0;cursor:pointer;font-weight:600;line-height:1.5}.np-kodbe details>p{padding-bottom:12px}.np-kodbe blockquote{border-left:3px solid var(--np-ink)!important;background:var(--np-accent)!important;color:var(--np-ink)!important;padding:18px 22px!important;margin:24px 0!important;max-width:78ch}.np-kodbe .np-table{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:24px 0;outline-offset:4px}.np-kodbe table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65;display:table!important;overflow:visible!important}.np-kodbe th{background:var(--np-accent)!important;color:var(--np-ink)!important;text-align:left;padding:15px!important;font-weight:600}.np-kodbe td{color:var(--np-ink)!important;background:transparent!important;padding:15px!important;border-bottom:1px solid color-mix(in srgb,var(--np-ink) 22%,transparent)!important;vertical-align:top}.np-kodbe pre{max-width:100%;overflow-x:auto;padding:20px;background:var(--np-ink)!important;color:var(--np-paper)!important;line-height:1.6;font-size:14px}.np-kodbe pre code{color:inherit!important;background:transparent!important}.np-kodbe img,.np-kodbe svg{max-width:100%;height:auto}\\n@media(max-width:680px){.np-kodbe{font-size:16px!important;padding-left:20px!important;padding-right:20px!important}.np-kodbe .np-topbar{display:block;margin-bottom:36px;padding-top:20px}.np-kodbe .np-topbar nav{margin-top:12px;gap:4px 18px}.np-kodbe h1{letter-spacing:-1px!important}.np-kodbe [style*=\\\"grid-template-columns\\\"]{grid-template-columns:minmax(0,1fr)!important}.np-kodbe [class*=\\\"cta\\\"]{flex-wrap:wrap!important;gap:12px!important}.np-kodbe .np-table table{min-width:580px}.np-kodbe th,.np-kodbe td{padding:12px!important}.np-kodbe blockquote{padding:16px!important}}\\n@media(prefers-reduced-motion:reduce){.np-kodbe *{scroll-behavior:auto!important;transition:none!important}}\\n\")\n)\n  );\n} exports.default = OwnHubPage;"}