[{"data":1,"prerenderedAt":516},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Frunning\u002Fpeople-who-sign-in":254,"surround-\u002Frunning\u002Fpeople-who-sign-in":513},[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":134,"body":256,"description":137,"extension":506,"hidden":507,"meta":508,"navTitle":509,"navigation":510,"path":135,"seo":511,"stem":136,"__hash__":512},"docs\u002F4.running\u002F03.people-who-sign-in.md",{"type":257,"value":258,"toc":492},"minimark",[259,268,273,280,287,299,303,313,316,319,326,330,333,340,344,350,357,361,371,377,387,391,405,416,419,424,433,437,440,443,446,449,453,456,479,482,486,489],[260,261,262,263,267],"p",{},"These are ",[264,265,266],"strong",{},"your"," users — your colleagues or your customers. They are not\nplatform accounts, they cannot reach the workbench, and signing in to your\napplication is not signing in to Desifex.",[269,270,272],"h2",{"id":271},"one-directory-every-application","One directory, every application",[260,274,275,276,279],{},"They belong to the ",[264,277,278],{},"workspace",", not to one application. Somebody who uses the\nbooking system and the staff portal is one person with one password, not two\naccounts who both forget it.",[260,281,282,283,286],{},"So the list lives at ",[264,284,285],{},"Users"," in the main navigation, above every application\n— everybody who can sign in to anything you have had built, with a tick against\neach application they may open.",[260,288,289,290,293,294,298],{},"Each application also shows its own slice, under ",[264,291,292],{},"Settings › Access",", once\naccess is set to ",[295,296,297],"em",{},"People sign in",". Same people, one application's worth at a\ntime.",[269,300,302],{"id":301},"adding-somebody","Adding somebody",[260,304,305,308,309,312],{},[264,306,307],{},"Add someone"," on the Users page, by email address. A password is generated\nand ",[264,310,311],{},"shown once","; tick the applications they should be able to open.",[260,314,315],{},"Adding somebody from an application's own settings instead does the same thing\nand grants that application — and emails them the password, if the application\nhas email connected. The directory has no email of its own to send from, which\nis why that route is worth taking when there is one.",[260,317,318],{},"Somebody who already has an account in your workspace is granted the\napplication rather than given a second account, and keeps the password they\nalready had. Granting them one more application is no reason to lock them out\nof another.",[320,321,323],"note",{"type":322},"warning",[260,324,325],{},"The generated password is shown once and cannot be recovered — it is stored\nhashed. Copy it before you close the dialog, or reset it afterwards.",[269,327,329],{"id":328},"changing-who-may-open-what","Changing who may open what",[260,331,332],{},"Open somebody on the Users page and tick or untick applications. It takes\neffect at once: a person you untick cannot sign in to that application from\ntheir next attempt.",[260,334,335,336,339],{},"While ",[295,337,338],{},"one login for every application"," is on there is nothing to tick — see\nbelow.",[269,341,343],{"id":342},"resetting-a-password","Resetting a password",[260,345,346,349],{},[264,347,348],{},"Reset their password"," generates a new one and shows it once. From an\napplication's settings you can also set one directly, or have it emailed.",[260,351,352,353,356],{},"Either way the person is ",[264,354,355],{},"signed out everywhere",", which is usually the reason\nsomebody is on that screen.",[269,358,360],{"id":359},"suspending-and-removing","Suspending and removing",[260,362,363,366,367,370],{},[264,364,365],{},"Suspend them"," keeps the account and stops it working, everywhere, at once.\n",[264,368,369],{},"Let them back in"," undoes it.",[260,372,373,376],{},[264,374,375],{},"Remove from workspace"," deletes the account itself, along with every\napplication it could open. Owner-only. What the applications already stored\nabout them stays — an order does not stop having been placed.",[260,378,379,380,383,384,386],{},"Taking somebody off ",[264,381,382],{},"one"," application without touching the rest is done from\nthat application's ",[264,385,292],{},", or by unticking it on the Users\npage.",[269,388,390],{"id":389},"one-login-across-applications-or-one-per-application","One login across applications, or one per application",[260,392,393,394,396,397,400,401,404],{},"A workspace setting, at the top of the Users page and repeated in each\napplication's ",[264,395,292],{},". ",[295,398,399],{},"One login for every application"," means an\naccount works across every application in the workspace; ",[295,402,403],{},"a login per\napplication"," means access is granted per application.",[260,406,407,408,411,412,415],{},"Turning it on grants nothing retroactively and asks nobody to re-register. It\nchanges the question from ",[295,409,410],{},"is this person a member of this application"," to ",[295,413,414],{},"is\nthis person in this workspace",", so accounts that already exist simply start\nworking.",[260,417,418],{},"A session still belongs to the application it was made for, even under one\nlogin. One application's cookie is not another's.",[320,420,421],{},[260,422,423],{},"This setting is owner-only, in the workspace, and it applies to every\napplication there. It is not a per-application choice — it is shown inside an\napplication only because that is where somebody meets the consequences of it.",[320,425,426],{},[260,427,428,429,432],{},"Each workspace has its own directory. Somebody who uses applications in two of\nyour workspaces holds an account in each, on purpose: they are two different\nbusinesses' customers. See\n",[430,431,188],"a",{"href":189},".",[269,434,436],{"id":435},"custom-data-per-person","Custom data per person",[260,438,439],{},"A small map of text you keep about each person and the application can read — a\ncustomer number, a plan, a branch, a region.",[260,441,442],{},"It arrives with every session lookup, so the application can use facts it never\ncollected without keeping a second copy of your users.",[260,444,445],{},"Bounded on purpose: forty fields, five hundred characters each. This is a place\nfor a customer number, not a document store.",[260,447,448],{},"Saving replaces the whole map rather than merging it — the screen shows every\nfield at once, so a row you deleted actually goes.",[269,450,452],{"id":451},"two-step-sign-in","Two-step sign-in",[260,454,455],{},"Each person's own choice, made from inside your application rather than by you.",[457,458,459,470],"ul",{},[460,461,462,465,466,469],"li",{},[264,463,464],{},"Email codes"," and ",[264,467,468],{},"authenticator apps"," work today.",[460,471,472,465,475,478],{},[264,473,474],{},"SMS",[264,476,477],{},"passkeys"," are listed as coming rather than hidden.",[260,480,481],{},"An authenticator is not enrolled until a code from it is confirmed, so nobody\nlocks themselves out of an application they never finished setting up. Codes are\nstored hashed, work once, and are limited to a handful of attempts.",[269,483,485],{"id":484},"what-the-application-does-not-hold","What the application does not hold",[260,487,488],{},"Your application stores no password hash and writes no session logic. It renders\nits own sign-in screens, in its own design system, and asks the platform.",[260,490,491],{},"That is why authentication here is worth trusting: it is one implementation,\nkept working in one place, rather than a new one written per application.",{"title":493,"searchDepth":494,"depth":494,"links":495},"",3,[496,498,499,500,501,502,503,504,505],{"id":271,"depth":497,"text":272},2,{"id":301,"depth":497,"text":302},{"id":328,"depth":497,"text":329},{"id":342,"depth":497,"text":343},{"id":359,"depth":497,"text":360},{"id":389,"depth":497,"text":390},{"id":435,"depth":497,"text":436},{"id":451,"depth":497,"text":452},{"id":484,"depth":497,"text":485},"md",false,{},null,true,{"title":134,"description":137},"AGi3bP1rmabDJLYmUJ26c-B3LHCnMsBdu-6_hbZm94Y",[514,515],{"title":129,"path":130,"stem":131,"description":132,"children":-1},{"title":139,"path":140,"stem":141,"description":142,"children":-1},1790202296895]