Architecture View • Application Security

Security Architecture

An engineering view of how the AI Business Assistant & CRM separates public customer interactions from protected administrative operations.

The architecture combines authentication, role-based authorization, password hashing, session management, and application-controlled access to business data and external services.

Security Flow

The application exposes both public-facing customer functionality and protected administrative functionality. Authentication and authorization requirements depend on the requested operation.

Incoming Request Customer Interaction or Administrative Action
↓
FastAPI Application Request Routing • Input Validation
↓
Public Customer Routes Conversational Requests • Lead Capture
Protected Admin Routes Login • Session Checks • Role Authorization
↓
Application Business Logic Workflow Rules • Database Operations • Authorized Actions
↓
PostgreSQL Data Layer Clients • Leads • Appointments • Conversations • SMS History
External Service Integrations OpenAI API • Twilio SMS • Service Credentials
↓
Response Handling Application-Controlled Results • Error Handling

This diagram illustrates logical security boundaries rather than a complete network security topology or formal threat model.

Security Layers

01 — Authentication

Administrative users authenticate before accessing protected CRM functionality. The application maintains an admin_users table and uses password hashing based on passlib and bcrypt.

02 — Authorization

Role-based authorization helpers enforce access requirements on protected routes. Administrative permissions are evaluated by application code rather than delegated to the AI service.

03 — Session Management

Cookie-based sessions support authenticated access to administrative pages. Protected endpoints check the user's session and required role.

04 — Data Access Boundaries

PostgreSQL stores client, lead, appointment, chat, and SMS records. Application routes and authorization checks control access to protected administrative operations.

05 — External Credentials

The backend integrates with OpenAI and Twilio using service credentials. Keeping credentials out of frontend code and protecting configuration values are essential security requirements.

06 — Auditability

Business records and communication history support operational visibility. Dedicated security audit logging for administrative actions remains a future enhancement.

Engineering Principles

Security by Design

Authentication, authorization, and data access responsibilities should be considered throughout application development, not only at deployment.

Least Privilege

Administrative users and external service integrations should receive only the permissions required for their responsibilities.

Separation of Duties

Authentication, authorization, database access, and external API integration remain distinct application responsibilities.

Responsible AI Integration

AI-generated responses do not establish user permissions or override application business rules. Sensitive operations remain under backend control.

Security Boundaries & Limitations

The implemented authentication and role-based access controls provide a foundation for protecting administrative workflows. They should not be interpreted as proof that every production security requirement has been completed.

A production security review should verify session cookie settings, HTTPS enforcement, cross-site request forgery protections, input validation, database access controls, secret handling, and dependency updates.

Public-facing endpoints require particular attention to abuse prevention, request limits, privacy, and protection against untrusted user input.

AI-related security considerations include prompt injection, unnecessary disclosure of customer information, and ensuring generated content cannot bypass application authorization.

Architectural Philosophy

Security is not a feature added to software. It is a responsibility built into every layer of the architecture.
Trustworthy systems are designed so that access, data, and decisions remain protected as the platform evolves.

Future Evolution

The following controls represent future production-hardening objectives and architectural options.

Audit Logging MFA Managed Secrets API Gateway Rate Limiting AI Safety Controls Zero Trust Principles

These enhancements should be prioritized according to deployment requirements, application risks, and actual business needs. They are not presented as already implemented.

Continue Exploring