This shop is for registered business customers only (§ 14 BGB). Orders from private individuals are not accepted.

Terms and Conditions (ip·Solis)

Non-binding English convenience translation. Only the German-language version of these General Terms and Conditions is legally binding. In the event of any discrepancy or conflict between the German and English versions, the German version shall prevail.

XenPool GmbH, Am Egernfeld 35, 85748 Garching, Germany · Email: sales@xenpool.de

Table of Contents

  1. Scope
  2. Subject Matter and Licensing Model
  3. Free Use
  4. Commercial Licensing
  5. Conclusion of Contract
  6. Right of Withdrawal
  7. Prices and Payment Terms
  8. Provision of the License File
  9. Grant of Rights of Use
  10. Customer Obligations and Cooperation
  11. Liability for Defects
  12. Limitation of Liability
  13. Term and Termination
  14. Applicable Law
  15. Place of Jurisdiction
  16. Alternative Dispute Resolution
  • Annex 1: Open-Source Components

1) Scope

1.1 These General Terms and Conditions (the "Terms") of XenPool GmbH, Am Egernfeld 35, 85748 Garching (the "Provider") apply to all legal relationships in connection with the use of the ip·Solis software – in both the free variant and the paid commercial variant.

1.2 The following applies additionally to paid commercial licensing: these Terms apply exclusively to entrepreneurs (sec. 14 German Civil Code, BGB) – i.e. natural or legal persons or partnerships with legal capacity acting in the exercise of their commercial or independent professional activity – and to legal entities under public law. Concluding license agreements with consumers (sec. 13 BGB) is excluded.

1.3 ip·Solis is a platform for orchestrating IT asset lifecycle workflows for professional use in enterprise environments.

1.4 The inclusion of the customer's own terms and conditions is hereby expressly objected to, unless otherwise agreed in writing.

2) Subject Matter and Licensing Model

2.1 ip·Solis is software for orchestrating IT asset lifecycle processes. The source code is publicly available at https://github.com/XenPool/ipsolis and is obtained independently by the user from there during installation (self-hosted, Docker-based). ip·Solis is subject to the XenPool Commercial Source License v1.0 ("XCSL"), which is available to the user in the repository and on the Provider's website and forms part of these Terms. The XCSL is a source-available license; it is not an open-source license within the meaning of the Open Source Initiative.

2.2 The licensing model is two-tiered:

(a) Free use: Free use without a license file is limited to (i) purely private use by natural persons outside any commercial, professional, governmental or other organizational activity, (ii) time-limited evaluation for up to 30 days, and (iii) non-productive use for research and teaching purposes at state-recognized educational and research institutions. Such use is free of charge. Legal basis: contract of gift (sec. 516 BGB).

(b) Commercial (paid) use: Any use beyond lit. (a) requires a valid paid license file. In particular, any productive or operational use of the software in the context of a commercial, freelance, governmental or other organizational activity is commercial – irrespective of any intention to generate profit. This expressly includes use by legal entities under public law (e.g. cities, municipalities, public authorities, public-law corporations and institutions) as well as by tax-privileged or charitable (gemeinnützig) organizations. Legal basis: software lease agreement (secs. 535 et seq. BGB).

2.3 The subject matter of commercial licensing is the temporary provision of the licensed software for commercial use within the documented functional scope, unlocked by a cryptographically signed license file (the "License File" or ".lic file"). The License File defines the scope of the acquired license (term, licensed instances, enabled features).

2.4 ip·Solis is based on third-party open-source components. A complete list of these components and their respective license terms is included as Annex 1 (Open-Source Components) and forms part of these Terms; it is maintained on an ongoing basis in the repository. The license terms of these components remain unaffected by these Terms.

2.5 The Provider owes the provision of the licensed software within the respective documented functional scope, the issuance of a valid License File, and access to the source repository. Installation, configuration, operation, maintenance and the provision of a suitable operating environment are the customer's sole responsibility (sec. 10).

3) Free Use

3.1 Free use of ip·Solis pursuant to sec. 2.2 lit. (a) is based on a contract of gift under sec. 516 BGB. The Provider makes the software available without consideration.

