velaro.

AI Solution - Data Flow Architecture

How Velaro’s AI orchestration layer interacts with NetSuite and external AI providers · All credentials server-side only

1

AI Data Flow Diagram

All AI components · NetSuite credentials never sent to LLMs, client browsers, or MCP servers · Server-to-server only

End User Layer
Visitor Engagement
Inbound channels
  • Live Chat (web widget)
  • SMS · IVR · WhatsApp
  • Facebook Messenger
Agent / Admin
Platform users
  • Agent Workspace
  • Admin Portal
  • Entra CIAM authenticated
HTTPS / TLS 1.2+
Network Perimeter
Azure Front Door
  • Global load balancing
  • DDoS Protection L3/L4/L7
  • TLS 1.2+ termination
  • GeoFiltering
Azure WAF
  • OWASP Core Rule Set 3.2
  • Bot protection
  • Custom rate-limiting
  • IP reputation filtering
Filtered traffic
Velaro Platform
AI Orchestration runs entirely within Velaro / Azure infrastructure - Azure App Service
Admin Portal
  • AI configuration management
  • Workflow Builder
  • NetSuite integration config
  • MCP server management
  • Azure Cognitive Search index
Agent Workspace
  • Inbound conversations
  • Workflow node execution
  • Conversation Engine host
  • NetSuite informational pane
  • Agent-initiated direct REST calls
AI Orchestration Layer
①
Conversation Engine
Assembles system prompt + conversation history + tool definitions. No NetSuite credentials at this stage.
②
LLM Provider API Call
Sends payload to selected LLM. LLM returns tool_use intent - not a direct NetSuite call.
③a
PRODUCTION
Built-in AI Skills (IWorkflowSkill)
production skills including: netsuite_search_customer, netsuite_get_customer, netsuite_get_customer_contacts, netsuite_get_customer_balance, netsuite_get_open_invoices, netsuite_get_invoice, netsuite_get_payment_history, netsuite_get_credit_memo, netsuite_get_credit_memos, netsuite_search_orders, netsuite_get_order, netsuite_get_order_history, netsuite_cancel_order, netsuite_add_order_note, netsuite_create_rma, netsuite_get_rma, netsuite_create_case, netsuite_get_cases, netsuite_add_case_note, netsuite_update_case, netsuite_get_opportunity, netsuite_search_opportunities, netsuite_create_quote, netsuite_search_items, netsuite_check_stock, netsuite_get_item_pricing, netsuite_get_subsidiaries, netsuite_update_customer, netsuite_update_record, netsuite_get_record, netsuite_create_record, netsuite_restlet, netsuite_search, and 13 more. OAuth signing server-side - credentials never leave backend.
③b
PRODUCTION
MCP Tool Server
Velaro-hosted HTTP · JSON-RPC 2.0. OAuth credentials stay server-side - MCP server receives only tool arguments and conversation context, never tokens.
④
Result - LLM Formulates Reply
NetSuite tool results returned to the LLM. It composes a natural language response to the visitor or agent. No raw credentials appear in the response or logs.
Azure Cognitive Search - RAG / Knowledge Base
Vector index of customer-provided docs · Queried server-side · Results injected into LLM context only
Optional
External AI Providers
AI Providers
Selected per customer config
  • Azure OpenAI Service
  • OpenAI (api.openai.com)
  • Anthropic (Claude)
  • Google Gemini
Data to LLMs:
✓ Sent:
System promptConversation historyTool definitionsTool results
✗ Never sent:
OAuth credentialsOther tenant dataInfrastructure secrets
External Data Source
NetSuite
Customer’s own instance - Velaro never hosts NS data
Authentication
  • OAuth 1.0a (HMAC-SHA256)
  • Consumer Key + Consumer Secret
  • Access Token + Token Secret
  • Credentials encrypted in Azure SQL (TDE)
API Path 1 - SuiteTalk REST
  • Standard record CRUD
  • SuiteQL queries
API Path 2 - Custom RESTlet
  • SuiteScript in customer account
  • Field metadata & dropdown lists
  • Multi-item operations
Records Accessed
  • Customers · Leads · Contacts
  • Cases · Orders · Invoices
  • Opportunities · Quotes · RMAs
Data source only. All API calls server-to-server exclusively by Velaro backend. Never initiated by client browsers, chat widgets, end users, or LLM providers. OAuth tokens never leave the server.
3

Omnichannel Delivery - Same Data, Every Channel

NetSuite data surfaces through every channel Velaro supports. The AI bot runs the same skills regardless of which channel the customer contacts you on.

Web Chat
  • Widget on any page
  • Real-time order lookup
  • Invoice payment links
SMS / Text
  • Twilio inbound texts
  • Order status replies
  • RMA confirmations
WhatsApp
  • Rich message cards
  • Invoice PDFs
  • Case updates
IVR / Voice
  • Caller account lookup
  • Balance by phone
  • Case creation by voice
Facebook Messenger
  • Order tracking
  • Product availability
  • Support case filing
Instagram DM
  • Product queries
  • Inventory check
  • Return initiation
Apple Messages
  • Native Apple Pay
  • Invoice settlement
  • Rich card replies
