Compare commits

...

1 Commits

Author SHA1 Message Date
74b1823f69 chore(license): enroll secubox-hub in CMSD header check (ref #81)
Applies the CMSD-1.0 SPDX header to 51 files in packages/secubox-hub:
  - 22 JS, 14 CSS, 9 HTML, 3 Python, 2 conf, 1 YAML, 1 Markdown
  - Header rendered per language; HTML headers placed after <!DOCTYPE>
  - 1 file skipped (foreign SPDX): secubox.css carries Apache-2.0

Adds `packages/secubox-hub/**` to scripts/license-headers-enrolled.txt
so CI's --check now enforces the header on this package.

Phase B pilot. Validates the workflow before scaling to the remaining
13 secubox-* packages and shared dirs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 11:04:25 +02:00
52 changed files with 302 additions and 0 deletions

View File

@ -1,3 +1,10 @@
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
# 🏠 SecuBox Hub # 🏠 SecuBox Hub
Central dashboard and control center Central dashboard and control center

View File

@ -0,0 +1,5 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.

View File

@ -1,3 +1,8 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.
"""secubox-hub — Dashboard central SecuBox""" """secubox-hub — Dashboard central SecuBox"""
from fastapi import FastAPI, APIRouter, Depends, HTTPException from fastapi import FastAPI, APIRouter, Depends, HTTPException
from pydantic import BaseModel from pydantic import BaseModel

View File

@ -0,0 +1,5 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.

View File

@ -1,3 +1,8 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.
# debian/secubox.yaml # debian/secubox.yaml
# Auto-generated from debian/control # Auto-generated from debian/control

View File

@ -1,3 +1,8 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.
# /etc/nginx/secubox.d/hub.conf # /etc/nginx/secubox.d/hub.conf
# Installed by secubox-hub package # Installed by secubox-hub package
# Using TCP port for VM compatibility (Unix socket has issues in some VMs) # Using TCP port for VM compatibility (Unix socket has issues in some VMs)

View File

@ -1,3 +1,8 @@
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.
# Shared SecuBox resources - include in all server blocks # Shared SecuBox resources - include in all server blocks
# CORS enabled for CDN banner injection from any origin # CORS enabled for CDN banner injection from any origin
location /shared/ { location /shared/ {

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* SecuBox Alerts Page Styles * Version: 0.3.0 /* SecuBox Alerts Page Styles * Version: 0.3.0
*/ */

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
/** /**
* SecuBox Master API * SecuBox Master API

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* SecuBox App Store Styles */ /* SecuBox App Store Styles */
.secubox-apps-page { .secubox-apps-page {

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* SecuBox Module - Common Styles (Design System v0.3.0) * SecuBox Module - Common Styles (Design System v0.3.0)
* Shared styles for consistent SecuBox design across all modules * Shared styles for consistent SecuBox design across all modules

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* SecuBox Control Center UI - regenerated to match design brief */ /* SecuBox Control Center UI - regenerated to match design brief */
:root { :root {

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* SecuBox Help System Styles * SecuBox Help System Styles
* Version: 1.0.0 * Version: 1.0.0

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require baseclass'; 'require baseclass';
'require ui'; 'require ui';

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* SecuBox Modules Page Styles * Version: 0.3.0 /* SecuBox Modules Page Styles * Version: 0.3.0
*/ */

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* SecuBox Monitoring Page Styles * Version: 0.3.0 /* SecuBox Monitoring Page Styles * Version: 0.3.0
*/ */

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require baseclass'; 'require baseclass';
'require secubox-theme/theme as Theme'; 'require secubox-theme/theme as Theme';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require baseclass'; 'require baseclass';
'require secubox/api as API'; 'require secubox/api as API';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require poll'; 'require poll';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require dom'; 'require dom';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require secubox-theme/theme as Theme'; 'require secubox-theme/theme as Theme';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require secubox-theme/theme as Theme'; 'require secubox-theme/theme as Theme';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require form'; 'require form';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require ui'; 'require ui';

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
'use strict'; 'use strict';
'require view'; 'require view';
'require poll'; 'require poll';

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
/** /**
* *
* SECUBOX API UTILITIES Safe JSON Fetch with Error Recovery * SECUBOX API UTILITIES Safe JSON Fetch with Error Recovery

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
/** /**
* *
* SECUBOX COMPONENTS v2.0 * SECUBOX COMPONENTS v2.0

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
/** /**
* CRT ENGINE v1.0 SecuBox Edition * CRT ENGINE v1.0 SecuBox Edition
* ASR-33 Teletype simulation · VT100 cursor · PDP-1 boot * ASR-33 Teletype simulation · VT100 cursor · PDP-1 boot

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* /*
* *
* SECUBOX LIGHT THEME v2.0 * SECUBOX LIGHT THEME v2.0

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/* /*
* *
* SECUBOX DARK THEME v2.0 * SECUBOX DARK THEME v2.0

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* *
* SECUBOX DESIGN TOKENS CSS Custom Properties * SECUBOX DESIGN TOKENS CSS Custom Properties

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
/** /**
* *
* SECUBOX HEALTH BANNER Global Health Monitor with Smart Doctor * SECUBOX HEALTH BANNER Global Health Monitor with Smart Doctor

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* *
* SECUBOX HYBRID SKIN Glass Morphism + Matrix Terminal * SECUBOX HYBRID SKIN Glass Morphism + Matrix Terminal

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* *
* SECUBOX SIDEBAR LIGHT THEME v2.0 * SECUBOX SIDEBAR LIGHT THEME v2.0

View File

@ -1,3 +1,10 @@
/*
* SPDX-License-Identifier: LicenseRef-CMSD-1.0
* Copyright (c) 2026 CyberMind Gérald Kerma <devel@cybermind.fr>
* Source-Disclosed License All rights reserved except as expressly granted.
* See LICENCE-CMSD-1.0.md for terms.
*/
/** /**
* *
* SECUBOX SIDEBAR DARK THEME v2.0 * SECUBOX SIDEBAR DARK THEME v2.0

View File

@ -1,3 +1,8 @@
// SPDX-License-Identifier: LicenseRef-CMSD-1.0
// Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
// Source-Disclosed License — All rights reserved except as expressly granted.
// See LICENCE-CMSD-1.0.md for terms.
/** /**
* *
* SECUBOX SIDEBAR Health-Aware Navigation + Hybrid Skin Injector * SECUBOX SIDEBAR Health-Aware Navigation + Hybrid Skin Injector

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en" data-theme="dark"> <html lang="en" data-theme="dark">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -1,4 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<!--
SPDX-License-Identifier: LicenseRef-CMSD-1.0
Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
Source-Disclosed License — All rights reserved except as expressly granted.
See LICENCE-CMSD-1.0.md for terms.
-->
<html lang="en" data-theme="dark"> <html lang="en" data-theme="dark">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">

View File

@ -6,3 +6,4 @@
scripts/license-headers.py scripts/license-headers.py
tests/test_license_headers.py tests/test_license_headers.py
.github/workflows/license-check.yml .github/workflows/license-check.yml
packages/secubox-hub/**