3.2 Liability for free use: The Provider is liable pursuant to sec. 521 BGB only for intent and gross negligence. Any further liability – in particular for simple negligence, business interruptions, data loss or lost profit – is excluded.

3.3 Liability for defects in free use: The Provider is liable for defects of quality and title pursuant to sec. 524 BGB only if it fraudulently concealed a defect when providing the software. No liability for defects exists beyond this.

3.4 The Provider is not obliged to provide updates, patches or support for free use.

4) Commercial Licensing

4.1 Commercial use is based on a software lease agreement pursuant to secs. 535 et seq. BGB. During the term of the contract, the Provider owes the provision of the licensed software within the documented functional scope and of a valid License File that unlocks the agreed commercial use.

4.2 Exclusion of strict liability (sec. 536a BGB): The statutory strict liability of the lessor for initial defects pursuant to sec. 536a(1) BGB is hereby expressly excluded. This applies in particular to defects of the software that already existed upon handover of the License File but were not detectable by the Provider. In such cases the Provider is liable only for intent or gross negligence.

4.3 The customer's warranty rights under a commercial license require that:

  • the customer describes the defect reproducibly and promptly provides the Provider with relevant diagnostic data (in particular complete container logs, e.g. from docker logs and docker compose logs); and
  • the defect is not attributable to a modification of the software, the Docker images or the configuration made by the customer; and
  • the customer fully complies with the technical system requirements pursuant to sec. 10.1.

4.4 Expiry of the License File: After a time-limited License File expires, the Provider grants a grace period of 30 days during which the software may continue to be used in production. After this period, the software automatically switches to evaluation mode. Even in evaluation mode, the customer retains access to its own data stored in the operating environment and may export it. The Provider is not liable for damage or business interruptions arising from the automatic switch to evaluation mode after license expiry. The customer is obliged to order a renewal in good time before expiry.

5) Conclusion of Contract (Commercial License)

5.1 Offers by the Provider on the website or in offer documents constitute non-binding invitations to submit an offer.

5.2 The customer submits a binding offer by email, order form or via the ipsolis-web portal.

5.3 The contract is concluded when the Provider accepts the offer by written order confirmation by email, by provision of the License File, or by request for payment. Sec. 147(2) BGB applies to the acceptance period.

5.4 Contract language: German; English on express request. In the event of conflict, the German version prevails.

5.5 The customer ensures that the email address provided is correct and reachable and that emails from the Provider can be received (adjusting spam filters if necessary).

5.6 As the contract is concluded exclusively with entrepreneurs and legal entities under public law, the obligations under sec. 312i(1) sentence 1 nos. 1 to 3 and sentence 2 BGB (obligations in electronic commerce) are excluded pursuant to sec. 312i(2) BGB.

6) Right of Withdrawal

As ip·Solis is, under commercial licensing, distributed exclusively to entrepreneurs and legal entities under public law (cf. sec. 1.2), and is otherwise available as free use, there is no statutory right of withdrawal under secs. 312g, 355 et seq. BGB.

7) Prices and Payment Terms

7.1 The prices agreed at the time the contract is concluded apply. Unless otherwise agreed, all prices are exclusive of statutory value-added tax.

7.2 For subscription licenses, the license fee is due annually in advance unless otherwise agreed.

7.3 Payments are due net within 14 days of invoicing unless otherwise agreed.

7.4 In the event of late payment, statutory default interest under sec. 288(2) BGB applies. In the event of continued default of more than 30 days, the Provider is entitled to refuse to issue a renewal or replacement License File and to terminate the contract extraordinarily pursuant to sec. 13.3.

7.5 The available payment methods are communicated to the customer in the offer.

7.6 For customers outside the European Union, additional costs may arise (e.g. bank charges, exchange-rate differences), which are to be borne by the customer.

8) Provision of the License File

8.1 Upon receipt of payment or by separate agreement, the Provider makes the License File (.lic) available to the customer by email or via the ipsolis-web portal. The License File is cryptographically signed (Ed25519) and contains all relevant license parameters.

8.2 The software itself is available in the public GitHub repository at https://github.com/XenPool/ipsolis. The customer installs and operates the software on its own responsibility using the installation documentation provided.

