Terms of Service

Last updated: April 16, 2026

This agreement governs your use of the Canopy binary and any related services provided by Ironpine Labs LLC.

1. Definitions


2. License Grant

Subject to these Terms and timely payment of all fees, Ironpine Labs grants Customer a non-exclusive, non-transferable, non-sublicensable, revocable (on material breach per Section 13) right to download, install, and use the Canopy binary on any machine personally operated by the licensed developers, up to the number of Seats purchased.

2.1 Seat Definition

One Seat authorizes one individual developer to use Canopy. A "developer" is a human being — not a CI/CD runner, not an automated build system, not a shared service account. CI pipeline usage (via canopy ci) counts against Seats only if the CI system is running canopy on behalf of an individual developer's code changes; headless batch processing does not consume a Seat.

2.2 Team Tier Minimum

The Team tier requires a minimum purchase of 3 Seats. You may not purchase 1 or 2 seats at Team pricing.

2.3 Community Mode

Canopy may be used in Community Mode without a License Key and without payment. Community Mode is governed by these Terms except for the license fee obligations. Community Mode is a demonstration that provides limited features: 1 repository, 3 MCP tools (search, symbol lookup, health check), CLI-only operation, and a daily query limit. Community Mode does not include MCP server mode, dashboard, workflow composites, or multi-repo support. Community Mode features are described at canopy.ironpinelabs.com/docs.

2.4 Trial Period

If Customer starts a subscription with a trial period, they receive full features of their selected Tier for 14 days. No charge is made during the trial. The trial converts to a paid subscription on day 15 unless cancelled before that date. Trial features match the purchased Tier exactly.


3. Prohibited Uses

Customer may not:

The prohibition on competitive use does not prevent Customer from: building internal tools for their own organization, integrating Canopy into their own development workflow, or writing publicly about Canopy (including comparisons, tutorials, and critiques).


4. Open Source Components

Canopy incorporates open-source components. Licenses and notices for those components are available via canopy licenses --html or in the LICENSES.html file bundled with the binary. Customer's rights to use those components are governed by their respective licenses.


5. Subscription and Billing

5.1 Billing Cycles

Subscriptions are billed monthly or annually, as selected at purchase. Payment is processed by Stripe on behalf of Ironpine Labs.

5.2 Automatic Renewal

Subscriptions renew automatically at the end of each billing period unless cancelled before the renewal date. For monthly subscriptions, the renewal date is the same day each month. For annual subscriptions, the renewal date is the anniversary of the original purchase date.

5.3 Trial Conversion

If Customer starts with a trial, the subscription converts to paid on day 15 automatically. Customer will receive a new (non-trial) License Key by email upon conversion.

5.4 Upgrades

Upgrading to a higher tier or adding Seats takes effect immediately. The additional amount due is calculated on a prorated basis for the remaining days in the current billing period.

5.5 Downgrades

Downgrading to a lower tier or reducing Seat count takes effect at the start of the next billing period. Customer retains access to the higher tier through the end of the current period.

5.6 Price Changes

Ironpine Labs may change subscription prices for new purchases at any time. Existing subscribers will receive 30 days' notice before a price increase takes effect for their renewal.


6. Refund Policy

Annual subscriptions: Ironpine Labs offers a 14-day money-back guarantee on new annual subscriptions (separate from the trial period). If you are not satisfied with Canopy within 14 days of your first annual charge, contact [email protected] to request a full refund. Renewals are not eligible for this guarantee.

Monthly subscriptions: Monthly subscriptions are not eligible for refunds. You may cancel at any time to stop the next renewal; you retain access through the end of the paid period.

Exceptions: Ironpine Labs reserves the right to issue refunds at its discretion for extenuating circumstances, but is not obligated to do so outside the 14-day annual guarantee.


7. License Keys

7.1 Key Delivery

After a successful purchase or trial conversion, a License Key is generated and emailed to the address provided at checkout. If you do not receive your key within 30 minutes, check your spam folder and contact [email protected].

7.2 Offline Validation

License Keys are cryptographically signed and validated offline using Ed25519 signature verification. Canopy does not contact Ironpine Labs' servers to validate your key on every use.

7.3 License Health Check

Canopy performs a weekly license health check ("heartbeat") by sending a hash of your license key, your client version, and your platform to Ironpine Labs' validation server. No code, queries, file paths, or codebase content is transmitted. This check enables Ironpine Labs to revoke licenses associated with refunds, disputes, or fraud. The heartbeat is configurable and transparent: run canopy config heartbeat --show to see exactly what is transmitted and when. Air-Gapped tier customers may obtain a compiled-without-heartbeat build; contact support.

