Copyright © Cinfo Contenidos Informativos Personalizados SL. All rights reserved.
All custom code in this repository is closed source and is the property of Cinfo Contenidos Informativos Personalizados SL. It may not be copied, distributed, modified or used outside Cinfo without written permission.
The components below are used under their own licenses. License identifiers follow the SPDX license list. Update this table whenever a dependency is added or removed, and regenerate `sbom.spdx.json` and `sbom.spdx.yml` with it.
| Component | Version | License | License text |
|---|---|---|---|
| FastAPI | 0.118.0 | MIT | https://spdx.org/licenses/MIT.html |
| Uvicorn | 0.37.0 | BSD-3-Clause | https://spdx.org/licenses/BSD-3-Clause.html |
| SQLAlchemy | 2.0.43 | MIT | https://spdx.org/licenses/MIT.html |
| Alembic | 1.16.5 | MIT | https://spdx.org/licenses/MIT.html |
| psycopg | 3.2.10 | LGPL-3.0-or-later | https://spdx.org/licenses/LGPL-3.0-or-later.html |
| Pydantic | 2.11.9 | MIT | https://spdx.org/licenses/MIT.html |
| pydantic-settings | 2.11.0 | MIT | https://spdx.org/licenses/MIT.html |
| python-multipart | 0.0.20 | Apache-2.0 | https://spdx.org/licenses/Apache-2.0.html |
| Jinja2 | 3.1.6 | BSD-3-Clause | https://spdx.org/licenses/BSD-3-Clause.html |
| HTTPX | 0.28.1 | BSD-3-Clause | https://spdx.org/licenses/BSD-3-Clause.html |
| PyJWT | 2.10.1 | MIT | https://spdx.org/licenses/MIT.html |
| cryptography | 46.0.1 | Apache-2.0 OR BSD-3-Clause | https://spdx.org/licenses/Apache-2.0.html |
| redis-py | 6.4.0 | MIT | https://spdx.org/licenses/MIT.html |
| ItsDangerous | 2.2.0 | BSD-3-Clause | https://spdx.org/licenses/BSD-3-Clause.html |
| boto3 | 1.40.29 | Apache-2.0 | https://spdx.org/licenses/Apache-2.0.html |
| Component | Version | License | License text |
|---|---|---|---|
| pytest | 8.4.2 | MIT | https://spdx.org/licenses/MIT.html |
| pytest-cov | 7.0.0 | MIT | https://spdx.org/licenses/MIT.html |
| pytest-asyncio | 1.2.0 | Apache-2.0 | https://spdx.org/licenses/Apache-2.0.html |
| Component | Version | License | License text |
|---|---|---|---|
| htmx | 2.0.7 | BSD-2-Clause | https://spdx.org/licenses/BSD-2-Clause.html |
| Tailwind CSS | 4.1.13 | MIT | https://spdx.org/licenses/MIT.html |
| daisyUI | 5.1.7 | MIT | https://spdx.org/licenses/MIT.html |
| Component | Version | License | License text |
|---|---|---|---|
| @tailwindcss/cli | 4.1.13 | MIT | https://spdx.org/licenses/MIT.html |
| @playwright/test | 1.55.1 | Apache-2.0 | https://spdx.org/licenses/Apache-2.0.html |
| Component | Version | License | License text |
|---|---|---|---|
| PostgreSQL | 18-alpine | PostgreSQL | https://spdx.org/licenses/PostgreSQL.html |
| Redis | 8-alpine | AGPL-3.0-only | https://spdx.org/licenses/AGPL-3.0-only.html |
| MinIO | latest | AGPL-3.0-only | https://spdx.org/licenses/AGPL-3.0-only.html |
| MinIO Client (mc) | latest | AGPL-3.0-only | https://spdx.org/licenses/AGPL-3.0-only.html |
| nginx | alpine | BSD-2-Clause | https://spdx.org/licenses/BSD-2-Clause.html |
| nginx-unprivileged | alpine | BSD-2-Clause | https://spdx.org/licenses/BSD-2-Clause.html |
| OWASP ModSecurity Core Rule Set | nginx-alpine | Apache-2.0 | https://spdx.org/licenses/Apache-2.0.html |
| Python | 3.12-slim | PSF-2.0 | https://spdx.org/licenses/PSF-2.0.html |
| Node.js | 22-alpine | MIT | https://spdx.org/licenses/MIT.html |
| Alpine Linux | latest stable | MIT | https://spdx.org/licenses/MIT.html |
MinIO and its client are distributed under AGPL-3.0-only. Both run as unmodified upstream
containers and this service talks to MinIO over its S3 API, so no Cinfo code is a derivative
work of them. Do not vendor or patch MinIO source into this repository. The backend speaks
plain S3 through boto3, so swapping MinIO for AWS S3 is a configuration change.
Redis 8 is distributed under AGPL-3.0-only. It runs as an unmodified upstream container and this service communicates with it over the network only, so no Cinfo code is a derivative work of it. Do not vendor or patch Redis source into this repository.
psycopg 3 is LGPL-3.0-or-later. It is used as an unmodified library through its public API, which the LGPL permits for closed source software. Do not modify it in place; replace it with a newer release instead.