---
url: https://flat.io/developers/docs/api/omr/faq/legal.md
description: >-
  Whether you can use Flat's OMR API commercially and resell the output, whether
  uploads train our models, how long data is kept, what survives deletion, and
  where to find the DPA.
---

# Commercial use, privacy, and data

The answers evaluators and procurement teams ask for before building on Flat's
[Optical Music Recognition API](/api/omr/).

## Commercial use

### Can I use OMR commercially and resell the output?

**Yes.** You can use the OMR API to process sheet music uploaded by customers who own the content or
otherwise hold the necessary rights, and provide the resulting **MusicXML and MIDI files to those
customers outside of Flat**.

Specifically:

* **No attribution is required** for the generated files.
* **Nothing prevents you from building a commercial transcription product** on the API.
* **You are not required to keep the result in a Flat library.** Create the job with
  `output: "musicxml"` and the result never enters one. See
  [Do I have to create a Flat score?](/api/omr/faq/limits#do-i-have-to-create-a-flat-score)
* **One account can serve all your end users.** They do not need Flat accounts of their own. See
  [Can my backend use one account for all my end users?](/api/omr/faq/limits#can-my-backend-use-one-account-for-all-my-end-users)

As always, you and your users remain responsible for having the appropriate rights to the source
material and for complying with applicable law.

### Can I store and reuse the MusicXML?

Yes. The output is yours. Store it, reuse it, and serve it to as many of your users as you like.
Deduplicating conversions on your side is also the easiest way to reduce credit spend. See
[Can I cache and reuse the output?](/api/omr/faq/limits#can-i-cache-and-reuse-the-output-instead-of-converting-the-same-pages-again)

### Do I need a custom contract?

Not for standard API usage with [credit packs](/api/omr/faq/credits#do-credit-packs-expire-or-auto-renew).
For larger-volume deployments, custom pricing, or specific contractual requirements, email
<developers@flat.io> and we can put a business agreement in place.

## Privacy and model training

### Do you train your ML models on my files?

**No.** Flat's OMR machine-learning models are trained entirely on **synthetic data we generate
ourselves**
with our own engraving engine, and on **public-domain sheet music we source independently**.

Files you submit to the OMR API, and the outputs generated from them, are **not used to train or
improve our models**.

### Where is the data processed, and who are the subprocessors?

Our infrastructure providers, subprocessors, and hosting regions are documented publicly in the
[data and infrastructure article](https://help.flat.io/en/general/data-infrastructure/#infrastructure-providers).

## Retention and deletion

### How long is my data kept?

Jobs created with `output: "musicxml"` keep their uploaded files and recognition results for
**30 days by default**, then they are erased.

Read the exact window from `retentionDays` on
[`GET /omr/capabilities`](https://flat.io/developers/docs/api/reference#tag/OMR/operation/getOmrCapabilities),
and each job's own deadline from `retention.expiryDate`. The deadline is fixed when the job is
created, so a later change to the retention window never moves it.

Jobs created with `output: "library"` have no `retention` object at all: their result is a score in
the user's library and follows the library's own lifecycle.

Full detail, including the API calls, is in
[Retention and deletion](/api/omr/jobs#retention-and-deletion).

### Can I delete a job before the deadline?

Yes, and you should as soon as you have collected what you need:

```bash
curl -X DELETE "https://api.flat.io/v2/omr/jobs/$JOB" -H "Authorization: Bearer $TOKEN"
```

The call is idempotent. Downloads for an erased job then return `409` (`OMR_JOB_EXPIRED`). The
same action is the **Erase files now** button on the job's page in the
[developer dashboard](https://flat.io/developers/omr/jobs).

If you need a **shorter default retention period** for your account, email
<developers@flat.io>.

### What survives deletion?

The originals, recognition results, and processing logs are all stored under a **single dedicated
prefix in our object storage**. At expiry, or when you call `DELETE`, that prefix and everything in
it is permanently deleted. **We do not maintain backups or replicas of this data**, so once it is
gone it is gone.

What remains is a **stripped job record** kept for accounting and for listing your job history:

| Kept | Not kept |
|:--|:--|
| Job id, creation and expiry dates | The uploaded files |
| Status the job finished with | Recognition results and exports |
| Page and file counts | Filenames and checksums |
| File size and MIME type | Any document content |
| Billing information | Processing and debug logs |

The job stays listable with `retention.expiredDate` set, so you can still audit what you ran. Filter
on it with `GET /omr/jobs?status=done&expired=false`.

## Terms and agreements

### Which terms govern the OMR API?

The OMR API is covered by Flat's
[Terms of Service and Privacy Policy](https://help.flat.io/en/policies/).

### Is a DPA available?

Yes. You can rely on our published
[Data Processing Addendum](https://help.flat.io/en/education/policies/data-processing-addendum/).

For specific contractual requirements beyond it, email
<developers@flat.io>.

## Related

* [Retention and deletion](/api/omr/jobs#retention-and-deletion) in the Jobs API.
* [Credits and billing](/api/omr/faq/credits).
* [Limits, performance, and integration](/api/omr/faq/limits).