8.3 Provision is deemed to have occurred as soon as the License File has been received by the customer by email or is retrievable in the ipsolis-web portal.

8.4 If the License File is lost, the Provider will issue a replacement file upon request and proof of license entitlement.

8.5 The Provider does not warrant the uninterrupted availability of the GitHub repository but will provide an alternative source in the event of a permanent outage.

9) Grant of Rights of Use

9.1 Upon full payment of the license fee, the Provider grants the customer a non-exclusive, non-transferable right to use ip·Solis within the acquired license category in its own business operations.

9.2 The customer may adapt the software for its own internal business purposes. Modified versions may not be publicly distributed or made commercially available to third parties without the Provider's express written consent.

9.3 Transfer, sublicensing, rental, leasing or other provision of the License File or the software to third parties is not permitted without express written consent.

9.4 The use of ip·Solis to build a competing hosted or managed service offered to third parties is expressly excluded.

9.5 The customer is obliged to leave all copyright, trademark and license notices in the software unchanged. The license does not grant any rights to the Provider's trademarks, names or logos, in particular not to the designation "ip·Solis".

9.6 The grant of rights only becomes effective upon full receipt of the remuneration owed.

9.7 If the customer seriously infringes the rights of use, the Provider may terminate the contract extraordinarily. The right of use then expires immediately; the customer uninstalls all instances and deletes all License Files, which it confirms to the Provider in writing on request.

9.8 The statutory provisions on mandatory use pursuant to sec. 69d German Copyright Act (UrhG) remain unaffected.

10) Customer Obligations and Cooperation

10.1 System requirements: The customer is solely responsible for an operating environment that complies with the system requirements documented by the Provider. This includes at least:

  • a supported Linux distribution with a current kernel,
  • Docker Engine in a version approved by the Provider, and Docker Compose V2,
  • sufficient CPU, RAM and storage resources as per the installation documentation,
  • a correctly configured reverse proxy (e.g. Nginx) with TLS,
  • a functioning network connection to the configured external systems (AD, SMTP, vSphere, SCCM, etc.).

Claims for defects lapse if the defect is attributable to non-compliance with these requirements.

10.2 No unauthorized changes to infrastructure or images: The customer may not modify the Docker images provided by the Provider on its own authority unless expressly provided for in the documentation. Claims for defects lapse for damage caused by modifications to images, containers or the configuration that were not approved by the Provider.

10.3 Data backup: As ip·Solis is operated on-premises at the customer's site and all data resides in the customer's Docker environment, the customer is solely responsible for regular, verified backups of all persistent data – in particular the PostgreSQL database volumes, configuration files and License Files. Backups must be performed at least daily and stored on a medium separate from the production system. In the event of data loss, the Provider is liable solely for the effort that would have been required to restore the last backed-up state had the backup been performed properly.

10.4 Cooperation in remedying defects: In the event of a malfunction, the customer is obliged to promptly provide the Provider with complete diagnostic data for reproduction and analysis. This includes in particular:

  • complete container logs (docker logs <container> or docker compose logs),
  • relevant configuration files (without credentials),
  • a reproducible description of the error, including the software version used (Git commit hash or image tag).

Without such cooperation, the Provider is released from the obligation to remedy defects without undue delay.

10.5 Updates: In a pure B2B relationship without a separate service-level agreement, there is no automatic update obligation on the part of the Provider. The Provider informs about critical security updates; installation is the customer's responsibility. The customer is obliged to install critical security updates promptly. Damage caused by failure to update does not fall within the Provider's sphere of liability.

10.6 License File: The customer keeps the License File secure and protects it against unauthorized access. It ensures that the License File is renewed in good time before expiry (cf. sec. 4.4).

11) Liability for Defects

11.1 Liability for defects depends on the usage model: for free use, exclusively pursuant to secs. 3.2 and 3.3 (secs. 521, 524 BGB); for commercial licensing, pursuant to the following provisions and secs. 4.2 and 4.3.

