Security
AI-generated code may contain exposed secrets, insecure API calls, unvalidated inputs, or unsafe dependencies. A single insecure application can become an entry point that exposes company data or disrupts operations.
Information Technology · Version 1.0 · 2026
The Citizen Developer Program empowers TDIndustries Partners to use AI to build their own productivity tools, automations, and lightweight applications — with the guardrails, reviews, and infrastructure that keep the company secure.
Citizen Development is when a TDIndustries Partner — without a formal software engineering background — uses AI tools like Claude or GitHub Copilot to generate real, working applications.
AI makes it faster than ever to build something useful. But speed of generation does not eliminate the risks of running software in an enterprise environment. The Citizen Developer Program is the set of rules, processes, and support structures that make citizen-built apps sustainable, secure, and maintainable.
Who this applies to: any TDIndustries employee using AI to generate application code that is intended to be deployed, shared with others, or connected to company systems or data.
AI-generated code can look right and still be unsafe. These are the risks the program actively manages.
AI-generated code may contain exposed secrets, insecure API calls, unvalidated inputs, or unsafe dependencies. A single insecure application can become an entry point that exposes company data or disrupts operations.
Apps must enforce least privilege. Users should only see and do what they are authorized to. Without deliberate authentication and authorization design, citizen-built apps often grant unintended access.
Apps built without structure become impossible to support over time. When the original creator moves on, a poorly organized codebase becomes a liability. Code must be modular, documented, and organized so others can understand it.
Apps that read or write company data must be verified not to corrupt records, create duplicates, or interfere with other systems. Data written to unsupported locations like browser local storage creates loss and audit gaps.
Every citizen-built application moves through the same intake path. The phases exist so quality and safety are checked at the right moments — not at the end.
Use the TD Software Development Skill, test thoroughly, and prepare for review.
Security, secrets, data storage, and authentication are reviewed before deployment. Product Team also reviews the project and must approve it as an application that should exist inside TD — confirming it fits company direction and isn’t duplicating something we already have.
You submit your finished app to Runway and an admin approves it; Runway then creates the GitHub repo under TDICitizenDev, wires up hosting and sign-in, and deploys it. GitHub is a platform that stores and tracks all code changes, acting as the central hub where the app's history lives and updates are reviewed before going live.
All future changes go through Application Development review and Change Management.
You keep ownership. IT supports infrastructure, security incidents, and retirement.
Citizen Development is intended for simple tools, automations, and lightweight applications that support individual or small team productivity. When a solution grows in complexity — such as requiring custom APIs, database architecture, multi-system integrations, user authentication, or broad organizational impact — it should first be reviewed with the Product Team to assess scope and fit. From there, the Product Team will help determine whether the solution should be transitioned to Application Development to ensure proper governance, security, and scalability.
The five things every citizen developer needs to actually execute on.
IT publishes a TD Software Development Skill (a set of instructions that can be loaded into Claude Code or GitHub Copilot). It encodes the project structure, code patterns, and guardrails that have already been approved for TDIndustries.
/build-fullstack-app to create a new application, or load
td-industries-style-guide when reviewing UI work.Tip: if a Skill instruction conflicts with what the AI wants to do, the Skill wins. That alignment is the whole point.
Before anything goes to review, you have to prove the app actually works — not just that it runs. AI will happily generate code that looks right and behaves wrong. Testing is how you catch that gap before reviewers (or users) do.
Before you submit for review, have another person run the app locally and try it out. You have been staring at this thing for hours — you will skip past the broken parts without seeing them. Someone who has never touched it will click the wrong button, type the wrong thing, and ask the questions a real user would ask. That is exactly what you want to catch before deployment, not after.
Tip: if you can’t describe how you tested it, you haven’t tested it. Write a short test summary in your PR description — reviewers use it to scope their review.
Before you deploy, Product Team must confirm your application fits the company’s product direction and is not duplicating something that already exists.
You can deploy without Product Team signoff — but security must be in place to restrict access to that small group. If the user base later grows past 5, you must come back for Product Team approval.
Product Team signoff is required before deployment. Bring a clear description of the app’s purpose, who uses it today, and the business value.
Any application, tool, or solution you build as part of your work here — including all underlying code, data, and documentation — is the intellectual property of TD Industries. This applies regardless of whether it was built during work hours, using company resources, or in support of a business need.
The AI App Review group reviews both the initial submission and every submission of updated code after deployment. They focus on safety — not aesthetics.
Code style and visual conventions. That is on you and the Skill.
Once your app is live, every change must go through a Pull Request. A Pull Request (PR) is a formal way to propose code changes — it creates a record of what changed, why, and who approved it before the update goes live. Direct pushes to
main are not permitted. Make small, frequent PRs — they review faster
and catch issues earlier.
Your first deployment is self-service through Runway, TD’s deployment portal. When your app runs locally and is ready to share, you upload it — no IT ticket to create the repo, and no terminal required.
my-app/ folder in, add a name and description, and check the database box if you need one
Every later change ships through a Pull Request into that repo — AI App Review and
Change Management approve it, then merging to main redeploys automatically.
Before any deployment to the cloud environment — the first Runway approval or any ongoing change — the IT Change Management committee must approve the release.
Required: your app must run locally without a hosted environment. That is how you validate changes before they ever ship.
After deployment, you keep ownership, assuming that Product does not require the application to be transfered to the Application Development group. The program is built around the idea that the person closest to the problem is the best person to keep evolving the solution.
If you outgrow the AI: when an app has clear business value and you have hit the limits of what AI assistance can do, Application Development may take it into the formal development backlog. Submit through the Product Team intake process with manager approval.
Builds the app, follows the Skill, tests it, submits for review, maintains it after deployment, and submits all changes via Pull Request (PR) assuming that the development of the application is not transferred to Application Development.
Reviews submissions and Pull Requests (PR) for security, secrets, data storage, and authentication. Approves or rejects Pull Requests (PR) in writing. Escalates security incidents.
Publishes the Software Development Skill. Manages deployment infrastructure. Helps with data integrations, authentication and authorization, and modularization. Owns security incident response.
Approves the request to apply for review and validates business need. Approves requests for Application Development resources.
Approves every deployment to the cloud / production environment.
Hitting the limits of what AI alone can do is expected. These are the most common areas where IT helps citizen developers cross the gap.
Connecting to a real database, API, SharePoint list, or internal REST endpoint. AI-generated code often uses mock data — we replace it with live connections that respect authentication and data governance.
Implementing SSO via Microsoft Entra ID, role-based authorization, and secure API communication. Required before an app is production-ready.
Restructuring AI-generated code into maintainable modules and components. Monolithic single-file apps are hard to debug, update, and hand off — Application Development can help refactor.
Contact the TDIndustries IT team through the standard IT service desk, or reach out directly to the AI App Review group via Microsoft Teams.