Last Updated: September 15, 2026
Important scope note: this is an implementation overview, not a security certification, penetration-test report, legal commitment, or guarantee of absolute security. It describes the controls currently built into the product and should be reviewed as the architecture changes.
1. Security Approach
InspectAI is designed around a simple operating principle: customer requests should reach only the Expert workspace that owns them, Experts should review estimates before customers see them, and sensitive service credentials should remain on the server. Authenticated workspace access, tenant-scoped server procedures, structured validation, managed storage references, tokenized customer portals, and provider-specific integrations support that model.
No software system can eliminate every security risk. Experts should use strong account credentials, limit workspace access to authorized staff, confirm recipient addresses before sending an estimate, and avoid uploading information that is unnecessary for the service request.
2. Current Technical Architecture
| Layer | Current implementation |
|---|---|
| Application | React client application with an Express and tRPC service layer. Public pages, Expert workspace routes, and customer-token routes have distinct access paths. |
| Identity | Managed authentication for Expert workspace sessions, with server-side session validation before protected tenant procedures run. |
| Tenant data | A managed relational data model with tenant-scoped queries and ownership checks applied in workspace operations, so one Expert workspace cannot query another tenant's records. |
| Files | Managed object storage holds uploaded image files. The application stores references and uses managed or signed access patterns rather than placing raw image bytes in the database. |
| Visual estimation | A server-side, structured-output workflow can use configured vision services with controlled fallback behavior. Service errors move to the next configured option without bypassing Expert review. |
| Communications | Managed transactional and billing services deliver estimate, appointment, counter-offer, secure-message, Checkout, and billing-portal experiences. |
3. Access Boundaries and Tenant Separation
Expert workspace access
Experts sign in through the configured managed authentication flow. Protected backend procedures validate the authenticated session and resolve the corresponding tenant before performing workspace actions. Customer records, visual leads, catalogs, appointment settings, messages, and subscription state are associated with a tenant record; the server uses that tenant association as part of authorization checks.
Customer-facing access
Customers do not receive Expert workspace access. Instead, they use purpose-specific widget links and customer portal links. Estimate and message portals are tied to unique tokens for the relevant lead. Those tokens should be treated as private links: Experts should share them only with the intended customer and should not place them in public pages or broad mailing lists.
Expert-controlled estimate release
A completed visual-analysis result is not automatically displayed to the customer. The lead begins as Awaiting review. Only an Expert action changes the lifecycle to Estimate sent and enables the customer estimate view. This workflow is both an operational control and an important safeguard against sending an unreviewed visual result.
4. Data Handling and Storage
InspectAI processes business account information, customer contact and property information, uploaded photos, optional request descriptions, price rules, catalog entries, visual estimates, messages, requested service windows, appointment records, and transaction-related status. The operational database retains structured records. Uploaded images are handled through managed object storage, with file references stored alongside the related lead instead of storing the image bytes directly in the database.
The public intake flow validates image type and accepts up to four photos, 10 MB per photo. Address, contact, scheduling, and customer fields are validated before server-side persistence. Older customer records may have blank address fields; the CRM supports those legacy records while validating a value when one is provided.
5. Visual Estimation Safeguards
The visual-estimation service uses a strict JSON contract for the identified issue, confidence score, labor estimate, required parts, conditional total, and customer message. The server parses and validates service output before a quote is persisted. Outputs outside the permitted shape are rejected rather than shown as if they were a valid estimate.
The system instructs configured vision services to assess visible evidence only, express uncertainty, and request a clearer image when the photo is insufficient. It does not position an automated visual estimate as an inspection, diagnosis, safety assessment, code-compliance determination, or binding quote. A configured service failure, timeout, authentication problem, or rate limit can move the request through the next configured service, but an Expert review remains required before delivery.
6. Secure Communications and Scheduling
InspectAI sends transactional notifications for estimates, appointments, counter-offers, and secure message activity through managed communications infrastructure. Email is a notification channel; customer actions are routed back to a relevant secure portal whenever possible. Appointment confirmation includes calendar-event details so the customer can retain the confirmed window.
The Expert scheduling workspace separates confirmed capacity from pending customer requests. It supports availability rules, slot selection, counter-offers, confirmed appointments, and customer conversation threads. The active workspace refreshes relevant appointment and message data on a short polling interval while the screen is open, rather than keeping a permanently open browser connection.
7. Billing and Plan Controls
Subscription Checkout and billing management are handled through a managed payment service. InspectAI does not store card numbers or payment-method details in its application database. New workspaces begin on the free Starter plan; a seven-day no-card Pro trial can be started from the workspace Billing page, and if no payment method is added before the trial ends, the subscription cancels without a charge and the workspace returns to Starter. Signed billing events update tenant subscription state after applicable billing events.
Plan limits are enforced server-side: monthly caps on estimate requests and AI-assisted estimates, the one-seat limit on Starter, “Powered by InspectAI” branding on Starter widget and portal surfaces, and the monthly AI-estimate allowance on Pro. When an AI allowance is exhausted, the lead is preserved for manual Expert review rather than discarded.
8. Security Controls at a Glance
Expert review gate
New visual requests begin in an awaiting-review state. The customer estimate portal does not reveal a quote until an Expert explicitly approves and sends it.
Schema validation
Server-side validation constrains public input, image metadata, customer fields, scheduling windows, and the exact six-field visual-quote response shape.
Scoped access
Protected workspace procedures identify the current authenticated user and resolve the tenant before reading or changing tenant-owned leads, customers, catalog records, appointments, and messages.
Tokenized customer links
Customer estimate and message portals use high-entropy, per-record tokens rather than exposing a general workspace session to the customer.
Managed secrets
Integration credentials are supplied to the server through managed environment configuration. Client code does not contain payment secrets, communications credentials, or vision-service credentials.
Operational guardrails
The estimate flow rejects unusable images, validates strict structured output, limits image size and file type, and falls back across configured providers when an upstream service is unavailable.
Plan enforcement
Starter and Pro usage caps, seat limits, and widget branding rules are checked server-side on intake, estimate generation, and user management, so a plan's limits apply regardless of the client used.
9. Shared Responsibilities and Limitations
InspectAI's controls work best when Experts use the service carefully. Keep workspace access limited to staff who need it, avoid using shared logins, protect customer portal links, verify pricing and scope before sending, and update service availability when business hours change. Experts remain responsible for their own customer notices, legal obligations, field safety practices, licensing, pricing decisions, and work performed.
Security measures reduce risk but do not guarantee that data transmission, storage, customer email, third-party providers, browser sessions, or user-supplied devices are free from all loss, misuse, or compromise. Review the Privacy Policy and Terms of Service for the related operating terms. Report an account or security concern to support@automatingdna.com.