diff --git a/privacyidea/api/container.py b/privacyidea/api/container.py
index b8a4a844a4..2cd0c412ce 100644
--- a/privacyidea/api/container.py
+++ b/privacyidea/api/container.py
@@ -1,3 +1,22 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Nils Behlen
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
import logging
from flask import Blueprint, request, g
diff --git a/privacyidea/lib/container.py b/privacyidea/lib/container.py
index 976ea2762d..2b98ba2bb1 100644
--- a/privacyidea/lib/container.py
+++ b/privacyidea/lib/container.py
@@ -1,3 +1,22 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Nils Behlen
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
import importlib
import logging
import os
diff --git a/privacyidea/lib/containerclass.py b/privacyidea/lib/containerclass.py
index cc5ad1f212..cc93654766 100644
--- a/privacyidea/lib/containerclass.py
+++ b/privacyidea/lib/containerclass.py
@@ -1,3 +1,22 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Nils Behlen
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
import logging
from datetime import datetime, timezone
diff --git a/privacyidea/lib/containers/smartphone.py b/privacyidea/lib/containers/smartphone.py
index 49fc1e811a..7423de30cd 100644
--- a/privacyidea/lib/containers/smartphone.py
+++ b/privacyidea/lib/containers/smartphone.py
@@ -1,3 +1,22 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Nils Behlen
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
import logging
from privacyidea.lib.containerclass import TokenContainerClass
diff --git a/privacyidea/lib/containers/yubikey.py b/privacyidea/lib/containers/yubikey.py
index 3fdc4c2875..fb7abd2689 100644
--- a/privacyidea/lib/containers/yubikey.py
+++ b/privacyidea/lib/containers/yubikey.py
@@ -1,3 +1,22 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Nils Behlen
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
import logging
from privacyidea.lib.containerclass import TokenContainerClass
diff --git a/privacyidea/lib/eventhandler/containerhandler.py b/privacyidea/lib/eventhandler/containerhandler.py
index cfe979b7f6..58ce17d04e 100644
--- a/privacyidea/lib/eventhandler/containerhandler.py
+++ b/privacyidea/lib/eventhandler/containerhandler.py
@@ -1,3 +1,21 @@
+# (c) NetKnights GmbH 2024, https://netknights.it
+#
+# This code is free software; you can redistribute it and/or
+# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+# as published by the Free Software Foundation; either
+# version 3 of the License, or any later version.
+#
+# This code is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program. If not, see .
+#
+# SPDX-FileCopyrightText: 2024 Jelina Unger
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
__doc__ = """This is the event handler module for container actions.
"""
diff --git a/privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html b/privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html
index a881668639..df4d0acd0b 100644
--- a/privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html
+++ b/privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html
@@ -1,3 +1,21 @@
+
+
.
+ *
+ * SPDX-FileCopyrightText: 2024 Nils Behlen
+ * SPDX-FileCopyrightText: 2024 Jelina Unger
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+**/
+
myApp.controller("containerCreateController", ['$scope', '$http', '$q', 'ContainerFactory', '$stateParams',
'AuthFactory', 'ConfigFactory', 'UserFactory', '$state',
function createContainerController($scope, $http, $q, ContainerFactory, $stateParams,
diff --git a/privacyidea/static/components/token/factories/container.js b/privacyidea/static/components/token/factories/container.js
index 9537c99a57..d9bbad391b 100644
--- a/privacyidea/static/components/token/factories/container.js
+++ b/privacyidea/static/components/token/factories/container.js
@@ -1,3 +1,24 @@
+/**
+ * (c) NetKnights GmbH 2024, https://netknights.it
+ *
+ * This code is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This code is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see .
+ *
+ * SPDX-FileCopyrightText: 2024 Nils Behlen
+ * SPDX-FileCopyrightText: 2024 Jelina Unger
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+**/
+
myApp.factory("ContainerFactory", ['AuthFactory', '$http', 'containerUrl', '$q', '$state', '$rootScope',
function (AuthFactory, $http, containerUrl, $q, $state, $rootScope) {
let canceller = $q.defer();
diff --git a/privacyidea/static/components/token/states/states.js b/privacyidea/static/components/token/states/states.js
index d4c223828b..bb50505e47 100644
--- a/privacyidea/static/components/token/states/states.js
+++ b/privacyidea/static/components/token/states/states.js
@@ -22,30 +22,7 @@
* License along with this program. If not, see .
*
*/
-/*
-angular.module('privacyideaApp.containerStates', ['ui.router', 'privacyideaApp.versioning'])
- .config(['$stateProvider', 'versioningSuffixProviderProvider',
- function ($stateProvider, versioningSuffixProviderProvider) {
- let instance = window.location.pathname;
- if (instance === "/") {
- instance = "";
- }
- // TODO change to container path if needed
- let tokenpath = instance + "/static/components/token/views/";
- $stateProvider
- .state('container', {
- url: "/container",
- templateUrl: tokenpath + "token.containercreate.html" + versioningSuffixProviderProvider.$get().$get(),
- controller: "containerCreateController"
- })
- .state('container.create', {
- url: "/container/create",
- templateUrl: tokenpath + "token.containercreate.html" + versioningSuffixProviderProvider.$get().$get(),
- controller: "containerCreateController"
- })
- }
- ]);
-*/
+
angular.module('privacyideaApp.tokenStates', ['ui.router', 'privacyideaApp.versioning']).config(
['$stateProvider', 'versioningSuffixProviderProvider',
function ($stateProvider, versioningSuffixProviderProvider) {
diff --git a/privacyidea/static/components/token/views/token.containercreate.html b/privacyidea/static/components/token/views/token.containercreate.html
index 24677c7099..19f4d6f12e 100644
--- a/privacyidea/static/components/token/views/token.containercreate.html
+++ b/privacyidea/static/components/token/views/token.containercreate.html
@@ -1,3 +1,21 @@
+
+