diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/.classpath b/bundles/org.eclipse.passage.lic.keys.ecore/.classpath
new file mode 100644
index 000000000..22f30643c
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/.project b/bundles/org.eclipse.passage.lic.keys.ecore/.project
new file mode 100644
index 000000000..09e073779
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/.project
@@ -0,0 +1,34 @@
+
+
+ org.eclipse.passage.lic.keys.ecore
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ org.eclipse.pde.api.tools.apiAnalysisBuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+ org.eclipse.pde.api.tools.apiAnalysisNature
+
+
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.passage.lic.keys.ecore/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..e50443cff
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lic.keys.ecore/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..49666f12e
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: org.eclipse.passage.lic.keys.ecore
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.passage.lic.keys.ecore
+Bundle-Version: 2.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Copyright: %Bundle-Copyright
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.passage.lic.keys.ecore/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 000000000..290202513
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,23 @@
+#Properties file for org.eclipse.passage.lic.keys.ecore
+###############################################################################
+# Copyright (c) 2021 ArSysOp
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License 2.0 which is available at
+# https://www.eclipse.org/legal/epl-2.0/.
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# ArSysOp - initial API and implementation
+###############################################################################
+
+Bundle-Name = Passage LIC Keys Ecore
+Bundle-Vendor = Eclipse Passage
+Bundle-Copyright = Copyright (c) 2021 ArSysOp.\n\
+\n\
+This program and the accompanying materials are made\n\
+available under the terms of the Eclipse Public License 2.0\n\
+which is available at https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/about.html b/bundles/org.eclipse.passage.lic.keys.ecore/about.html
new file mode 100644
index 000000000..164f781a8
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/about.html
@@ -0,0 +1,36 @@
+
+
+
+
+About
+
+
+ About This Content
+
+ November 30, 2017
+ License
+
+
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at http://www.eclipse.org/legal/epl-2.0.
+ For purposes of the EPL, "Program" will mean the Content.
+
+
+
+ If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at http://www.eclipse.org.
+
+
+
+
\ No newline at end of file
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/build.properties b/bundles/org.eclipse.passage.lic.keys.ecore/build.properties
new file mode 100644
index 000000000..77cbf0acb
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2021 ArSysOp
+#
+# This program and the accompanying materials are made available under the
+# terms of the Eclipse Public License 2.0 which is available at
+# https://www.eclipse.org/legal/epl-2.0/.
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# ArSysOp - initial API and implementation
+###############################################################################
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ OSGI-INF/,\
+ model/,\
+ about.html
+src.includes = model/
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/model/keys.ecore b/bundles/org.eclipse.passage.lic.keys.ecore/model/keys.ecore
new file mode 100644
index 000000000..8c2fce113
--- /dev/null
+++ b/bundles/org.eclipse.passage.lic.keys.ecore/model/keys.ecore
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.eclipse.passage.lic.keys.ecore/src/.gitkeep b/bundles/org.eclipse.passage.lic.keys.ecore/src/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/releng/org.eclipse.passage.lic.aggregator/pom.xml b/releng/org.eclipse.passage.lic.aggregator/pom.xml
index f374297d9..a74c7ae48 100644
--- a/releng/org.eclipse.passage.lic.aggregator/pom.xml
+++ b/releng/org.eclipse.passage.lic.aggregator/pom.xml
@@ -119,6 +119,8 @@
../../tests/org.eclipse.passage.lic.licenses.model.tests
../../tests/org.eclipse.passage.lic.licenses.migration.tests
+ ../../bundles/org.eclipse.passage.lic.keys.ecore
+
../../bundles/org.eclipse.passage.lic.compile.branding
../../features/org.eclipse.passage.lic.compile.feature