11.2 Under a commercial license, the Provider owes the freedom from defects of the licensed software within the respective documented functional scope, as well as the correct issuance, validity and conformity of the License File with the ordered license scope. Claims for defects due to malfunctions of the software exist only if the requirements under sec. 4.3 are fully met. There is no defect in the case of immaterial deviations from the documented characteristics or impairments resulting from the customer's operating environment, configuration or third-party systems.

11.3 Strict liability for initial defects (sec. 536a(1) BGB) is expressly excluded pursuant to sec. 4.2.

11.4 The limitation period for claims for defects under commercial licensing is one year from provision of the License File, unless mandatory statutory provisions provide otherwise.

11.5 Excluded from liability for defects are malfunctions attributable to third-party open-source components, provided the Provider has exercised customary care (in particular regular dependency scans).

12) Limitation of Liability

12.1 The Provider is liable without limitation for intent, gross negligence, and for injury to life, body or health. Liability under the Product Liability Act and for a guarantee assumed by the Provider remains unaffected.

12.2 In the case of slight negligence, the Provider is liable only for breach of material contractual obligations (cardinal obligations), the fulfilment of which is essential to the proper performance of the contract and on whose observance the customer regularly relies. In such cases, liability is limited to the foreseeable damage typical for this type of contract, but at most to the sum of the license fees actually paid by the customer to the Provider in the twelve months preceding the occurrence of the damage (annual amount).

12.3 Notwithstanding the unlimited liability under sec. 12.1 and the liability under sec. 12.2, any further liability of the Provider is excluded. Within the scope of liability for slight negligence, the Provider in particular assumes no liability for:

  • data loss or business interruptions due to inadequate data backup by the customer (cf. sec. 10.3),
  • damage caused by the customer's Linux configuration, faulty Docker daemons, network settings or insufficient hardware,
  • damage caused by third-party open-source components outside the Provider's control,
  • damage caused by the customer's unauthorized modifications,
  • damage caused by security vulnerabilities resulting from the customer's failure to update (cf. sec. 10.5),
  • business interruptions caused by the automatic switch to evaluation mode after license expiry (cf. sec. 4.4).

12.4 These limitations of liability also apply to the personal liability of the Provider's employees, representatives and vicarious agents.

12.5 For free use, only the liability provisions in secs. 3.2 and 3.3 apply.

13) Term and Termination (Commercial License)

13.1 Subscription licenses have a minimum term of twelve months unless expressly agreed otherwise. They automatically renew for one further year unless a party terminates in text form no later than 30 days before the end of the respective term.

13.2 Perpetual licenses are unlimited in time and require no termination as long as the terms of use are observed.

13.3 The right to extraordinary termination for good cause remains unaffected. Good cause exists in particular in the case of a serious or repeated infringement of the rights of use under sec. 9, default in payment of more than 60 days despite a reminder, and the opening of insolvency proceedings over the customer's assets or their rejection for lack of assets.

13.4 Upon termination of the contractual relationship – for whatever reason – all installations of the software must be uninstalled and all License Files irrevocably deleted. The customer confirms this to the Provider in text form on request. Use of the software after the end of the contract without a valid License File constitutes a copyright infringement.

14) Applicable Law

All legal relationships between the parties are governed by the law of the Federal Republic of Germany, excluding the UN Convention on Contracts for the International Sale of Goods (CISG) and the conflict-of-law rules of private international law.

15) Place of Jurisdiction

The exclusive place of jurisdiction for all disputes arising from this contract is Munich, provided the customer is a merchant, a legal entity under public law or a special fund under public law, or has no general place of jurisdiction in Germany. The Provider is also entitled to sue the customer at the customer's place of jurisdiction.

16) Alternative Dispute Resolution

The Provider is neither obliged nor willing to participate in dispute-resolution proceedings before a consumer arbitration board. As ip·Solis is distributed exclusively to entrepreneurs and legal entities under public law (cf. sec. 1.2), EU Regulation No. 524/2013 on online dispute resolution does not apply.


Annex 1: Open-Source Components

The following list covers the primary direct open-source dependencies on which ip·Solis is built. It is maintained on an ongoing basis in the repository and reconciled with the actual Software Bill of Materials (SBOM) on each release. Full license texts for all direct and transitive dependencies (including copyright notices) are included in the file THIRD-PARTY-LICENSES.md in the repository and are incorporated by reference into this Annex. As of: ip·Solis v0.6.4.

