[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"landing-terms:cloud:cloud-headroom:localized-content-set-v2":3,"landing-navigation-items:localized-content-set-v4":28,"landing-page-seo:\u002Fcloud-headroom:localized-content-set-v3":113,"landing-site-settings:localized-content-set-v4":114,"landing-footer-link-groups:localized-content-set-v3":140},[4],{"id":5,"slug":6,"path":7,"type":8,"version":9,"effectiveDate":10,"order":11,"metadata":12,"isActive":16,"updatedAt":17,"contentSet":18},4,"cloud-headroom","\u002Fcloud-headroom","cloud","2.0","2026-09-11T00:00:00.000Z",40,{"category":13,"audience":14,"managementModel":15},"legal","cloud-customers","customer-owned-provider",true,"2026-09-11T02:18:53.219Z",{"id":19,"contents":20},101,[21],{"languageCode":22,"values":23,"isActive":16,"id":27},"en",{"title":24,"summary":25,"contentHtml":26},"Enfyra Cloud Provider and Resource Model","How Enfyra manages projects in customer-owned provider accounts, how provider billing stays separate, and what Railway currently provisions.","\u003Ch2>Customer-owned infrastructure\u003C\u002Fh2>\u003Cp>Enfyra Cloud is a management plane, not an infrastructure reseller. Each project runs in an infrastructure provider account you own. You keep the provider project, resources, data, usage record, and provider bill.\u003C\u002Fp>\u003Ch2>Provider-neutral projects\u003C\u002Fh2>\u003Cp>An Enfyra Cloud project selects one supported provider and maps to one provider project. Supported providers must offer an OAuth connection suitable for Enfyra management. Railway is available first; additional providers can use the same ownership boundary.\u003C\u002Fp>\u003Ch2>OAuth management access\u003C\u002Fh2>\u003Cp>You connect a provider through Enfyra Cloud and authorize access with OAuth. Enfyra stores provider credentials encrypted and uses them for requested provisioning and management operations. Disconnecting access stops Enfyra management but leaves provider resources and billing unchanged.\u003C\u002Fp>\u003Ch2>Railway topology\u003C\u002Fh2>\u003Cp>For Railway, Enfyra creates one Railway project, an always-on dedicated PostgreSQL service with a persistent database volume, and one Enfyra runtime service with embedded Redis and a persistent \u003Ccode>\u002Fapp\u002Fdata\u003C\u002Fcode> volume. The services communicate over Railway's private network.\u003C\u002Fp>\u003Cp>The production database is not embedded in the runtime container. File uploads use a separately configured external object-storage provider such as S3, R2, or GCS.\u003C\u002Fp>\u003Ch2>Management and billing boundary\u003C\u002Fh2>\u003Cp>The USD 11.99 monthly Enfyra fee covers the management layer. Railway or another selected provider bills compute, memory, volumes, traffic, backups, and provider features directly. Enfyra does not mark up or guarantee the provider bill.\u003C\u002Fp>\u003Ch2>Serverless behavior\u003C\u002Fh2>\u003Cp>Railway Serverless can be enabled for the Enfyra runtime, while PostgreSQL stays on. Enabling or disabling Serverless requires a new deployment before it takes effect. Cold starts and connection behavior remain provider runtime characteristics.\u003C\u002Fp>\u003Ch2>Lifecycle and drift\u003C\u002Fh2>\u003Cp>Enfyra records exact provider resource identifiers and reconciles them before managed mutations. Direct provider-console changes can appear as drift and block unsafe operations. Enfyra does not silently recreate or overwrite customer-owned resources.\u003C\u002Fp>\u003Cp>Stopping Enfyra renewal, disconnecting OAuth, or removing the Cloud management record does not delete provider resources. Any destructive provider-resource action is separate and requires explicit confirmation.\u003C\u002Fp>",289,[29,44,55,68,79,90,101],{"id":30,"kind":31,"type":32,"to":33,"href":34,"icon":34,"order":30,"metadata":35,"contentSet":37},1,"primary","internal","\u002F",null,{"active":36},"exact",{"id":38,"contents":39},46,[40],{"languageCode":22,"values":41,"isActive":16,"id":43},{"label":42,"ariaLabel":34},"Home",525,{"id":45,"kind":31,"type":32,"to":46,"href":34,"icon":34,"order":45,"metadata":47,"contentSet":48},2,"\u002Ffeatures",{"active":36},{"id":49,"contents":50},47,[51],{"languageCode":22,"values":52,"isActive":16,"id":54},{"label":53,"ariaLabel":34},"Features",526,{"id":56,"kind":31,"type":32,"to":57,"href":34,"icon":58,"order":59,"metadata":60,"contentSet":61},7,"\u002Fpricing","lucide:badge-dollar-sign",3,{"active":36},{"id":62,"contents":63},51,[64],{"languageCode":22,"values":65,"isActive":16,"id":67},{"label":66,"ariaLabel":66},"Pricing",531,{"id":59,"kind":31,"type":32,"to":69,"href":34,"icon":34,"order":5,"metadata":70,"contentSet":72},"\u002Fdocs",{"active":71},"prefix",{"id":73,"contents":74},48,[75],{"languageCode":22,"values":76,"isActive":16,"id":78},{"label":77,"ariaLabel":34},"Docs",527,{"id":5,"kind":31,"type":32,"to":80,"href":34,"icon":34,"order":81,"metadata":82,"contentSet":83},"\u002Fgetting-started",5,{"active":36},{"id":84,"contents":85},49,[86],{"languageCode":22,"values":87,"isActive":16,"id":89},{"label":88,"ariaLabel":34},"Getting Started",528,{"id":81,"kind":31,"type":32,"to":91,"href":34,"icon":34,"order":92,"metadata":93,"contentSet":94},"\u002Fcommunity",6,{"active":36},{"id":95,"contents":96},50,[97],{"languageCode":22,"values":98,"isActive":16,"id":100},{"label":99,"ariaLabel":34},"Community",529,{"id":92,"kind":102,"type":103,"to":34,"href":104,"icon":105,"order":30,"metadata":34,"contentSet":106},"social","external","https:\u002F\u002Fgithub.com\u002Fenfyra\u002Fenfyra","lucide:github",{"id":107,"contents":108},338,[109],{"languageCode":22,"values":110,"isActive":16,"id":112},{"label":111,"ariaLabel":111},"GitHub",530,[],[115],{"siteUrl":116,"githubUrl":104,"enfyraVersion":117,"contentSet":118},"https:\u002F\u002Fenfyra.io","2.2.20",{"id":119,"contents":120},56,[121],{"languageCode":22,"values":122,"isActive":16,"id":139},{"siteName":123,"logoText":123,"description":124,"copyrightText":125,"navMenuTitle":126,"navMenuDescription":127,"docsSearchButtonLabel":128,"docsSidebarToggleLabel":129,"docsSearchTitle":128,"docsSearchDescription":130,"docsSearchPlaceholder":131,"docsSearchEmptyText":132,"docsSearchNoResultsText":133,"docsSearchFooterHint":134,"copyCommandLabel":135,"copiedCommandLabel":136,"backToTopLabel":137,"themeMenuLabel":138},"Enfyra","Live metadata backend platform for APIs, permissions, hooks, workflows, realtime behavior, and admin tools on Enfyra Cloud or your own infrastructure.","© 2026 Enfyra. Licensed under Elastic License 2.0.","Navigation","Primary Enfyra navigation","Search documentation","Toggle documentation navigation","Search docs by title, summary, slug, and body content.","Search docs...","Type to search every cached documentation page.","No matching docs found.","↑↓ Enter Esc","Copy command","Copied command","Back to top","Theme menu",524,[141,183,229,272],{"id":142,"type":143,"order":30,"contentSet":144,"children":151},14,"group",{"id":145,"contents":146},52,[147],{"languageCode":22,"values":148,"isActive":16,"id":150},{"label":149},"Product",545,[152,159,166,174],{"id":30,"type":32,"to":46,"href":34,"order":30,"isActive":16,"contentSet":153},{"id":154,"contents":155},57,[156],{"languageCode":22,"values":157,"isActive":16,"id":158},{"label":53},532,{"id":45,"type":32,"to":80,"href":34,"order":45,"isActive":16,"contentSet":160},{"id":161,"contents":162},58,[163],{"languageCode":22,"values":164,"isActive":16,"id":165},{"label":88},533,{"id":59,"type":32,"to":69,"href":34,"order":59,"isActive":16,"contentSet":167},{"id":168,"contents":169},59,[170],{"languageCode":22,"values":171,"isActive":16,"id":173},{"label":172},"Documentation",534,{"id":5,"type":103,"to":34,"href":175,"order":5,"isActive":16,"contentSet":176},"https:\u002F\u002Fdemo.enfyra.io\u002F",{"id":177,"contents":178},60,[179],{"languageCode":22,"values":180,"isActive":16,"id":182},{"label":181},"Demo",535,{"id":184,"type":143,"order":45,"contentSet":185,"children":192},15,{"id":186,"contents":187},53,[188],{"languageCode":22,"values":189,"isActive":16,"id":191},{"label":190},"Resources",546,[193,202,211,220],{"id":194,"type":32,"to":69,"href":34,"order":30,"isActive":16,"contentSet":195},9,{"id":196,"contents":197},65,[198],{"languageCode":22,"values":199,"isActive":16,"id":201},{"label":200},"API Reference",540,{"id":203,"type":32,"to":69,"href":34,"order":45,"isActive":16,"contentSet":204},10,{"id":205,"contents":206},66,[207],{"languageCode":22,"values":208,"isActive":16,"id":210},{"label":209},"Examples",541,{"id":212,"type":32,"to":69,"href":34,"order":59,"isActive":16,"contentSet":213},11,{"id":214,"contents":215},91,[216],{"languageCode":22,"values":217,"isActive":16,"id":219},{"label":218},"Architecture",542,{"id":221,"type":103,"to":34,"href":104,"order":5,"isActive":16,"contentSet":222},12,{"id":223,"contents":224},92,[225],{"languageCode":22,"values":226,"isActive":16,"id":228},{"label":227},"Contributing",543,{"id":230,"type":143,"order":59,"contentSet":231,"children":237},16,{"id":232,"contents":233},54,[234],{"languageCode":22,"values":235,"isActive":16,"id":236},{"label":99},547,[238,245,254,262],{"id":81,"type":103,"to":34,"href":104,"order":30,"isActive":16,"contentSet":239},{"id":240,"contents":241},61,[242],{"languageCode":22,"values":243,"isActive":16,"id":244},{"label":111},536,{"id":92,"type":103,"to":34,"href":246,"order":45,"isActive":16,"contentSet":247},"https:\u002F\u002Fdiscord.gg\u002FDH5sXtFVWM",{"id":248,"contents":249},62,[250],{"languageCode":22,"values":251,"isActive":16,"id":253},{"label":252},"Discord",537,{"id":56,"type":32,"to":91,"href":34,"order":59,"isActive":16,"contentSet":255},{"id":256,"contents":257},63,[258],{"languageCode":22,"values":259,"isActive":16,"id":261},{"label":260},"Discussions",538,{"id":263,"type":103,"to":34,"href":264,"order":5,"isActive":16,"contentSet":265},8,"https:\u002F\u002Fgithub.com\u002Fenfyra\u002Fenfyra\u002Fissues",{"id":266,"contents":267},64,[268],{"languageCode":22,"values":269,"isActive":16,"id":271},{"label":270},"Issues",539,{"id":273,"type":143,"order":5,"contentSet":274,"children":281},17,{"id":275,"contents":276},55,[277],{"languageCode":22,"values":278,"isActive":16,"id":280},{"label":279},"Legal",548,[282,292,302,312],{"id":283,"type":32,"to":284,"href":34,"order":30,"isActive":16,"contentSet":285},13,"\u002Fcloud-terms",{"id":286,"contents":287},93,[288],{"languageCode":22,"values":289,"isActive":16,"id":291},{"label":290},"Cloud Terms",544,{"id":293,"type":32,"to":294,"href":34,"order":45,"isActive":16,"contentSet":295},18,"\u002Fprivacy-policy",{"id":296,"contents":297},94,[298],{"languageCode":22,"values":299,"isActive":16,"id":301},{"label":300},"Privacy Policy",549,{"id":303,"type":32,"to":304,"href":34,"order":59,"isActive":16,"contentSet":305},19,"\u002Frefund-policy",{"id":306,"contents":307},95,[308],{"languageCode":22,"values":309,"isActive":16,"id":311},{"label":310},"Refund Policy",550,{"id":313,"type":32,"to":7,"href":34,"order":5,"isActive":16,"contentSet":314},20,{"id":315,"contents":316},96,[317],{"languageCode":22,"values":318,"isActive":16,"id":320},{"label":319},"Cloud Provider Model",551]