Your data and the model
If you are deciding whether Sloose is allowed near your CRM, this is the page to read. It says what happens, not what we intend.
The short version
Section titled “The short version”- Your file is parsed in your browser. It is never uploaded to us.
- The AI features are the only thing that sends any of it anywhere, and they send samples, not the file.
- You control how much, with a per-org setting: all values, masked values, or none.
- Fields marked as personal data are masked before anything leaves the server, even on the most permissive setting.
- Nothing is written to your CRM on the model’s say-so. Every AI feature proposes; a person accepts.
If you use no AI features, no part of your data reaches a model at all.
What is sent, per feature
Section titled “What is sent, per feature”| Feature | Columns | Sample rows |
|---|---|---|
| Auto-map | Yes | Up to 20 |
| Value mapping | Yes | Up to 5 |
| Formula assist | Yes | Up to 3 |
| Explain and fix | Yes | Up to 5 |
| Chat | Only if the conversation is about a loaded file | Up to 20 |
Along with them go your schema — the module and field names your org has, and any annotations an administrator has written — and, for explain-and-fix, the validation problems themselves. Value mapping also sends the distinct values a field still needs a decision on, and for a lookup the candidate records your browser already holds.
Row counts above are ceilings, not targets. A file of 40,000 rows sends at most 20 of them.
The sample policy
Section titled “The sample policy”One setting per org, on the Organisation tab of org settings, with three values:

| Policy | What leaves |
|---|---|
allow |
Sample values as they are — except fields marked as personal data, which are always masked. |
masked |
Every value masked, whatever it is. Column names still go, so mapping still works. |
deny |
No rows at all. The model is told none are available and works from column names and your schema alone. |
An org that has never set this gets masked.
deny is not a broken mode: auto-map still proposes mappings from column names and your field
names, it just cannot use the shape of the data to break a tie. It will be less good at telling a
date from a number, and about as good at everything else.
What masking does
Section titled “What masking does”Letters become x or X, digits become 9. Everything else is left alone.
Ada Lovelace → Xxx Xxxxxxxxada@northwind.com → xxx@xxxxxxxxx.xxx+61 2 9000 1234 → +99 9 9999 99992024-03-17 → 9999-99-99AC-1002 → XX-9999The point is that shape survives and content does not. A masked value still tells the model “this column holds something email-shaped” or “this is a date in ISO order”, which is most of what it needs to propose a mapping — without telling it whose email it is.
Marking a field as personal data
Section titled “Marking a field as personal data”An administrator annotates the field. Under the allow policy, any column that would land in an
annotated field is masked; the rest are sent as they are.
The match between a column and a field is made by name, since a column has not been mapped to anything yet at auto-map time — a column fuzzy-matching an annotated field’s API name, label or recorded aliases is treated as that field’s data and masked.
That is a heuristic, and it is the reason masked is the default rather than allow: if you
want a guarantee rather than a good-faith match, masked is the setting that gives you one.
See Field annotations for how to mark them.
Where the model runs
Section titled “Where the model runs”Calls go to Anthropic through a Cloudflare AI Gateway that we operate. Model choice depends on the environment; production defaults to a Claude Opus model.
A deployment with no AI configured answers “not configured” rather than failing obscurely, and
every AI route is metered against your org’s credit balance — so AI usage is accountable per
feature (GET /ai/usage) rather than invisible until the invoice.
What is never sent
Section titled “What is never sent”- Your whole file. Only the sampled rows above ever leave the browser.
- CRM records. Sloose does not read your existing records to build a prompt.
- Credentials of any kind — your Zoho refresh token is encrypted at rest on our side and is never part of any prompt.
- Anything at all, from any org whose policy is
deny.
Turning it off
Section titled “Turning it off”There is no AI without a deliberate action: every feature is a button somebody presses. Setting
the org policy to deny removes the sample rows; not pressing the buttons removes the calls.
Plans that do not include AI credits cannot make them at all.