Web Framework & API

Component Version License Purpose
FastAPI 0.115.6 MIT Web framework / API routes
uvicorn 0.34.0 BSD-3-Clause ASGI server

Database

Component Version License Purpose
SQLAlchemy 2.0.36 MIT ORM / database abstraction
asyncpg 0.30.0 Apache-2.0 Async PostgreSQL driver (API)
psycopg2-binary 2.9.10 LGPL-3+ Sync PostgreSQL driver (Alembic, Celery)
alembic 1.14.0 MIT Database migrations

Task Queue / Worker

Component Version License Purpose
Celery 5.4.0 BSD-3-Clause Distributed task queue / worker
celery-redbeat 2.3.2 Apache-2.0 Redis-backed Beat scheduler (HA-capable)
redis (Python client) 5.2.1 MIT Redis client (broker / result backend)
croniter 3.0.3 MIT Cron expression parser (standalone runbooks)

Validation & Configuration

Component Version License Purpose
pydantic 2.10.4 MIT Data validation / schemas
pydantic-settings 2.7.0 MIT Configuration via environment variables
python-dotenv 1.0.1 BSD-3-Clause .env file parsing
PyYAML ≥ 6.0 MIT YAML parsing (operator key overrides)

HTTP & Networking

Component Version License Purpose
httpx 0.28.1 BSD-3-Clause Async HTTP client
python-multipart 0.0.20 Apache-2.0 Multipart form parsing (file upload)
aiosmtplib 3.0.2 MIT Async SMTP (email delivery)

Authentication & Security

Component Version License Purpose
msal ≥ 1.31.0 MIT Entra ID / Azure AD SSO (portal authentication)
itsdangerous ≥ 2.2.0 BSD-3-Clause Session cookie signing
cryptography ≥ 43.0.0 Apache-2.0 AND BSD-3-Clause Ed25519 license signature verification

Active Directory / LDAP

Component Version License Purpose
msldap current MIT LDAP/NTLM integration with Active Directory

Templating & Frontend Rendering

Component Version License Purpose
jinja2 3.1.4 BSD-3-Clause Server-side HTML templating (Admin UI / Portal)
aiofiles 24.1.0 Apache-2.0 Async file I/O
markdown 3.7 BSD-3-Clause Markdown-to-HTML rendering
bleach 6.2.0 Apache-2.0 HTML sanitization (XSS protection)

Monitoring & Observability

Component Version License Purpose
prometheus-client 0.21.0 Apache-2.0 Prometheus metrics endpoint (/metrics)
opentelemetry-api 1.29.0 Apache-2.0 OpenTelemetry tracing API
opentelemetry-sdk 1.29.0 Apache-2.0 OpenTelemetry tracing SDK
opentelemetry-exporter-otlp-proto-http 1.29.0 Apache-2.0 OTLP trace export (HTTP/Protobuf)
opentelemetry-instrumentation-fastapi 0.50b0 Apache-2.0 Automatic FastAPI instrumentation
opentelemetry-instrumentation-sqlalchemy 0.50b0 Apache-2.0 Automatic SQLAlchemy instrumentation
opentelemetry-instrumentation-celery 0.50b0 Apache-2.0 Automatic Celery instrumentation
structlog 24.4.0 MIT Structured logging
flower 2.0.1 BSD-3-Clause Celery monitoring web UI

Infrastructure (Runtime, not in the Python package tree)

Component Version License Purpose
PostgreSQL 16 PostgreSQL License Relational database
Redis current BSD-3-Clause Message broker / result backend / Beat store
nginx current BSD-2-Clause Reverse proxy / TLS termination

Frontend (CDN, runtime inclusion only)

Component Version License Purpose
HTMX current BSD-2-Clause Hypermedia-based frontend (no build step)
Tailwind CSS current (CDN JIT) MIT Utility-first CSS framework

— End of the Terms (non-binding English convenience translation) —

Terms and Conditions — ip·Solis — ip·Solis