wiki

AI Assistant – Security & Compliance

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.