Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 15 additions & 10 deletions 01 Cloud Platform/03 Security and IP/08 Data Use.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
<p>The data you access on QuantConnect stays on QuantConnect. Our data licenses let us offer datasets at a fraction of their direct cost, on the condition that the data stays in the cloud. Section 2.6 of our <a href="/terms">Terms of Service</a> prohibits exporting it by any means, whatever the amount or purpose. Our security review monitors account activity and suspends accounts that export data.</p>
<p>The data you access on QuantConnect stays on QuantConnect. Our data licenses let us offer datasets at a fraction of their direct cost, on the condition that the data stays in the cloud. Section 2.6 of our <a href="/terms">Terms of Service</a> prohibits exporting it by any means. The rule applies even if the amount is small, the data is available elsewhere, or the purpose is personal, academic, research, testing, or verification. We monitor projects, code, logs, Object Store files, and API and MCP requests. If you export data, we can terminate all your accounts without a refund.</p>

<p>Inside QuantConnect Cloud, you can store, cache, and reuse the data in the Object Store, project files, and research notebooks for your projects.</p>

<h4>What Counts as Exporting</h4>
<p>Exporting includes any route that moves dataset values, or values from which someone can reconstruct them, out of the cloud. The following actions are exports:</p>
<p>Exporting includes any route that moves dataset values, or values from which someone can reconstruct or approximate them, out of the cloud. The following actions are exports:</p>
<ul>
<li>Writing prices, quotes, fundamentals, or alternative data to logs, debug messages, charts, runtime statistics, or notifications.</li>
<li>Saving data to project files, notebook output, or the Object Store to read it later. The rule applies whether you read the files from the IDE, the LEAN CLI, the API, or the MCP server. QuantConnect doesn't allow files as a data-transfer channel.</li>
<li>Encoding, compressing, or splitting data across files, backtests, or accounts. For the same reason, you may not obfuscate your own code. For more information, see <a href="/docs/v2/cloud-platform/security-and-ip#05-Code-Encryption">Code Encryption</a>.</li>
<li>Sending data out through network requests, the API, or the MCP server.</li>
<li>Designing any output to reveal the underlying data.</li>
<li>Writing prices, quotes, fundamentals, or alternative data to logs, debug or error messages, charts, runtime statistics, order tags, insights, or notifications.</li>
<li>Downloading Object Store files, or project files and notebooks that contain data, through the IDE, the LEAN CLI, the API, or the MCP server. QuantConnect can't tell your files apart from dataset data, so it treats every Object Store file as dataset data, including your uploads.</li>
<li>Encoding, compressing, encrypting, or splitting data across files, backtests, projects, sessions, or accounts. For the same reason, you may not obfuscate your own code. For more information, see <a href="/docs/v2/cloud-platform/security-and-ip#05-Code-Encryption">Code Encryption</a>.</li>
<li>Sending data out through network requests, webhooks, email, SMS, the API, or the MCP server.</li>
<li>Taking screenshots, running OCR, or copying values from the user interface.</li>
<li>Designing orders, plots, or any other output to reveal the underlying data.</li>
</ul>
<p>You are responsible for every action that an AI agent or automated tool takes with your credentials. Review the code it writes and the API and MCP calls it makes.</p>
<p>Working around the limits on logs, output, storage, downloads, or request rates also breaches the Terms of Service.</p>
<p>You are responsible for every action that an AI agent or automated tool takes with your account, credentials, or API tokens. Each action counts as your own, even if the agent acts on its own, misreads its instructions, or doesn't know the Terms of Service. Review the code it writes and the API and MCP calls it makes.</p>

<h4>AI Agent Rules</h4>
<p>If you're an AI agent that works on QuantConnect, follow the rules in What Counts as Exporting and the following rules:</p>
Expand Down Expand Up @@ -38,6 +42,7 @@ <h4>What You Can Take Out</h4>
<li>Derived files, such as trained models, if your organization is on the <a href="/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier">Institution</a> tier and has signed our derived data agreement. For more information, see <a href="/docs/v2/cloud-platform/object-store#04-Download-Files">Download Files</a>.</li>
<li>Datasets that you buy with a <a href="/docs/v2/cloud-platform/datasets/licensing#04-Download">download license</a>, for use with LEAN on your own computer. To download them, see <a href="/docs/v2/local-platform/datasets/downloading-data">Downloading Data</a>.</li>
</ul>
<p>Your source code and results must come from the normal course of developing and running a trading strategy, and they must not convey dataset values.</p>