7.4 Key Expiration

Solo, Pro, and Team tiers (online): License Keys are issued once at the start of your subscription with a long validity period (5 years). You do not need to re-enter a new key each billing cycle. Your active-subscription status is enforced by the weekly license health check described in Section 7.3 — if your subscription is cancelled, refunded, or otherwise terminated, Ironpine Labs revokes your key server-side and the next health check (within 7 days) disables licensed features.

Air-Gapped tier: Because Air-Gapped customers opt out of the license health check, the key's encoded expiration date is the only enforcement mechanism. Air-Gapped License Keys expire 365 days after issuance. A new Key is emailed and made available in the Customer Portal upon successful renewal at least 30 days before the current Key expires.

In all cases, if you change email addresses or need redelivery of an existing Key, contact [email protected].

7.5 Revocation

Ironpine Labs may revoke a License Key by updating the key's status in the validation server. Revocation takes effect at the next scheduled license health check (within 7 days). Revocation may occur for: cancellation, refund, payment dispute, or material breach of these Terms.

7.6 Lost or Compromised Keys

If a License Key is lost, you may request redelivery by contacting [email protected]. If a key has been shared beyond the authorized Seat count or is otherwise compromised, contact support. Ironpine Labs may revoke the original key and issue a replacement.


8. Updates

New versions of Canopy are distributed via Cloudflare R2 and announced on the canopy.ironpinelabs.com website. There is no mandatory update mechanism — Canopy will not automatically replace itself. Customer may run canopy update to check for and download newer versions. Updates are included in the subscription for the duration of the subscription term.


9. Disclaimer of Warranties

FORGE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IRONPINE LABS DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. IRONPINE LABS DOES NOT WARRANT THAT FORGE WILL BE ERROR-FREE, UNINTERRUPTED, OR SECURE, OR THAT DEFECTS WILL BE CORRECTED.

Code intelligence tools provide analysis to assist developers — they do not guarantee correctness. Always apply professional judgment to Canopy's output.


10. Limitation of Liability

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL IRONPINE LABS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFITS, LOST REVENUE, LOSS OF BUSINESS, OR DATA LOSS, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY, OR ANY OTHER THEORY, EVEN IF IRONPINE LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

IRONPINE LABS' TOTAL LIABILITY FOR ALL CLAIMS ARISING OUT OF OR RELATED TO THIS AGREEMENT SHALL NOT EXCEED THE TOTAL FEES PAID BY CUSTOMER TO IRONPINE LABS IN THE 12 MONTHS IMMEDIATELY PRECEDING THE CLAIM.


11. Indemnification

Customer agrees to defend, indemnify, and hold harmless Ironpine Labs and its members, officers, and contractors from and against any claims, liabilities, damages, judgments, fines, and costs (including reasonable attorneys' fees) arising out of or related to Customer's use of Canopy in violation of these Terms or any applicable law.


12. Privacy

Customer's use of canopy.ironpinelabs.com and the license purchase process is governed by Ironpine Labs' Privacy Policy. The Canopy binary collects no personal data and transmits no codebase content. The weekly license health check transmits only license hash, client version, and platform as described in Section 7.3.


13. Termination

13.1 By Customer

Customer may cancel their subscription at any time through the Stripe Customer Portal at canopy.ironpinelabs.com/portal or by contacting [email protected]. Cancellation takes effect at the end of the current billing period.

13.2 By Ironpine Labs

Ironpine Labs may terminate this agreement, effective 30 days after written notice, if Customer commits a material breach and fails to cure within that period. For fraud or security incidents, Ironpine Labs may terminate immediately.

13.3 Effect of Termination

Upon termination, Customer's right to receive new License Keys ceases, and Ironpine Labs will revoke existing License Keys via the heartbeat mechanism within 7 days.


14. Governing Law and Venue

These Terms are governed by the laws of the State of Florida, USA. Any legal proceeding not subject to arbitration under Section 15 shall be brought exclusively in the state or federal courts located in Pasco County, Florida.


15. Arbitration

Except for disputes qualifying for small claims court and requests for injunctive or equitable relief, any dispute arising out of or relating to these Terms shall be resolved by binding arbitration under Florida law. Class action waiver: Any arbitration or proceeding shall be conducted on an individual basis.


16. General

Ironpine Labs may modify these Terms. Material changes will be communicated via the canopy.ironpinelabs.com homepage and by email to existing license holders at least 30 days before they take effect.


Contact

Ironpine Labs LLC — Florida, USA

Support: [email protected]
Privacy questions: [email protected]