Email (Inbound)
  • Ticket auto-create in NS
  • Order confirmation lookup
  • Auto-reply with data
Example - same bot, different channel
SMS: Customer texts "where is my order" - bot calls netsuite_search_orders - replies "Order #4821 ships Thursday via FedEx, tracking 1Z999..."
IVR: Caller says "check my balance" - bot calls netsuite_get_customer_balance - speaks "Your current balance is $1,240 with 2 invoices due this week."
Security Controls Summary
Data Protection
  • TLS 1.2+ for all data in transit
  • AES-256 at rest (Azure SQL TDE)
  • OAuth credentials encrypted in Azure SQL
  • LLM API keys in Azure App Settings (platform-encrypted)
  • Infrastructure secrets in Azure Key Vault
Authentication & Access
  • Entra External ID (CIAM) for user auth
  • MFA support for platform users
  • OAuth 1.0a (HMAC-SHA256) for NetSuite
  • Azure AD RBAC for platform resources
  • Per-tenant data isolation enforced
  • Per-site AI configurations
Isolation & Observability
  • No cross-tenant data sharing
  • Server-side credential isolation - tokens never reach clients, LLMs, or MCP servers
  • All NetSuite calls server-to-server only
  • Integration Activity Log (per-integration audit trail)
  • Azure Monitor + Application Insights
  • Loggly centralized logging
© Velaro, Inc.
Diagram 1 of 2 - AI Data Flow Architecture
Confidential - Security Architecture
velaro.

Security Architecture

Infrastructure layers, network perimeter, credential isolation, and how Velaro compares to middleware integration approaches

2

Security Architecture & Middleware Comparison

Network perimeter · App layer · Credential isolation · Outbound-only external services · vs. Zapier/Make/Power Automate

Public Internet
End Users
  • Chat widget visitors
  • SMS / IVR callers
  • WhatsApp / Messenger
Agents & Admins
  • Browser-based console
  • Desktop application
HTTPS - TLS 1.2+
Network Perimeter
Azure Front Door
  • Global load balancing
  • DDoS L3/L4/L7
  • TLS 1.2+ termination
  • Real IP header (X-Azure-ClientIP)
  • Geo-filtering rules
Azure WAF
  • OWASP Core Rule Set 3.2
  • Bot protection
  • Custom rate-limiting
  • IP reputation filtering
  • SQL injection / XSS prevention
Filtered, authenticated traffic
Application Layer - Azure App Service
Velaro API - Security Headers & Credential Isolation
  • HSTS enforced
  • X-Content-Type-Options: nosniff
  • CORS restricted to allow-listed origins
  • Per-site data filtering
  • Server-side OAuth signing - tokens never reach client
  • All NetSuite calls server-to-server only
Entra External ID (CIAM)
  • User authentication
  • MFA support
  • Per-tenant isolation
  • Token-based sessions
Azure SQL Database
  • TDE - AES-256 at rest
  • OAuth credentials encrypted
  • Per-tenant row isolation
  • Automated backups
Azure Key Vault
  • Infrastructure secrets
  • Certificate management
  • RBAC-controlled access
Azure App Settings
  • Platform-encrypted config
  • LLM API keys stored here
  • Never exposed to client
Azure Redis Cache
  • Session state (no PII keys)
  • Real-time routing data
  • Encrypted in transit
Why Velaro is more secure than Make / Zapier / Power Automate
Make / Zapier / Power Automate
  • OAuth tokens stored on third-party servers
  • Credentials passed between automation nodes
  • Tokens visible in platform flow logs
  • Customer data flows through external processors
  • API changes break every flow - manual rebuild
  • Not real-time - triggered/polling only
  • Multiple failure points per operation
Velaro Native Integration
  • Credentials encrypted in customer’s Azure SQL
  • OAuth signed server-side - never transmitted
  • Tokens never appear in any log output
  • Data stays within customer’s Azure tenant
  • Velaro handles API changes - zero downtime
  • Real-time - fires live during conversation
  • Single RelayToRestlet endpoint, minimal failure risk
External Services - Outbound Only

All calls initiated server-side by Velaro backend. Never inbound from these providers.

LLM Providers
Anthropic · OpenAI · Azure OpenAI · Google Gemini - HTTPS, API key auth
NetSuite REST API
OAuth 1.0a signed · SuiteTalk REST + Custom RESTlet · Server-to-server only
Twilio SMS / Voice
Outbound messages · HTTPS · API key in Key Vault
Azure Cognitive Search
RAG queries · Managed identity · Per-tenant index isolation
Azure SignalR Service
Real-time chat · Connection string in Key Vault
Azure Blob Storage
File attachments · Per-tenant containers · SAS tokens
Observability & Audit

All logging server-side. No credentials or raw tokens appear in any log output.

Azure Monitor
Platform metrics · Alerting · Auto-scale triggers
Application Insights
Request tracing · Exception tracking · Performance monitoring
Loggly
Centralized structured logging · Retention policy enforced
Integration Activity Log
Per-integration audit trail · NetSuite API call log · Timestamps & response codes - no credential data
Credential Safety Guarantee
  • OAuth tokens never appear in logs
  • LLM API keys not logged
  • PII handled per retention policy
  • Cross-tenant log isolation enforced