Permit applications and city forms, online in minutes.
What changes when your forms go online
Try it as a resident
Fill in Demo City's permit application and press Submit document: it's exactly what your residents get, no account needed. Demo City is fictional, so use sample data.
How it works
Publish the form
Upload the PDF your residents already know. Share it as a link on your website, or embed it in your resident portal.
Residents fill and sign
They open the form in any browser, on desktop or mobile. No software to install and no account to create.
Get it back, ready to file
Every completed form lands in your dashboard and your team gets an email. Download it or export it to Excel.
Government forms you can move online
Tax and revenue forms
Residents and contractors complete W-9s, local tax returns, and exemption requests online. Your team receives a finished PDF instead of an envelope to open and re-key.
Inspections and code compliance
Inspectors and property owners complete inspection checklists and compliance certificates on site, and each signed report lands in your dashboard with a timestamp.
Benefits and social services applications
Residents apply for food assistance, housing, and other benefits from their phone. Required fields catch missing answers before the application reaches a caseworker.
Permits and licensing
Businesses and residents submit permit applications and license renewals online. Each signed application arrives in your dashboard and notifies your permitting system by webhook.
Internal agency forms
Staff complete travel authorizations, expense reports, and HR forms in the browser, with no desktop PDF software to license or install.
Public records requests (FOIA)
Residents file FOIA and public records requests through one link. Every request lands in your dashboard with a timestamp, ready to log and route.
Is SimplePDF right for your office?
Strong fit if you answer yes to most of these:
- Residents or businesses still print, sign, and mail or email PDF forms back to you.
- Staff retype answers from submitted forms into another system.
- Completed forms must stay in storage your agency controls.
- You want each submission to notify a case, permitting, or records system automatically.
- You run a resident portal or govtech product and want forms inside it, not on a third-party site.
What this costs
Collect forms with email alerts: Basic, $99/month.
Your own storage (S3 or Azure Blob Storage) and your branding: Pro, $349/month.
Add SharePoint and API access: Premium, $899/month.
Privacy-first by design
While a form is filled in, Social Security numbers, tax information, and personal details stay on the person's device and are never sent to SimplePDF. When they submit, with Bring Your Own Storage (S3, Azure Blob Storage, and SharePoint) the completed file goes straight to your own storage, instead of ours.
What we do
- Editing happens on the device, never on our servers
- On submit, files can go straight to your own storage
- Bring Your Own Storage (S3, Azure Blob Storage, and SharePoint)
What this means for your agency
- Resident data stays on the device while the form is filled in; with Bring Your Own Storage, submissions land in storage you control
- With Bring Your Own Storage, completed forms go to your storage, not a vendor's: SimplePDF keeps submission metadata, plus a submission name only if you turn that option on
- Full control over where documents are stored
For govtech platforms and resident portals
Embed SimplePDF in your resident portal or case management product. Residents fill and sign PDFs without leaving your site, and submissions reach your backend through webhooks.
- Embed with an iframe, a script tag, or the SDK in any web application
- White-label the editor with your agency's branding
- Webhooks to route completed forms to your case, permitting, or records system
import { EmbedPDF } from '@simplepdf/react-embed-pdf';
export function Document() {
return (
<EmbedPDF
mode="inline"
style={{ width: 900, height: 800 }}
companyIdentifier="demo-government"
document={{ url: 'https://cdn.simplepdf.com/simple-pdf/assets/forms/fw9.pdf' }}
/>
);
}// <div id="editor" style="height: 100vh"></div>
import { createEmbed } from '@simplepdf/embed';
const embed = createEmbed({
// a CSS selector, or the HTMLElement itself
target: '#editor',
companyIdentifier: 'demo-government',
document: { url: 'https://cdn.simplepdf.com/simple-pdf/assets/forms/fw9.pdf' },
});<!-- every link to a PDF on the page opens in your editor -->
<script
src="https://unpkg.com/@simplepdf/web-embed-pdf"
companyIdentifier="demo-government"
defer
></script>
<a href="https://cdn.simplepdf.com/simple-pdf/assets/forms/fw9.pdf">
Fill the W-9
</a><!-- your branded editor, no JavaScript needed -->
<iframe
src="https://demo-government.simplepdf.com/editor?open=https://cdn.simplepdf.com/simple-pdf/assets/forms/fw9.pdf"
width="100%"
height="800"
frameborder="0"
></iframe>// expose the live editor as client-side tools
import { useEmbedTools } from '@simplepdf/react-embed-pdf/ai-sdk';
const tools = useEmbedTools(embedRef);
// the model's tool calls execute against the open document
// live example: the model driving the open editor at https://copilot.simplepdf.com