[{"data":1,"prerenderedAt":438},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Frunning\u002Fpublished-files":254,"surround-\u002Frunning\u002Fpublished-files":435},[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":139,"body":256,"description":142,"extension":428,"hidden":429,"meta":430,"navTitle":431,"navigation":432,"path":140,"seo":433,"stem":141,"__hash__":434},"docs\u002F4.running\u002F04.published-files.md",{"type":257,"value":258,"toc":417},"minimark",[259,268,273,276,289,293,296,307,310,330,334,345,349,352,356,367,377,380,383,387,397,403,407,410],[260,261,262,263,267],"p",{},"The ",[264,265,266],"strong",{},"Files"," tab. These belong to the business rather than to the code.",[269,270,272],"h2",{"id":271},"what-they-are-for","What they are for",[260,274,275],{},"A price list, a brochure, a form to download, a terms document. Things that:",[277,278,279,283,286],"ul",{},[280,281,282],"li",{},"change on the business's schedule, not the software's;",[280,284,285],{},"must keep the same address when they are replaced, because a link is already\nsitting in somebody's inbox;",[280,287,288],{},"should not require a deployment to update.",[269,290,292],{"id":291},"the-address","The address",[260,294,295],{},"Each file gets a stable address on your application's own domain:",[297,298,303],"pre",{"className":299,"code":301,"language":302},[300],"language-text","https:\u002F\u002Fcrm.acme.com\u002F_files\u002Fprice-list.pdf\n","text",[304,305,301],"code",{"__ignoreMap":306},"",[260,308,309],{},"Three useful properties follow from that address being served by the platform\nrather than by the application:",[277,311,312,318,324],{},[280,313,314,317],{},[264,315,316],{},"It is the same in test and live."," One link works in both.",[280,319,320,323],{},[264,321,322],{},"It works while a deployment is building",", and while a build is broken.",[280,325,326,329],{},[264,327,328],{},"It works before anything has been deployed at all."," Publishing a price list\nshould not require a deployment.",[269,331,333],{"id":332},"how-much","How much",[260,335,336,337,340,341,344],{},"Up to ",[264,338,339],{},"100 MB per file",", and up to ",[264,342,343],{},"200 files per application",". You are told\nplainly if you reach either.",[269,346,348],{"id":347},"replacing-one","Replacing one",[260,350,351],{},"Keeps the address. That is the entire point — a link already in a customer's\ninbox goes on working, and it now points at this quarter's prices.",[269,353,355],{"id":354},"handing-one-to-the-builder","Handing one to the builder",[260,357,358,361,362,366],{},[264,359,360],{},"Use it"," on a file writes a sentence into the conversation with the name, the\nexact address and what it is, switches you back to the conversation, and leaves\nthe cursor after it — because what is still missing is ",[363,364,365],"em",{},"where it belongs",", and\nonly you know that.",[368,369,370],"blockquote",{},[260,371,372,373,376],{},"The current price list is published at\n",[304,374,375],{},"https:\u002F\u002Fcrm.acme.com\u002F_files\u002Fprice-list.pdf"," (PDF, 340 KB). …",[260,378,379],{},"Then say where you want it linked from.",[260,381,382],{},"The builder links to files; it never copies the bytes into the application.",[269,384,386],{"id":385},"not-to-be-confused-with","Not to be confused with",[260,388,389,392,393,396],{},[264,390,391],{},"Attachments in the conversation"," — see\n",[394,395,62],"a",{"href":63},". Those explain what to build.\nThey are not served to anybody.",[260,398,399,402],{},[264,400,401],{},"Files your application's users upload"," — those go to the application's own\nstorage, through its own code, and are part of what the application does. They\nare not managed here.",[269,404,406],{"id":405},"safety","Safety",[260,408,409],{},"Anything a browser could execute — an HTML or SVG file — is handed over as a\ndownload rather than rendered, because this is your application's own address\nand a file rendered there would run with its privileges.",[260,411,412,413,416],{},"Published files sit ",[264,414,415],{},"behind"," the access setting. On an application with a\nshared password, a file is not a way around it.",{"title":306,"searchDepth":418,"depth":418,"links":419},3,[420,422,423,424,425,426,427],{"id":271,"depth":421,"text":272},2,{"id":291,"depth":421,"text":292},{"id":332,"depth":421,"text":333},{"id":347,"depth":421,"text":348},{"id":354,"depth":421,"text":355},{"id":385,"depth":421,"text":386},{"id":405,"depth":421,"text":406},"md",false,{},null,true,{"title":139,"description":142},"YjrCo6mXVtWUAStYdgUH-K3jfgscdmdMcJUNs9dxhtw",[436,437],{"title":134,"path":135,"stem":136,"description":137,"children":-1},{"title":144,"path":145,"stem":146,"description":147,"children":-1},1790202296895]