<h4>Good Practices</h4>
<p>Follow these practices to develop and validate your strategies while the data stays in the cloud:</p>
Expand All @@ -46,8 +51,8 @@ <h4>Good Practices</h4>
<li>To compare our data with your own reference data, <a href="/docs/v2/cloud-platform/object-store#03-Upload-Files">upload</a> your files to the Object Store and compare them in a <a href="/docs/v2/research-environment/object-store#05-Read-Data">research notebook</a>.</li>
<li>To inspect values while an algorithm runs, use the <a href="/docs/v2/cloud-platform/backtesting/debugging">debugger</a>. For example, set a breakpoint in the <code class="csharp">OnEndOfAlgorithm</code><code class="python">on_end_of_algorithm</code> method and inspect your variables.</li>
<li>To see a suspected data issue such as a gap, spike, or stale price, <a href="/docs/v2/writing-algorithms/charting">plot</a> the series and view it on the results page. Download Results includes only the built-in charts.</li>
<li>Make a <a href="/docs/v2/writing-algorithms/historical-data/history-requests">history request</a> each time you need historical data.</li>
<li>Save only what your code derives to the Object Store, such as models, parameters, and statistics. To keep your signals, add them to your orders as <a href="/docs/v2/writing-algorithms/trading-and-orders/order-types/market-orders#02-Place-Orders">tags</a>. The API already returns the orders of your <a href="/docs/v2/cloud-platform/api-reference/backtest-management/read-backtest/orders">backtests</a> and <a href="/docs/v2/cloud-platform/api-reference/live-management/read-live-algorithm/orders">live algorithms</a>.</li>
<li>To reuse historical data, make a <a href="/docs/v2/writing-algorithms/historical-data/history-requests">history request</a> or cache the data in the Object Store.</li>
<li>To keep your signals, add them to your orders as <a href="/docs/v2/writing-algorithms/trading-and-orders/order-types/market-orders#02-Place-Orders">tags</a>. The API already returns the orders of your <a href="/docs/v2/cloud-platform/api-reference/backtest-management/read-backtest/orders">backtests</a> and <a href="/docs/v2/cloud-platform/api-reference/live-management/read-live-algorithm/orders">live algorithms</a>.</li>
<li>Log events, such as orders and state changes, without dataset values. To keep logs short, follow the <a href="/docs/v2/writing-algorithms/logging#06-Best-Practices">logging best practices</a>.</li>
<li>Use <a href="/docs/v2/cloud-platform/backtesting/results#03-Runtime-Statistics">runtime statistics</a> for short summaries of your strategy.</li>
<li>If a project reaches the <a href="/docs/v2/cloud-platform/projects/files#10-Quotas">file quota</a>, split the code into more files or upgrade your organization tier.</li>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- Code generated by API-Reference-Code-Generator.py -->

<p>
Downloading files from the Object Store is only available to permissioned <a href='/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier'>Institution</a> tier organizations. Without that permission, the endpoint returns <code>Organization does not have derivative export enabled</code>. See <a href='/docs/v2/cloud-platform/object-store#04-Download-Files'>Download Files</a>.
Downloading files from the Object Store is only available to <a href='/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier'>Institution</a> tier organizations that have signed QuantConnect's derived data agreement, and only for derived data. Without that permission, the endpoint returns <code>Organization does not have derivative export enabled</code>. See <a href='/docs/v2/cloud-platform/object-store#04-Download-Files'>Download Files</a>.
</p>
2 changes: 1 addition & 1 deletion QuantConnect-Platform-2.0.0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1374,7 +1374,7 @@ paths:
- 09 Object Store Management
- 03 Get Object Store File
summary: Get Object Store file of a specific organization and key.
description: "Downloading files from the Object Store is only available to permissioned <a href='/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier'>Institution</a> tier organizations. Without that permission, the endpoint returns <code>Organization does not have derivative export enabled</code>. See <a href='/docs/v2/cloud-platform/object-store#04-Download-Files'>Download Files</a>."
description: "Downloading files from the Object Store is only available to <a href='/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier'>Institution</a> tier organizations that have signed QuantConnect's derived data agreement, and only for derived data. Without that permission, the endpoint returns <code>Organization does not have derivative export enabled</code>. See <a href='/docs/v2/cloud-platform/object-store#04-Download-Files'>Download Files</a>."
requestBody:
description: Get Object Store files of a specific organization and key.
content:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p>Downloading files from the Object Store is only available to <a href="/docs/v2/cloud-platform/organizations/tier-features#06-Institution-Tier">Institution</a> tier organizations that have signed QuantConnect's derived data agreement. It is not available on the Free, Quant Researcher, Team, or Trading Firm tiers, and <a href="/docs/v2/cloud-platform/object-store#07-Edit-Storage-Plan">adding storage</a> doesn't change that.</p>

