Document intake
How files reach PermitOS, what metadata is stored, and what happens when document extraction is not configured.
Last updated 2026-05-11
Storage
Uploads go to the private permit-documents bucket. Each object path is namespaced by organization_id and project_id.
Metadata
Each document row stores filename, size, mime_type, category (e.g. application_form, site_plan, floor_plan, elevations, owner_authorization), uploaded_by, and extraction_status.
Extraction status
pending, processing, succeeded, failed, not_configured. When the extraction engine is not configured, all new uploads land in not_configured. Document analysis is not faked: PermitOS shows ‘Document extraction not configured. File metadata and checklist matching are available.’
Checklist matching
Required document categories per project type are matched against uploaded categories. Missing categories drive precheck issues without needing document content.
Related docs
PermitOS concepts
Glossary of the entities PermitOS works with: projects, packets, documents, prechecks, issues, scores, corrections, zoning checks, and activity.
Rules-only Permit Precheck
Deterministic readiness check that runs against project fields and uploaded document categories. No AI required.