This article describes the security and compliance architecture of the AI Assistant features available in Leon: Report Wizard, Document Manager, and Email Templates. It is intended for customers, security officers, and compliance teams evaluating the use of these features within their organisation.
Overview of AI-Assisted Features
Leon integrates AI assistance in three areas of the platform:
-
Report Wizard AI Assistant – helps users build and refine report queries, column selections, and Excel-based report templates using natural language instructions.
-
Document Manager AI Assistant – assists with creating and modifying document templates (e.g. trip sheets, crew briefings) through conversational prompts.
-
Email Template AI Assistant – supports authoring and editing email template content, including subject lines and message bodies.
AI Provider and Models
AI Assistant features are powered by OpenAI. Leon Software maintains its own dedicated OpenAI account, and all API calls are made exclusively through that account. The following models are available depending on the feature configuration:
-
GPT-4.1
-
GPT-5
-
GPT-5 mini
-
GPT-5.1 (with configurable reasoning levels)
-
GPT-5.2 (with configurable reasoning levels)
Additionally, Anthropic Claude models (Sonnet, Haiku, Opus) are supported as an alternative provider and may be enabled for specific use cases.
The active model for each feature is configured centrally by the Leon team and may change over time as newer, more capable models become available.
No Training on Customer Data
Leon Software's OpenAI account is configured under an agreement that explicitly prohibits OpenAI from using any submitted data to train or improve OpenAI models. Messages sent via the API are not retained by OpenAI beyond the duration required to process the request.
This applies to all three AI-assisted features described in this article.
What Data Is Sent to the AI
A core design principle of the AI Assistant is data minimisation: the AI is given only the structural information it needs to assist with template or report authoring — no actual business records, personal data, or flight operations data is transmitted.
For each feature, the following is sent in each request:
Report Wizard
-
GraphQL query structure – the schema of the selected report (field names, types, and relationships). Date filter values are explicitly stripped before transmission.
-
Data parts schema – the list of available data fields and their structure (column definitions), not the values they contain.
-
User's natural language instruction – the text entered by the user in the AI chat.
Document Manager
-
GraphQL query structure – the data source schema associated with the document template.
-
Template structure – the current template definition (field names and layout), not populated values.
-
User's instruction – the text entered by the user.
-
Uploaded files (optional) – files explicitly attached by the user within the Document Manager AI chat for context. These are uploaded to OpenAI's file storage under Leon's account and are used solely for the duration of the conversation.
Email Templates
-
GraphQL query structure – the data source schema for the email template (e.g. trip, flight, crew fields available as variables).
-
Template content – the current email subject and body template text (which may contain variable placeholders such as
{{ flight.departure }}). -
User's instruction – the text entered by the user.
Important – sensitive content in templates: While Leon does not send actual data records to the AI, the template content itself (subject line and body) is transmitted. Operators should ensure that no sensitive personal data, confidential business information, or actual operational values are embedded directly in template text rather than as dynamic variables. Use variable placeholders for all dynamic content.
Data Flow Summary
|
Item |
Sent to AI? |
Notes |
|---|---|---|
|
Flight records / trip data |
No |
Never transmitted |
|
Crew personal data |
No |
Never transmitted |
|
Passenger data |
No |
Never transmitted |
|
Financial / sales data |
No |
Never transmitted |
|
Report / template schema (field names) |
Yes |
Structure only, no values |
|
Email template subject & body text |
Yes |
Template text only — ensure no literal sensitive data is embedded |
|
User-entered instructions (chat) |
Yes |
Text typed by the user in the AI chat panel |
|
Manually uploaded files (Document Manager) |
Yes |
Only files explicitly uploaded by the user; stored under Leon's OpenAI account |
|
Date filters / time ranges |
No |
Explicitly removed before transmission in Report Wizard |
Security Controls
Operator Isolation
All AI conversation threads are scoped to the authenticated operator. A user can only read and continue threads belonging to their own operator account. Attempts to access another operator's threads are rejected at the API level.
Token Budget and Rate Limiting
Each operator is allocated a token budget for AI usage. The system validates that sufficient tokens are available before processing any AI request. If the budget is exhausted, further requests are blocked until the quota is renewed. This prevents uncontrolled consumption and provides a hard cap on AI API usage per operator.
Concurrency Lock
A per-operator, per-feature lock is applied to each AI request. This prevents a user from triggering multiple simultaneous AI calls for the same feature, which could lead to unintended token consumption or inconsistent responses. Concurrent requests are queued and processed sequentially.
Response Validation
All responses received from the AI are validated before being presented to the user. Empty or malformed responses are caught and surfaced as errors rather than passed through silently.
API Key Management
The OpenAI API key is stored as a server-side environment variable and is never exposed to end users or transmitted to the client browser. All AI requests are proxied through Leon's backend.
System Prompts
Each AI feature operates with a configurable system prompt maintained by the Leon team. These prompts define the assistant's behaviour and scope, ensuring the AI acts only within the intended context of the feature (report authoring, document editing, or email template writing).
Compliance Considerations
-
GDPR / data protection: No personal data is transmitted to the AI provider. Schema and structural information about fields does not constitute personal data. Operators are advised not to enter personal data into the AI chat text input.
-
Data residency: API calls are processed by OpenAI's infrastructure. Customers with strict data residency requirements should review OpenAI's data processing agreements independently.
-
Audit trail: AI conversation threads are stored within Leon's own database, scoped to the operator and user. These records can be reviewed via Leon's audit mechanisms.
-
Opt-out: AI Assistant features can be disabled per operator by the Leon team if required for compliance or operational reasons.
Summary
Leon's AI Assistant features are designed with a privacy-first approach: only schema and structural data is transmitted to the AI provider, never actual business records or personal data. Leon's OpenAI account is configured to prohibit use of submitted data for model training. All requests are authenticated, operator-isolated, token-limited, and rate-controlled at the backend level.
For further questions regarding data processing, security architecture, or compliance documentation, please contact the Leon Software support team.