Skip to main content
Financial institutions require assurance that conversational data, sender information, and transaction details remain within controlled infrastructure boundaries. Lola Send’s deployment architecture ensures all components operate within the bank’s or Leap Financial’s VPC with explicit controls over any external data flows.

VPC-contained deployment

All Lola Send services deploy within a single VPC:
  • MessageGateway — the application server receiving and processing all messages
  • Redis — state and history stores for conversation data
  • Backend APIs — PayHub, CIP services, and identity services
Internal service-to-service communication stays within the VPC boundary. No data leaves the VPC except through two explicitly controlled channels:
External flowDestinationPurpose
AI model API callsOpenAI, Google GeminiConversation reasoning and message enhancement
Channel messagesWhatsApp Business API, TelegramOutbound message delivery to senders
Both flows are outbound only. No external service initiates connections into the VPC except through the channel connector webhooks, which are authenticated.

AI model data policies

Lola Send uses a multi-model architecture. Each model provider is governed by enterprise data processing agreements with strict data controls.

Gemini on Vertex AI (GCP)

The message enhancement pipeline runs on Gemini 2.5 Flash Lite via Google Cloud Vertex AI. This is the strategic model choice for data-sensitive operations because Vertex AI provides:
  • VPC Service Controls — all inference traffic stays within the bank’s GCP project perimeter. Conversation data sent to Gemini for language detection and structured formatting never leaves the GCP VPC boundary.
  • Zero data retention — Vertex AI does not store, log, or retain any request or response data beyond the API call lifecycle. No conversation content is persisted by Google.
  • No model training on customer data — data processed through Vertex AI is never used to train or improve Google’s models. This is guaranteed by Google Cloud’s enterprise data processing terms.
  • Regional deployment — Vertex AI endpoints can be deployed in the bank’s preferred GCP region, ensuring data residency requirements are met at the infrastructure level.
  • Customer-managed encryption keys (CMEK) — the bank can use its own encryption keys for data at rest within the GCP project.

OpenAI

Agent reasoning (gpt-4o) and response refinement (gpt-4.1) use OpenAI’s API under enterprise agreements:
  • Zero-retention API — OpenAI’s enterprise API does not retain input or output data beyond the request lifecycle
  • No training on customer data — data sent via the API is not used for model training or improvement
  • Enterprise DPA — OpenAI’s Data Processing Addendum governs data handling, reviewed and approved by the bank before deployment

Model configuration and control

ModelProviderRoleData boundary
Gemini 2.5 Flash LiteGoogle Cloud (Vertex AI)Message enhancementGCP VPC with VPC Service Controls
GPT-4oOpenAIAgent reasoningEnterprise zero-retention API
GPT-4.1OpenAIResponse refinementEnterprise zero-retention API
The bank configures model selection per agent via MacawSettings and can require specific providers or models based on data governance requirements. The enhancement model is configured independently on the MessageGateway.
The bank can review the specific enterprise data processing agreements with each model provider before deployment. Vertex AI’s VPC Service Controls provide the strongest data residency guarantee — inference traffic never leaves the GCP perimeter.

Redis isolation

State and history Redis instances run within the VPC with strict isolation:
  • No external replication or backup to external storage
  • No cross-region data movement
  • Separate logical stores for conversation state (STATE_STORE_REDIS) and message history (HISTORY_STORE_REDIS), deployable on separate instances for additional isolation
  • Redis access is restricted to VPC-internal services only

No third-party data sharing

Lola Send does not share conversation data, sender information, or transaction details with any party beyond:
RecipientData sharedPurpose
AI model providersConversation context for inferenceReasoning and response generation (zero-retention)
Bank’s backend servicesTransaction data, identity queriesPayHub operations, CIP verification
Channel providerOutbound messagesMessage delivery to sender (WhatsApp/Telegram)
No analytics providers, advertising networks, data brokers, or other third parties receive any data from Lola Send.

Observability controls

LangSmith tracing for debugging and monitoring is fully configurable:
  • Enable with bank-approved endpoints — point tracing to the bank’s own LangSmith instance or approved endpoint
  • Run within bank infrastructure — tracing can be configured to stay within the bank’s observability stack
  • Disable entirely — set LANGCHAIN_TRACING_V2 to false in the environment configuration to turn off all external tracing
The bank controls what telemetry data is collected, where it is sent, and whether it is enabled at all.

Secret management

Doppler manages all production secrets with strict controls:
  • Runtime injection — secrets are injected into containers at startup, not baked into images
  • Zero hardcoded credentials — no secrets in source code, container images, or environment files
  • CI/CD isolation — GitHub Actions deploys via Doppler tokens; secrets never appear in CI/CD logs or build artifacts
  • Audit trail — Doppler provides access logs for secret retrieval and rotation events

Container security

Docker images are built with a minimal, hardened configuration:
ControlImplementation
Minimal base imagepython:3.12-slim — multi-stage builds discard build tools
Non-root executionDedicated appuser group and user; USER appuser directive enforced
Single ingressPort 5005 — sole entry point through MessageGateway
No persistent storageApplication layer is stateless; containers are disposable
The bank can audit every external data flow from Lola Send’s deployment. The architecture is designed so that data residency requirements can be verified by examining the VPC configuration, model provider agreements, and channel provider contracts — no hidden data flows exist.