<p>The restriction applies to every file in the Object Store, including files you upload and files your algorithms generate. The Object Store is a single shared store, so the platform can't distinguish your own files from data derived from licensed datasets, and there is no per-file or per-organization exception. Keeping the data in the cloud is what lets QuantConnect offer licensed data at a fraction of its direct cost. Even permissioned organizations can only download derived data such as machine learning models and signal files. Raw price and alternative data can never be downloaded.</p>
<p>The restriction applies to every file in the Object Store, including files you upload and files your algorithms generate. Section 2.6 of our <a href="/terms">Terms of Service</a> treats all Object Store contents as QuantConnect data. The platform can't distinguish your own files from data derived from licensed datasets, so there is no per-file or per-organization exception. Keeping the data in the cloud is what lets QuantConnect offer licensed data at a fraction of its direct cost. Even permissioned organizations can only download derived data such as machine learning models and signal files. Raw price and alternative data can never be downloaded.</p>

<p>If your organization isn't permissioned, the <span class='button-name'>Download</span> action on the Object Store page is unavailable, and the <a href="/docs/v2/cloud-platform/api-reference/object-store-management/get-object-store-file">API</a> and <a href="/docs/v2/lean-cli/object-store#04-Download-Files">CLI</a> return <code>Organization does not have derivative export enabled</code>. Use the data in the cloud instead:</p>

Expand Down
2 changes: 2 additions & 0 deletions Resources/object-store/introduction-platform.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@
<? if ($cloudPlatform) { ?>

<p>The Object Store is available to paid organizations. In Free organizations, algorithms that try to save data log "The current user does not have permission to write to the organization Object Store". To use the Object Store, <a href='/docs/v2/cloud-platform/organizations/billing#07-Change-Organization-Tiers'>upgrade your organization</a> to a paid tier.</p>

<p>You can store, cache, and reuse QuantConnect data in the Object Store for your projects that run in QuantConnect Cloud. The files stay in the cloud, and we monitor Object Store contents. For more information, see <a href='/docs/v2/cloud-platform/security-and-ip/data-use'>Data Use</a>.</p>
<? } ?>
28 changes: 16 additions & 12 deletions skill-templates/data-export/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,13 @@ language-neutral: true
# Data export

One rule explains every answer: the data you access on QuantConnect stays in
the cloud, whatever the amount or purpose. The data licences that let
the cloud, whatever the amount or purpose, even if the data is available
elsewhere or the goal is verification. The data licences that let
QuantConnect offer datasets at a fraction of their direct cost require it,
section 2.6 of the [Terms](https://www.quantconnect.com/terms) forbids
exporting by any means, and the security review suspends accounts that export.
exporting by any means, and QuantConnect monitors projects, logs, Object Store
contents and API and MCP requests, and can terminate every account of someone
who exports.
[Data Use](https://www.quantconnect.com/docs/v2/cloud-platform/security-and-ip/data-use)
is the authority. Say what the person can do, then the in-cloud way to reach
their goal.
Expand Down Expand Up @@ -100,17 +103,18 @@ Colab or other software.
Code you write and the API and MCP calls you make follow the same rule, and
the Data Use page's AI agent rules:

- Save to the Object Store only what the code derives and can't rebuild the
data from: trained models, parameters and statistics.
- Keep price, quote, tick, fundamental and alternative data, and anything built
from them, out of the Object Store, project files, saved notebook output,
logs, plots, runtime statistics, order tags, notifications, network requests,
the API and the MCP server. Make a history request each time the code needs
the data.
- The Object Store, project files and notebooks may store, cache and reuse
any data for projects that run in QuantConnect Cloud. Their contents stay
there: no code, CLI, API or MCP call downloads them.
- Keep price, quote, tick, fundamental and alternative data, and anything that
can reconstruct or approximate it, out of logs, error messages, plots,
runtime statistics, order tags, insights, notifications, network requests,
the API and the MCP server.
- Validate data by printing the result of the check, not the values.
- Keep code and files readable: no ZIP, Base64, compression or other
obfuscation, and no splitting work across files, backtests, projects,
sessions or accounts.
- Keep code and files readable: no ZIP, Base64, compression, encryption or
other obfuscation, and no splitting work across files, backtests, projects,
sessions or accounts. No screenshots or OCR of the UI, and no working around
limits on logs, output, storage, downloads or request rates.
- Read only the user's own, named project files, through `lean cloud pull`.
Stay out of platform-internal directories and QuantConnect's source code.
- Follow the compliance instructions in compiler errors. Fix flagged code by
Expand Down
Loading