Architecture
42Forms is a Snowflake Native Application that runs entirely within the consumer’s Snowflake account using Snowpark Container Services (SPCS).
Components
Section titled “Components”| Component | Technology | Purpose |
|---|---|---|
| API | FastAPI (Python) | Backend business logic, data access, LLM orchestration |
| Web | React + TypeScript | Frontend form builder, submission viewer, admin UI |
| Database | Snowflake Hybrid Tables | Application data storage (in consumer’s account) |
| AI | Snowflake Cortex | Form generation, field mapping, chat assistant |
| Compute | SPCS Container Service | Hosts API + Web containers |
Connection Types
Section titled “Connection Types”42Forms uses three types of Snowflake connections:
- Service Connection: the app’s own role, used for ORM queries against Hybrid Tables
- Caller Connection: the logged-in user’s identity via RCR, used for querying consumer data
- Cortex Connection: separate session for Snowflake Cortex LLM calls
Data Flow
Section titled “Data Flow”All application data (projects, submissions, audit logs) is stored in Snowflake Hybrid Tables within the FORTY_TWO_FORMS_DB.APP_DATA schema. This schema exists in the consumer’s account - 42Forms has no access to it outside the SPCS runtime.
Consumer data (the tables being managed) is queried via the caller connection, ensuring row access policies and column masking are enforced per-user.