[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Frunning\u002Fwho-can-reach-it":254,"surround-\u002Frunning\u002Fwho-can-reach-it":458},[4,33,86,114,173,212,231],{"title":5,"path":6,"stem":7,"children":8},"Start","\u002Fstart","1.start",[9,13,18,23,28],{"title":10,"path":6,"stem":11,"description":12},"Start here","1.start\u002Findex","What Desifex is, and how to get an application of your own running.",{"title":14,"path":15,"stem":16,"description":17},"What Desifex is","\u002Fstart\u002Fwhat-desifex-is","1.start\u002F1.what-desifex-is","An application factory where conversation is the interface — and the handful of things it deliberately will not do.",{"title":19,"path":20,"stem":21,"description":22},"Your first application","\u002Fstart\u002Fyour-first-application","1.start\u002F2.your-first-application","From a sentence to something running, in about twenty minutes, with nothing to install.",{"title":24,"path":25,"stem":26,"description":27},"The workbench","\u002Fstart\u002Fthe-workbench","1.start\u002F3.the-workbench","A tour of the screen you will spend your time on — the conversation, the six tabs, and the menu.",{"title":29,"path":30,"stem":31,"description":32},"What to expect","\u002Fstart\u002Fwhat-to-expect","1.start\u002F4.what-to-expect","How long things take, what a good working rhythm looks like, and the parts that genuinely go wrong.",{"title":34,"path":35,"stem":36,"children":37},"Building","\u002Fbuilding","2.building",[38,41,46,51,56,61,66,71,76,81],{"title":34,"path":35,"stem":39,"description":40},"2.building\u002Findex","Getting what you actually wanted out of the conversation.",{"title":42,"path":43,"stem":44,"description":45},"Describing what you need","\u002Fbuilding\u002Fdescribing-what-you-need","2.building\u002F1.describing-what-you-need","How to phrase a request so that what comes back is what you meant.",{"title":47,"path":48,"stem":49,"description":50},"Watching a build","\u002Fbuilding\u002Fwatching-a-build","2.building\u002F2.watching-a-build","What the steps mean, what is happening underneath, and why you are not shown a log.",{"title":52,"path":53,"stem":54,"description":55},"Changing your mind","\u002Fbuilding\u002Fchanging-your-mind","2.building\u002F3.changing-your-mind","Interrupting a build, correcting a misunderstanding, and undoing something you asked for.",{"title":57,"path":58,"stem":59,"description":60},"When a build fails","\u002Fbuilding\u002Fwhen-a-build-fails","2.building\u002F4.when-a-build-fails","What a failure actually means, what to try, and when to ask us.",{"title":62,"path":63,"stem":64,"description":65},"Showing it a file","\u002Fbuilding\u002Fshowing-it-files","2.building\u002F5.showing-it-files","Attaching a screenshot, a spreadsheet or a document to the conversation — often faster than describing it.",{"title":67,"path":68,"stem":69,"description":70},"Choosing a design system","\u002Fbuilding\u002Fchoosing-a-design-system","2.building\u002F6.choosing-a-design-system","What a design system decides, how to pick one, and what changing it later does.",{"title":72,"path":73,"stem":74,"description":75},"Asking for settings","\u002Fbuilding\u002Fasking-for-settings","2.building\u002F7.asking-for-settings","The conversation reaches the whole platform — addresses, icons, redirects, users, integrations and shipping. If you do not know where a setting is, ask.",{"title":77,"path":78,"stem":79,"description":80},"When it asks you","\u002Fbuilding\u002Fwhen-it-asks-you","2.building\u002F8.when-it-asks-you","Some decisions arrive as a screen rather than a message — a table to correct, a list to choose from — and the build waits for your answer.",{"title":82,"path":83,"stem":84,"description":85},"Starting from what you have","\u002Fbuilding\u002Fstarting-from-what-you-have","2.building\u002F9.starting-from-what-you-have","A spreadsheet, a document, a picture or a page of your own site — attached, read, and built from.",{"title":87,"path":88,"stem":89,"children":90},"Shipping","\u002Fshipping","3.shipping",[91,94,99,104,109],{"title":87,"path":88,"stem":92,"description":93},"3.shipping\u002Findex","Getting what you built in front of people, and getting back to an earlier version.",{"title":95,"path":96,"stem":97,"description":98},"Versions","\u002Fshipping\u002Fversions","3.shipping\u002F1.versions","Every build is kept, named after what was asked for, and can be compared and restored.",{"title":100,"path":101,"stem":102,"description":103},"Environments","\u002Fshipping\u002Fenvironments","3.shipping\u002F2.environments","Preview, test and live — what each one is, who can reach it, and why their data is separate.",{"title":105,"path":106,"stem":107,"description":108},"Deploying","\u002Fshipping\u002Fdeploying","3.shipping\u002F3.deploying","Putting a version into test or live, what happens while it deploys, and what happens if it fails.",{"title":110,"path":111,"stem":112,"description":113},"Going back","\u002Fshipping\u002Fgoing-back","3.shipping\u002F4.going-back","Restoring an earlier version when a change turned out to be wrong.",{"title":115,"path":116,"stem":117,"children":118},"Running","\u002Frunning","4.running",[119,123,128,133,138,143,148,153,158,163,168],{"title":120,"path":116,"stem":121,"description":122},"Running it","4.running\u002Findex","Everything in Settings — addresses, access, people, files, integrations and what crawlers are told.",{"title":124,"path":125,"stem":126,"description":127},"Addresses and domains","\u002Frunning\u002Faddresses-and-domains","4.running\u002F01.addresses-and-domains","The address an application gets, and how to put it on a domain you own.",{"title":129,"path":130,"stem":131,"description":132},"Who can reach it","\u002Frunning\u002Fwho-can-reach-it","4.running\u002F02.who-can-reach-it","Open, behind one shared password, or accounts — and why the choice is enforced in front of the application.",{"title":134,"path":135,"stem":136,"description":137},"People who sign in","\u002Frunning\u002Fpeople-who-sign-in","4.running\u002F03.people-who-sign-in","The workspace's user directory — adding the people who use your applications, which ones each may open, what you can keep about them, and two-step sign-in.",{"title":139,"path":140,"stem":141,"description":142},"Published files","\u002Frunning\u002Fpublished-files","4.running\u002F04.published-files","Documents your application hands to its users — a price list, a brochure, a form — with a stable address and no build to change them.",{"title":144,"path":145,"stem":146,"description":147},"Integrations","\u002Frunning\u002Fintegrations","4.running\u002F05.integrations","Email, SMS and Google — connected once, used by the application without it ever holding a credential.",{"title":149,"path":150,"stem":151,"description":152},"Appearance","\u002Frunning\u002Fappearance","4.running\u002F06.appearance","The browser tab, the icon, what a link looks like when somebody pastes it, and adding it to a phone's home screen.",{"title":154,"path":155,"stem":156,"description":157},"Redirects and search engines","\u002Frunning\u002Fredirects-and-search-engines","4.running\u002F07.redirects-and-search-engines","Old addresses that still get visited, and what crawlers are told about each environment.",{"title":159,"path":160,"stem":161,"description":162},"Configuration values","\u002Frunning\u002Fconfiguration-values","4.running\u002F08.configuration-values","Named values the application needs but must not contain — API keys, account numbers, thresholds.",{"title":164,"path":165,"stem":166,"description":167},"Your data","\u002Frunning\u002Fyour-data","4.running\u002F09.your-data","The Data tab — reading, correcting, adding to and clearing out what your application has stored, one environment at a time.",{"title":169,"path":170,"stem":171,"description":172},"Visitors","\u002Frunning\u002Fvisitors","4.running\u002F10.visitors","Who is using the application, counted without identifying anybody and with nothing to set up.",{"title":174,"path":175,"stem":176,"children":177},"Workspace","\u002Fworkspace","5.workspace",[178,182,187,192,197,202,207],{"title":179,"path":175,"stem":180,"description":181},"Your workspace","5.workspace\u002Findex","What every application in it shares — the domain, the design systems, the people, the user directory and, if you want it, one set of records — and how to be in more than one.",{"title":183,"path":184,"stem":185,"description":186},"People and roles","\u002Fworkspace\u002Fpeople-and-roles","5.workspace\u002F1.people-and-roles","Three roles, what each can do, how they apply to the builder as well as to the buttons, and why they belong to a workspace rather than to an account.",{"title":188,"path":189,"stem":190,"description":191},"More than one workspace","\u002Fworkspace\u002Fmore-than-one-workspace","5.workspace\u002F2.more-than-one-workspace","Belonging to several, switching between them, the role you hold in each, and why nothing crosses over.",{"title":193,"path":194,"stem":195,"description":196},"Organising applications","\u002Fworkspace\u002Ffolders-and-organising","5.workspace\u002F3.folders-and-organising","Folders on the dashboard, and how to keep a growing list navigable.",{"title":198,"path":199,"stem":200,"description":201},"Your own design systems","\u002Fworkspace\u002Fyour-own-design-systems","5.workspace\u002F4.your-own-design-systems","Authoring a design system for your brand, or a client's, by importing guidelines, a website or a Figma library.",{"title":203,"path":204,"stem":205,"description":206},"Your profile","\u002Fworkspace\u002Fyour-profile","5.workspace\u002F5.your-profile","Your name, your password, your picture, and the theme.",{"title":208,"path":209,"stem":210,"description":211},"Where records live","\u002Fworkspace\u002Fwhere-records-live","5.workspace\u002F6.where-records-live","One store per environment, one across an application's environments, or one the whole workspace shares — what each costs you, and how to change it.",{"title":213,"path":214,"stem":215,"children":216},"Developers","\u002Fdevelopers","6.developers",[217,221,226],{"title":218,"path":214,"stem":219,"description":220},"For developers","6.developers\u002Findex","What is actually generated, and what to do when you inherit one.",{"title":222,"path":223,"stem":224,"description":225},"What gets built","\u002Fdevelopers\u002Fwhat-gets-built","6.developers\u002F1.what-gets-built","The stack, the shape of the repository, and the parts the platform provides rather than the application.",{"title":227,"path":228,"stem":229,"description":230},"Taking one over","\u002Fdevelopers\u002Ftaking-it-over","6.developers\u002F2.taking-it-over","For the developer who has just been handed an application built here.",{"title":232,"path":233,"stem":234,"children":235},"Reference","\u002Freference","7.reference",[236,239,244,249],{"title":232,"path":233,"stem":237,"description":238},"7.reference\u002Findex","Terms, limits, and what to do when something specific has gone wrong.",{"title":240,"path":241,"stem":242,"description":243},"Glossary","\u002Freference\u002Fglossary","7.reference\u002F1.glossary","Every term this documentation uses, in one place.",{"title":245,"path":246,"stem":247,"description":248},"Limits","\u002Freference\u002Flimits","7.reference\u002F2.limits","The boundaries that are real, so you do not discover them at an inconvenient moment.",{"title":250,"path":251,"stem":252,"description":253},"Troubleshooting","\u002Freference\u002Ftroubleshooting","7.reference\u002F3.troubleshooting","Specific symptoms, and what each one usually means.",{"id":255,"title":129,"body":256,"description":132,"extension":451,"hidden":452,"meta":453,"navTitle":454,"navigation":455,"path":130,"seo":456,"stem":131,"__hash__":457},"docs\u002F4.running\u002F02.who-can-reach-it.md",{"type":257,"value":258,"toc":439},"minimark",[259,267,270,276,281,284,287,291,294,297,304,307,317,321,324,331,335,342,355,362,366,369,373,380,384],[260,261,262,266],"p",{},[263,264,265],"strong",{},"Settings › Access."," Three answers, set per application, because they are\nanswers to genuinely different questions.",[260,268,269],{},"You are also asked when the application is created, and it is worth answering\nthen rather than later: an application people sign in to needs sign-in screens\nand knows who is looking, one behind a shared password needs neither, and\nchanging your mind after the screens exist means building them twice.",[260,271,272,275],{},[263,273,274],{},"Decide later",", in that wizard, is a real answer rather than a way of\nskipping. The builder raises it once during the first build, when it can say\nwhat each of these would mean for your application in particular, and applies\nwhat you choose. Answering it here instead, at any point, takes the question\naway.",[277,278,280],"h2",{"id":279},"anyone-with-the-address","Anyone with the address",[260,282,283],{},"A public site. Everything in it is readable by anyone who finds it. The default.",[260,285,286],{},"Right for a marketing page, a public form, a status board. Wrong for anything\nwith a customer's data in it.",[277,288,290],{"id":289},"one-shared-password","One shared password",[260,292,293],{},"Everyone types the same password once. Nothing to set up per person, nobody to\nenrol.",[260,295,296],{},"Right for showing a client their application before it is public, and for an\ninternal tool that does not need to know who is using it.",[260,298,299,300,303],{},"Choosing it generates a password and applies it there and then. The password is\n",[263,301,302],{},"shown rather than dotted out",", with an eye to hide it — you are the person\nwho has to pass it on, and a field you must reveal before you can copy it is\nceremony borrowed from sign-in forms, where the threat is somebody standing\nbehind you.",[260,305,306],{},"It is stored hashed, so once you leave that screen it cannot be shown again,\nonly replaced.",[308,309,311],"note",{"type":310},"tip",[260,312,313,316],{},[263,314,315],{},"Changing the password signs out everyone who used the old one."," Nothing to\nexpire and no list to clear. That is the button you press when a password has\ngot out.",[277,318,320],{"id":319},"people-sign-in","People sign in",[260,322,323],{},"Accounts, one per person, with two-step sign-in if they want it. The application\nneeds sign-in screens, which the builder can add — ask for them.",[260,325,326,327,330],{},"See ",[328,329,134],"a",{"href":135},".",[277,332,334],{"id":333},"where-the-check-happens","Where the check happens",[260,336,337,338,341],{},"All three are enforced ",[263,339,340],{},"in front of the application",", not inside it. That\nmatters more than it sounds:",[343,344,345,349,352],"ul",{},[346,347,348],"li",{},"it covers every page, every API route and every file the application\npublishes, including ones a later build adds;",[346,350,351],{},"it holds while the application is being deployed, or while its build is\nbroken;",[346,353,354],{},"the application cannot turn it off by accident, because it is not the\napplication's to turn off.",[260,356,357,358,361],{},"Somebody who does not have the password gets the password form ",[263,359,360],{},"on the address\nthey asked for",", so the link they were sent still works once they are in.",[277,363,365],{"id":364},"test-and-live-are-separate-doors","Test and live are separate doors",[260,367,368],{},"The shared password is per environment, and so are the sessions it creates. A\nclient shown the test copy has not been shown the live one.",[277,370,372],{"id":371},"what-stays-reachable-without-the-password","What stays reachable without the password",[260,374,375,379],{},[376,377,378],"code",{},"robots.txt"," and the password form itself. Nobody can type a password on a page\nthey cannot load.",[277,381,383],{"id":382},"choosing","Choosing",[385,386,387,400],"table",{},[388,389,390],"thead",{},[391,392,393,397],"tr",{},[394,395,396],"th",{},"Situation",[394,398,399],{},"Setting",[401,402,403,411,418,425,432],"tbody",{},[391,404,405,409],{},[406,407,408],"td",{},"A public form or page",[406,410,280],{},[391,412,413,416],{},[406,414,415],{},"Showing a client their application",[406,417,290],{},[391,419,420,423],{},[406,421,422],{},"An internal tool, small team, nothing sensitive",[406,424,290],{},[391,426,427,430],{},[406,428,429],{},"Anything where you need to know who did what",[406,431,320],{},[391,433,434,437],{},[406,435,436],{},"Anything holding customer data",[406,438,320],{},{"title":440,"searchDepth":441,"depth":441,"links":442},"",3,[443,445,446,447,448,449,450],{"id":279,"depth":444,"text":280},2,{"id":289,"depth":444,"text":290},{"id":319,"depth":444,"text":320},{"id":333,"depth":444,"text":334},{"id":364,"depth":444,"text":365},{"id":371,"depth":444,"text":372},{"id":382,"depth":444,"text":383},"md",false,{},null,true,{"title":129,"description":132},"W43RoQWF2ZysirgXRfa9rrQJk7bx-ahdFhAaAKujaYo",[459,460],{"title":124,"path":125,"stem":126,"description":127,"children":-1},{"title":134,"path":135,"stem":136,"description":137,"children":-1},1790202296895]