SECURITY & DEPLOYMENT
Data flow map: what leaves your environment, per product
One boundary, four flows. What goes in, what stays, what goes out, to whom, and who controls it - for each product separately, because the honest answer differs.
- Sources → Engine: records copied one way, on a schedule
- Engine → Insights and your applications: inside the boundary
- AI Assistant ↔ your LLM provider: the information required for the request, under your account and key
- MCP Server ↔ AI clients: the requested results, under keys you can revoke
Why one map
A platform with four products has four answers to "does my data leave?", and they should differ, because the products do different things. An index that serves your own applications has no reason to send anything anywhere. An assistant that uses a language model has to send that model something, or it cannot answer. A single line promising that nothing ever leaves would be true of two products and false of two, and would not survive the first security review that asked about the model. So this page draws one boundary and describes each flow across it separately, with the exact wording each product's own page uses.
The boundary
Your infrastructure: your servers or your private cloud, with the LipiCore deployment inside it. Engine holds the indexed collections. Insights, the AI Assistant and the MCP Server run beside it and read from it. Everything in the lead diagram inside the blue line is yours and runs where you put it; the two things outside it on the right - your LLM provider and the AI clients your team uses - are the only parties anything is sent to, and both are chosen and keyed by you.
Flow 1: sources → Engine
One way, on a schedule. Your ERP, CRM, accounting system and custom applications send records into Engine, or Engine pulls them from your database, collection by collection: orders hourly, customers every four hours, products daily, invoices weekly, whatever each one needs. What is copied is the fields you configured for each collection, into an index that lives inside the boundary. Nothing goes back. Engine never writes to your systems, and the sources do not know the index exists. Incremental indexing covers the mechanics.
Flow 2: Engine → your applications and Insights
Inside the boundary. Your web, mobile and internal applications call Engine's REST APIs; Insights dashboards and grids read the same collections. The requests and the responses travel inside your infrastructure and nothing about this flow involves a third party. For a deployment that runs Engine and Insights only, this is the whole picture: your data stays within your environment, and nothing is hosted on LipiCore servers.
Flow 3: AI Assistant → your LLM provider
The assistant runs inside your infrastructure, but the language model it uses runs at the provider you chose - OpenAI and Amazon Bedrock work today - under your own account and your own key. When a question is asked, only the information required for the request is shared with the external LLM; the assistant can send relevant metadata rather than exposing the full dataset. The provider's own terms govern what happens to what it receives, which is why the account is yours and not LipiCore's: there is no LipiCore account in the path, and no usage flows through one. How can AI answer questions about business data? shows what the model does with what it is sent.
Flow 4: MCP Server → AI client
The MCP (Model Context Protocol) server runs inside your infrastructure and reads the collections indexed in Engine. An AI client - ChatGPT, Claude, Cursor or your own - connects with your endpoint and an access key issued from your deployment. When the client requests information, only the requested results are sent to that client and handled according to your agreement with its AI provider. Keys can be rotated or revoked at any time; no key, no connection. The production database is not exposed to the client, and the client carries no additional load onto it. MCP server explained walks through one call.
What never flows
Writes back to your systems: no product writes to the sources. Anything to LipiCore or Techgrains servers: the deployment is yours, the keys are yours, and LipiCore does not send data anywhere on its own. The production database, to any model or any client: the assistant and the MCP Server work from the indexed copy, never from the database that runs the business.
Per product
| Product | Runs where | What leaves | To whom | Controlled by |
|---|---|---|---|---|
| Engine | Your infrastructure: on-premise or private cloud | NothingYour data stays with you | - | You |
| Insights | Your infrastructure, on top of Engine | NothingYour data stays within your environment | - | You, per user and group |
| AI Assistant | Your infrastructure | Only the information required for the requestThe assistant can send relevant metadata rather than the full dataset | The LLM provider you configured | Your account, your key, your provider's terms |
| MCP Server | Your infrastructure | Only the requested resultsPer tool call | The connected AI client, and on to that client's AI provider | Your endpoint and access keys, revocable at any time |
Questions to ask any vendor
The map above is LipiCore's. The questions behind it apply to any platform that promises AI over your data, and they are worth asking in exactly this form.
- Where does each component run - in our infrastructure, in yours, or at a third party?
- For each component, what leaves our environment, and to whom?
- Whose account does the language model run under, and whose terms apply to what it receives?
- Can any component write to our systems of record, and if so, which, and under whose control?
- Does any model or external client ever reach the production database, or only a copy?
- Who issues the keys, and how quickly can one be revoked?
A vendor who can answer these per product, in a table, has thought about the boundary. A vendor who answers them with one sentence for the whole platform has not.