What we send to the AI and what we never send
Celeus uses an AI model to suggest methods, interpret results, draft text and answer chat. The statistics themselves are computed by Celeus’s own engine and never by the AI. This page lists what the model receives. For the identifier scan and how the guard works, see Security.
Stays in Celeus
- Your uploaded file
- Data rows or data tables
The statistics are computed here, in R, never by the AI.
Sent to the AI model
- Column names, types and variable labels stored in your file
- Summary statistics, including each numeric column's minimum and maximum
- Category names, with small counts withheld
- Value shapes in text columns without listed categories, and a 1-5 uniqueness measure per column
- Aggregate results of your analyses
- Text you write: chat messages, research questions, notes and codebook descriptions
- Dataset names (by default, the name of the file you uploaded)
What the AI model does, mainly
- Suggests a test when you ask for one
- Suggests which columns are outcomes, exposures and groups when you draft a study plan
- Writes a plain-language interpretation of each run's aggregate results (on by default, and you can switch it off)
- Answers your questions in chat, where it can run exploratory analyses in R and propose analyses, filters and data transforms that apply only when you confirm them
- Drafts and edits your text, such as study context and Methods and Results
In short
Section titled “In short”What reaches the AI:
- Column names, types and variable labels stored in your file
- Summary statistics, including each numeric column's minimum and maximum
- Category names, with small counts withheld
- Value shapes in text columns without listed categories, and a 1-5 uniqueness measure per column
- Aggregate results of your analyses
- Text you write: chat messages, research questions, notes and codebook descriptions
- Dataset names (by default, the name of the file you uploaded)
What never reaches the AI:
- Your uploaded file
- Data rows or data tables
The rest of this page says exactly what each of those means.
The dataset profile
Section titled “The dataset profile”The AI never works from your data. It works from a profile Celeus builds from it, which contains:
- The size of the dataset - the number of rows and columns.
- For every column: its name, its type (numeric, text, date and so on), the role Celeus inferred for it (for example continuous, binary or categorical), and how many values are missing, as a count and a percentage, and a 1-5 measure of how unique its values are (for numeric columns this is left out where it could reveal how many records share a value).
- For numeric columns: the mean, standard deviation, median, minimum, maximum and the two quartiles, each rounded to 4 significant digits. This applies to every numeric column the AI is allowed to see, including number-coded ones.
- For category columns with a limited number of distinct values: the category names, each with its count, except that small counts are withheld - the profile marks them as withheld instead of listing them. Because the row count and the missing-value count are also sent, Celeus withholds further counts wherever the ones still listed would let a small one be worked out from the totals. The one case this cannot cover is a column with a single category, whose count is the number of rows that have a value.
- For text columns that look like identifiers or free text (too many distinct values to be categories) and for date columns: the number of distinct values, and no value is ever listed. For other text columns without listed categories the profile also carries the shape of the values (for example digits and letters replaced by symbols), counted by shape; rare shapes are only counted together with others, never on their own. A number-typed column is summarized as a numeric column even if it holds identifiers, so exclude such a column from the AI.
- Variable labels stored in your file, such as SPSS or Stata variable labels or REDCap field labels.
- Codebook text you write - labels, descriptions, units and value labels - only once the identifier scan of that text comes back clear. Until then it is held back, and Celeus tells you so. The column type you declare in a codebook, and counts of values the codebook marks as missing or out of range, are sent either way.
- For a column you have declared as having detection limits: instead of the numeric summary above, the limits themselves, how many values fall below or above them, and quartiles that account for the limits. Small counts are hidden the same way, and the range of detected values is withheld when few values were detected.
When the AI suggests a method, it also sees the candidate analyses Celeus’s own advisor ranked from this profile - test names and the column names they would use.
Aggregate results
Section titled “Aggregate results”When the AI interprets or discusses an analysis, or drafts text about it, it sees that analysis’s summary results: the test, the number of observations, test statistics, p-values, estimates, confidence intervals, effect sizes, group means by group label, post-hoc comparisons, regression coefficients by term, assumption-check outcomes, power figures, how missing data were handled, and the warning flags.
These are computed over the rows in each group, and a group can be small. Hiding small counts applies to the dataset profile, not to analysis results. Results can include category names and column names, for example “mean in the placebo group”, for every column you have not excluded from the AI.
Text you write
Section titled “Text you write”Text you type is sent as you wrote it: your research question, the research context you give a project or dataset, the study details and instructions you give when drafting a report, your chat messages, and the names of your datasets (by default, the name of the file you uploaded). Keep identifiers and patient details out of it.
Columns excluded from the AI
Section titled “Columns excluded from the AI”The identifier scan excludes every column it flags from the AI as soon as you upload. You can also exclude any column yourself, or include a flagged column again after review.
An excluded column is left out of the profile the AI works from, and the chat assistant cannot run or propose an analysis, a filter or a data change on it. A new column you derive from an excluded one (for example by binning it) is excluded too.
The chat assistant is told, by name, which columns the identifier scan flagged and you have since included again, so that it can warn you about them. Flagged columns that stay excluded are not mentioned to it, and it is never given their values.
You can still run an analysis on an excluded column yourself, and the AI can still interpret it. Before anything about that analysis is sent - for the interpretation, a draft, a report or chat - the column’s name and its category names are replaced with neutral labels, such as “excluded column 1” and “excluded column 1 level 2”. The AI sees the aggregate results under those labels and never the real names. When its text comes back, Celeus puts the real names back for you wherever it can tell unambiguously which name a label stands for.
Where it cannot - for example, the AI shortened a label to “group 1” while two excluded columns were in use - the neutral label stays, and on a run’s results a key under the AI text shows what each label stands for. AI text in a language other than English is not converted back; the key covers it too. If a step would still have named the column or one of its categories, that step is skipped: for an interpretation, a draft or a report the page says so, and in chat the assistant answers without your current analysis.
Short names and category names are replaced too, however short they are. The exception is a name of one or two characters that is also a common symbol, word or abbreviation, and a number code such as 0 or 1. This group is larger than it sounds: besides statistical symbols such as “t”, “n” or “M”, it includes abbreviations common in clinical data, such as “HR”, “MI”, “ID”, “NA” or “SD”.
Such a name is replaced in sentences Celeus wrote, as long as they are unchanged, and wherever it is introduced as a group or a variable (“group 0”, “grouping variable: t”). Elsewhere, for example in a sentence you typed or edited in a report, Celeus cannot tell it apart from an ordinary word or number and sends it as written. If a column has such a name and must stay private, give it a longer name in your file before you upload it. Your research question, research context and chat messages are sent as you wrote them.
Workspaces that store identified data
Section titled “Workspaces that store identified data”A workspace owner or admin can choose to keep identified data. In that case the AI features work only from a de-identified version of each dataset, and ask you to create one before they run.
What never reaches the AI
Section titled “What never reaches the AI”- Your uploaded file.
- Data rows or data tables. Every path from your data to the model passes a guard that refuses a data table, and each run’s reproducible package includes an audit log with the prompts sent to the model for that run.
The AI provider and its terms are listed in the privacy policy.