Technical register
Data formats and interfaces
This is the technical register required by Article 26 of Regulation (EU) 2023/2854. It describes how your data is structured, in which formats you can take it away, how switching works, and what does not work yet.
It is part of the information you receive before entering into a contract with us, and it is kept current. It covers your account, LabelCheck and ExpertDesk: everything you have sent us through them and everything the service has produced for you, within the limits set out in section 5.
On this page
1. What a record looks like
These are the fields the export contains, one by one.
Your organisation and account, common to every service
| Organisation | legal name, address, VAT identification number |
|---|---|
| People | email address, assigned role, invitations issued and the state of each |
| Credits | purchases, internal allocations, and one record per operation with date, service and quantity in credits |
| Invoices | the invoices we issued to you |
| Settings | interface language, notification preferences, your organisation logo if you uploaded one |
| Messages | what you sent us from the feedback form, the files attached to it, and our replies |
LabelCheck, one record per analysis
id | the identifier of the analysis |
|---|---|
title | the name you gave it |
lang | the language the analysis was produced in |
score | the result of the check |
report | the full report, as text |
summary | the findings in structured form |
resolved | the findings you marked as resolved |
versions | the history of the versions |
chat | the conversation about the report, when you used it |
created_at, updated_at | creation and last change |
Declarations, one record per declaration
id | the identifier of the declaration |
|---|---|
title | the name you gave it |
markets | the markets it covers |
score | the result |
blocking_open | how many blocking points are still open |
report | the structured report |
summary | the summary in structured form |
documents | the documents it references |
checked | the points you checked |
versions | the history of the versions |
lang | the language |
created_at, updated_at | creation and last change |
ExpertDesk, one record per conversation
In ExpertDesk each person downloads their own data from the account menu, under “Download my data”, whenever they want. The download is one ZIP file. Its JSON files use the formats in section 2. Each of the four files that hold your data carries a notes field: in account.json it explains two of the fields, and in the other three it says who wrote what. Each conversation is one record in conversations.json, with these fields:
id | the identifier of the conversation |
|---|---|
title | since 19 September 2026 written by the AI system from your first question; earlier conversations, and any whose title could not be written, keep the opening words of the question (or a label, when the question was only an attachment); a conversation you renamed keeps the title you gave it |
lang | the language of the conversation |
mode | how the question was sent: direct, to the expert you chose, or auto, when ExpertDesk chose the expert or the panel; conversations started in earlier versions of the app can also carry panel, for a question put to a panel of experts, or label, for a photo of a label sent to be read |
expert, expert_name | the role that answered first, as a code such as cosmetic-chemist, and its English name |
messages | every message in order, with author (person for you, model for the AI system), expert and expert_name for the role that answered (panel for the panel synthesis), content for the text and at for the time; where this was recorded, a text of the AI system also carries ended (natural_end, length_limit when it reached its maximum length and the last part may be missing, or stopped_before_end), and your question carries routed_experts and experts_without_answer, the roles it was sent to and those that did not answer, as codes (unknown for a role no longer offered) |
created_at, updated_at | creation and last change |
The other files in the ExpertDesk download
account.json | your email address, your name, the company recorded for your access, when this access was created in ExpertDesk, and requested_language while an access request is still open |
|---|---|
conversations/ | the same conversations, one Markdown file each, with dates written out in the language of the app and in UTC |
feedback.json | your ratings of answers: rating (up or down, or note for a message sent with the earlier feedback form), your question, the answer you rated (a copy the app sent with your rating), your note, the role whose answer you rated, and conversation_id, empty when that conversation is no longer among yours |
feedback-threads.json | your messages to the Team: kind (general, or finding when the message is about an answer), your message, refers_to and context (filled in by the app), the company of your account when the thread started, every turn with its author (person, model or team), and files, every file stored under the thread (in_a_message false marks a file you sent whose message was not saved) |
attachments/ | the files you attached to your messages to the Team, exactly as you sent them |
export.json | what the download holds and how many items, what it leaves out and why, and missing_files: any file that could not be included, with the reason |
README.md | a guide to the download, in the language of the app |
2. The formats
| Structured data and findings | JSON | RFC 8259, encoded UTF-8 |
|---|---|---|
| Reports and declarations | Markdown or PDF | CommonMark · ISO 32000 |
| Files you uploaded | unchanged | the format you uploaded them in |
| Dates and times | ISO 8601 | UTC |
| Languages | two-letter codes | ISO 639-1 |
| Markets and countries | two-letter codes | ISO 3166-1 alpha-2 |
| Ingredient names | INCI | Articles 19(6) and 33 of Regulation (EC) No 1223/2009 |
3. Open interoperability specifications
The formats above are open, published, and implemented by software we did not write. Nothing in your export needs our software to be read: JSON opens in any tool, Markdown is text, PDF is a published ISO standard.
There is no sector-wide interoperability standard for cosmetic regulatory records: no common schema another compliance tool could import without mapping, and no standard to declare conformity to. We use open formats and stable field names, so that mapping is a short job for whoever receives them, and we answer the technical questions of the provider you choose.
4. How switching works
Ask us in writing at info@cosmetifull.com. The export is free, it is delivered in one go, and it covers every field listed in section 1 of this page. We deliver within 14 working days of the request. You can ask at any time, not only when leaving, and as often as you need. On your written instruction we make the same export and the same technical answers available to the provider you have chosen, on equal terms. Your relationship with that provider stays yours: we assist you, we do not act for them. We tell you in advance what does not transfer, so that you can plan around it. Every step of a switch, with its dates, is set out in the pre-contractual sheet on switching.
5. What we know does not work yet
The company-wide export is delivered on request
In ExpertDesk each person downloads their own data from the account menu, whenever they want (section 1). For your account and LabelCheck there is no self-service export today: you can reopen every analysis in your archive and every readiness check you saved, each with its report, which you can print or save as PDF. The complete export of your organisation, declarations and ExpertDesk included, goes through a written request and the 14 working days above.
There is no public API for a receiving provider
The provider you choose receives the exported files and can ask us technical questions about structures and formats. There is no machine-to-machine interface for them yet.
Attachments to declarations are not retained
You can attach supporting documents to a readiness check, and they count as your assertion that the document exists: their content is never passed to the model, and no attached file is kept, so there is nothing under this heading to export. If retention becomes active, attached files are part of the export in the format you uploaded them in.
Consumption is exported in credits, not in internal units
One record per operation, with date and service. Credits are the unit of the contract. The internal measurement we use to price our own costs is not a record of anything you produced, and it is not part of the export.
Our regulatory knowledge base is not exportable
The rules, the analysis models and the platform are ours. What is yours is everything you sent us and everything the service produced for you, and that is what you take away.
What the ExpertDesk download leaves out
Files you attach to a question in the chat are used to answer you and are not kept, so there is nothing to export under that heading; the conversation keeps the text of every message. Data too large for a single download, files that do not fit in one, records from before 21 August 2026 that carry no owner and data kept under another email address are delivered on written request to info@cosmetifull.com. Inside the download, export.json and the README list what is left out, and why.
ExpertDesk keeps work under each person’s address
ExpertDesk records each person’s conversations, ratings and messages to the Team under that person’s email address. A company-wide export therefore holds the work of the people who belong only to your organisation, from the day each of them joined it; the work of someone who also belongs to another organisation is delivered to that person, and so is work done before joining.
6. Changes to this page
When a limitation above is closed, the line changes with it, and if a new one appears you find it listed alongside the others.