Legal

User Agreement

This policy was last updated on March 5, 2026.

Parties & Definitions

This User Agreement ("Agreement") is entered into between you ("User," "you," or "your") and the operators of SparkCode("we," "us," or "our").

  • "Service" refers to the SparkCode browser-based Arduino IDE, including the compilation API, Web Serial flashing, serial monitor, and all related features.
  • "Sketch" refers to any Arduino source code (.ino files) you create, upload, or compile through the Service.
  • "Account" refers to the user account you create to access authenticated features of the Service.
  • "Firmware" refers to the compiled binary (.hex) output produced by the compilation API from your Sketch.

Scope of Agreement

This Agreement governs your access to and use of SparkCode. By creating an account or using any part of the Service, you acknowledge that you have read, understood, and agree to be bound by this Agreement, our Terms of Service, and our Privacy Policy.

If you are using SparkCode on behalf of an organization, you represent that you have the authority to bind that organization to this Agreement.

User Responsibilities

As a user of SparkCode, you agree to:

  • Use the Service only for lawful purposes and in accordance with this Agreement
  • Maintain the security of your account credentials and promptly report any unauthorized access
  • Ensure that any code you compile and flash to hardware is safe and appropriate for the target device
  • Not attempt to reverse-engineer, decompile, or otherwise extract the source code of the SparkCode platform
  • Not use the compilation API in a manner that could degrade service quality for other users
  • Maintain backups of your important sketches, as we do not guarantee data retention beyond what is described in our service tiers

Service Availability

We will make commercially reasonable efforts to maintain the availability of SparkCode. However, the Service is provided on an "as is" and "as available" basis. We do not guarantee:

  • Uninterrupted or error-free operation of the Service
  • That the compilation API will produce correct output for all valid Arduino code
  • Compatibility with all Arduino-compatible boards or hardware configurations
  • Availability of the Service in all geographic regions

We reserve the right to modify, suspend, or discontinue any part of the Service at any time with reasonable notice to active users.

Data & Privacy

Your use of SparkCode is also governed by our Privacy Policy, which describes how we collect, use, and protect your personal information. Key points relevant to this Agreement:

  • Sketch source code is processed transiently for compilation and not stored on our servers beyond the compilation request
  • Saved sketches (for registered users) are stored in a Supabase database with row-level security
  • Account data may be deleted upon your request or upon account termination
  • We do not access, read, or analyze the content of your sketches except as required to compile them

Subscription & Payment

SparkCode offers both free and paid subscription tiers. If you subscribe to a paid plan:

  • Payment is due at the beginning of each billing period
  • You may cancel your subscription at any time; access continues through the end of the current billing period
  • We reserve the right to change pricing with 30 days' notice to existing subscribers
  • Refunds are handled on a case-by-case basis at our discretion

Dispute Resolution

Any disputes arising from or related to this Agreement shall first be addressed through good-faith negotiation between the parties. If a resolution cannot be reached through direct communication within 30 days, either party may pursue binding arbitration in accordance with the rules of a recognized arbitration body.

You agree that any dispute resolution proceedings will be conducted on an individual basis and not as part of a class, consolidated, or representative action.

Governing Law

This Agreement shall be governed by and construed in accordance with the laws of the jurisdiction in which the operators of SparkCode are established, without regard to conflict of law principles.

Severability

If any provision of this Agreement is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary, and the remaining provisions shall continue in full force and effect.

Entire Agreement

This Agreement, together with the Terms of Service and Privacy Policy, constitutes the entire agreement between you and SparkCode regarding the use of the Service, superseding any prior agreements or understandings.