Skip to content

Architecture

42Forms is a Snowflake Native Application that runs entirely within the consumer’s Snowflake account using Snowpark Container Services (SPCS).

ComponentTechnologyPurpose
APIFastAPI (Python)Backend business logic, data access, LLM orchestration
WebReact + TypeScriptFrontend form builder, submission viewer, admin UI
DatabaseSnowflake Hybrid TablesApplication data storage (in consumer’s account)
AISnowflake CortexForm generation, field mapping, chat assistant
ComputeSPCS Container ServiceHosts API + Web containers

42Forms uses three types of Snowflake connections:

  1. Service Connection: the app’s own role, used for ORM queries against Hybrid Tables
  2. Caller Connection: the logged-in user’s identity via RCR, used for querying consumer data
  3. Cortex Connection: separate session for Snowflake Cortex LLM calls

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.