AI Adoption GuideGovernmentAuthorize
Condition generator for approvals
LLM drafts tailored approval conditions based on applicant risk profile, applicable regulations, and precedent cases from similar authorizations.
Government processPlanFundAuthorizeDeliverInspectEnforceReportClose
By Don, DoneThat’s AI coach · updated
A draft condition is only usable with a cite
A condition generator is useful when every proposed line cites a regulation or a named precedent file. A line with no support stays blank. The officer checks the same sources, then issues or refuses.
The officer still issues the approval. The generator does not create a legal instrument, does not bind the applicant, and does not close the file. If the model cannot ground a condition in the loaded statute or in a similar authorization of the same permit type, it must leave that slot empty rather than invent language that sounds like your shop's house style.
Treat the output as a working list of candidate conditions, each with a citation field. A line that reads well but cites nothing is not a draft. It is a prompt for you to either find the source or delete the line.
Risk on the application is an input to which conditions to consider, not a license to write new ones. Pair this page with risk scoring for high-impact cases when you need a consistent view of impact before you open the condition list. Completeness of the packet is a prior gate: if required exhibits are missing, stop and use the application completeness checker instead of asking a model to condition around a hole in the file.
Draft with cites, or leave the line empty
Run the generator only after those three loads are in place. Ask for a numbered list of candidate conditions. Each item must carry either a regulation cite (title, section, and the clause that authorizes the requirement) or a precedent file identifier (the prior authorization number and the condition number copied from that file). If neither is available, the item must be empty.
Empty is a valid result. An empty line means nothing in the statute as loaded, and nothing in the matching files, supports this requirement. Do not backfill with best practice, typical of this use, or language from a different permit type.
Work the list the way you work a staff report. For each non-empty line, open the cited section or the cited file and confirm the condition is actually authorized and actually fits this applicant. If the cite is right but the wording overreaches, edit the wording down. If the cite is wrong, delete the line. If the line is empty and you believe a condition is still required, that is an officer judgment you must make from the code yourself. Do not ask the model to invent the missing authority.
Tailoring is allowed inside the four corners of the cite. If the fire-prevention article requires a setback measured from the tank shell to the property line, the draft may insert the distance from this site plan. If the article is silent on landscaping bonds, the draft must not add one because a commercial building permit in the same folder used a bond. Keep applicant-specific facts in the condition only when they come from the loaded file or from the cited rule. If the model invents an inspection schedule that neither source requires, strike it even if the schedule would be convenient to enforce later.
Three failure modes that look like finished work
A condition with no cite. The sentence may match your office voice and may even be something you have imposed before. Without a pointer to the rule or to a same-type file, you cannot tell whether the model recalled a real requirement or assembled a plausible one. Reject the line. Either attach the source and re-check, or drop it.
Treating the draft as issued. A generated list in a Word document, an Accela or Tyler comment field, or a Teams thread is still a draft. The approval exists only when you, or the official with sign-off authority, issue it in the system of record under your procedures. Do not send the generator output to the applicant as the decision.
Copying a condition from a different permit type. This is the failure that most often survives a quick read because the text is real. It came from a real file. It is just the wrong file. Same-queue is not same-type. Overlay districts, fire articles, liquor-control conditions, and stormwater notes do not travel together because they shared a street address or a hearing date.
One working illustration: you are reviewing a special-use authorization for an above-ground fuel tank. The generator proposes a building setback as previously required on this corridor, citing a warehouse site-plan file. That warehouse condition came from a zoning overlay that does not apply to fuel storage. The usable path is to load the fire-prevention article that governs tank placement, the applicant's site plan, and prior fuel-tank authorizations of the same class. If that article requires a measured clearance from the tank to the lot line, draft that condition with the article cite and the measurement taken from this plan. If a prior fuel-tank file imposed leak-detection monitoring under the same article, you may draft a monitoring condition that cites both the article and that file. If neither the article nor those matching files mention a landscaping performance bond, leave that line blank. You still decide whether to issue, issue with the grounded conditions, or refuse. When you catch a cross-type copy, delete it and return to the three loads. Editing a warehouse overlay condition until it mentions a tank still leaves you with overlay authority that does not apply.
Issue the instrument yourself
After you have kept only cited conditions, edited wording to this applicant, and left unsupported slots empty, issue the approval in the ordinary way. Sign, number, and record it as you would a staff-written instrument. The generator's job ended when it produced a checkable list.
Keep the citation trail with the issued conditions so a later inspector or a later officer can see why each line exists. That trail is also what you will need if the file later supports an enforcement notice drafter: a notice that restates a condition with no recorded source is harder to defend than a notice that points back to the same section or precedent file you used at authorization.
Do not treat vendor labels as a substitute for this workflow. Accela and Tyler hold cases. Westlaw holds law. Microsoft tools hold drafts. None of them issue the authorization for you, and none of them make an uncited sentence into a lawful condition.
If the model returns a full-looking set and several lines have empty cites, that is a successful run on quality terms: it refused to invent. Fill from the code yourself where you have authority, or issue without those lines. An issued approval with fewer, grounded conditions is the outcome this page is for. An issued approval stuffed with uncited extras is not.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first