diff --git a/.gitpod/sample_data.sql b/.gitpod/sample_data.sql
index cdd08ebc..7b0b14c8 100644
--- a/.gitpod/sample_data.sql
+++ b/.gitpod/sample_data.sql
@@ -1,16 +1,9 @@
-insert into organization (organization_id, name, home_url, logo_url, foundation)
-values ('00000001-0000-0000-0000-000000000000', 'artifact-hub', 'https://artifacthub.io/', 'https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg', 'cncf');
-insert into organization (organization_id, name, home_url, logo_url, foundation)
-values ('00000002-0000-0000-0000-000000000000', 'containerd', 'https://containerd.io', 'https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg', 'cncf');
-insert into organization (organization_id, name, home_url, logo_url, foundation)
-values ('00000003-0000-0000-0000-000000000000', 'core-dns', 'https://coredns.io', 'https://raw.githubusercontent.com/cncf/artwork/master/projects/coredns/icon/color/coredns-icon-color.svg', 'cncf');
-
-insert into project (project_id, name, display_name, description, category, devstats_url, maturity, organization_id)
-values ('00000000-0001-0000-0000-000000000000', 'artifact-hub', 'Artifact Hub', 'Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.', 'app definition', 'https://artifacthub.devstats.cncf.io/', 'sandbox', '00000001-0000-0000-0000-000000000000');
-insert into project (project_id, name, description, category, devstats_url, maturity, organization_id)
-values ('00000000-0002-0000-0000-000000000000', 'containerd', 'An industry-standard container runtime with an emphasis on simplicity, robustness and portability.', 'runtime', 'https://containerd.devstats.cncf.io', 'graduated', '00000002-0000-0000-0000-000000000000');
-insert into project (project_id, name, display_name, category, description, devstats_url, maturity, organization_id)
-values ('00000000-0003-0000-0000-000000000000', 'core-dns', 'CoreDNS', 'CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility.', 'orchestration', 'https://coredns.devstats.cncf.io', 'graduated', '00000003-0000-0000-0000-000000000000');
+insert into project (project_id, name, display_name, description, category, devstats_url, maturity, foundation_id)
+values ('00000000-0001-0000-0000-000000000000', 'artifact-hub', 'Artifact Hub', 'Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.', 'app definition', 'https://artifacthub.devstats.cncf.io/', 'sandbox', 'cncf');
+insert into project (project_id, name, description, category, devstats_url, maturity, foundation_id)
+values ('00000000-0002-0000-0000-000000000000', 'containerd', 'An industry-standard container runtime with an emphasis on simplicity, robustness and portability.', 'runtime', 'https://containerd.devstats.cncf.io', 'graduated', 'cncf');
+insert into project (project_id, name, display_name, category, description, devstats_url, maturity, foundation_id)
+values ('00000000-0003-0000-0000-000000000000', 'core-dns', 'CoreDNS', 'CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility.', 'orchestration', 'https://coredns.devstats.cncf.io', 'graduated', 'cncf');
 
 insert into repository (repository_id, name, url, check_sets, project_id)
 values ('00000000-0000-0001-0000-000000000000', 'artifact-hub', 'https://github.com/artifacthub/hub', '{community,code}', '00000000-0001-0000-0000-000000000000');
diff --git a/clomonitor-apiserver/src/db.rs b/clomonitor-apiserver/src/db.rs
index 4fd07f7a..d2a10299 100644
--- a/clomonitor-apiserver/src/db.rs
+++ b/clomonitor-apiserver/src/db.rs
@@ -22,28 +22,13 @@ type Count = i64;
 #[cfg_attr(test, automock)]
 pub(crate) trait DB {
     /// Get project's details in json format.
-    async fn project(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<JsonString>>;
+    async fn project(&self, foundation: &str, project: &str) -> Result<Option<JsonString>>;
 
     /// Get project's rating.
-    async fn project_rating(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<String>>;
+    async fn project_rating(&self, foundation: &str, project: &str) -> Result<Option<String>>;
 
     /// Get project's score.
-    async fn project_score(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<Score>>;
+    async fn project_score(&self, foundation: &str, project: &str) -> Result<Option<Score>>;
 
     /// Get all repositories including checks details.
     async fn repositories_with_checks(&self) -> Result<String>;
@@ -69,31 +54,21 @@ impl PgDB {
 
 #[async_trait]
 impl DB for PgDB {
-    async fn project(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<JsonString>> {
+    async fn project(&self, foundation: &str, project: &str) -> Result<Option<JsonString>> {
         let row = self
             .pool
             .get()
             .await?
             .query_one(
-                "select get_project($1::text, $2::text, $3::text)::text",
-                &[&foundation, &org, &project],
+                "select get_project($1::text, $2::text)::text",
+                &[&foundation, &project],
             )
             .await?;
         let project: Option<String> = row.get(0);
         Ok(project)
     }
 
-    async fn project_rating(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<String>> {
+    async fn project_rating(&self, foundation: &str, project: &str) -> Result<Option<String>> {
         let rows = self
             .pool
             .get()
@@ -102,12 +77,10 @@ impl DB for PgDB {
                 "
                 select rating
                 from project p
-                join organization o using (organization_id)
-                where o.foundation::text = $1::text
-                and o.name = $2::text
-                and p.name = $3::text
+                where p.foundation_id = $1::text
+                and p.name = $2::text
                 ",
-                &[&foundation, &org, &project],
+                &[&foundation, &project],
             )
             .await?;
         if rows.len() != 1 {
@@ -117,12 +90,7 @@ impl DB for PgDB {
         Ok(rating)
     }
 
-    async fn project_score(
-        &self,
-        foundation: &str,
-        org: &str,
-        project: &str,
-    ) -> Result<Option<Score>> {
+    async fn project_score(&self, foundation: &str, project: &str) -> Result<Option<Score>> {
         let rows = self
             .pool
             .get()
@@ -131,12 +99,10 @@ impl DB for PgDB {
                 "
                 select score
                 from project p
-                join organization o using (organization_id)
-                where o.foundation::text = $1::text
-                and o.name = $2::text
-                and p.name = $3::text
+                where p.foundation_id = $1::text
+                and p.name = $2::text
                 ",
-                &[&foundation, &org, &project],
+                &[&foundation, &project],
             )
             .await?;
         if rows.len() != 1 {
diff --git a/clomonitor-apiserver/src/handlers.rs b/clomonitor-apiserver/src/handlers.rs
index c506b6b3..b2b06b37 100644
--- a/clomonitor-apiserver/src/handlers.rs
+++ b/clomonitor-apiserver/src/handlers.rs
@@ -40,11 +40,11 @@ pub const REPORT_SUMMARY_HEIGHT: u32 = 470;
 /// Handler that returns the information needed to render the project's badge.
 pub(crate) async fn badge(
     Extension(db): Extension<DynDB>,
-    Path((foundation, org, project)): Path<(String, String, String)>,
+    Path((foundation, project)): Path<(String, String)>,
 ) -> impl IntoResponse {
     // Get project rating from database
     let rating = db
-        .project_rating(&foundation, &org, &project)
+        .project_rating(&foundation, &project)
         .await
         .map_err(internal_error)?;
     if rating.is_none() {
@@ -121,7 +121,7 @@ pub(crate) async fn index(
 pub(crate) async fn index_project(
     Extension(cfg): Extension<Arc<Config>>,
     Extension(tmpl): Extension<Arc<Tera>>,
-    Path((foundation, org, project)): Path<(String, String, String)>,
+    Path((foundation, project)): Path<(String, String)>,
 ) -> impl IntoResponse {
     let mut ctx = Context::new();
     ctx.insert("title", &project);
@@ -129,11 +129,10 @@ pub(crate) async fn index_project(
     ctx.insert(
         "image",
         &format!(
-            "{}/projects/{}/{}/{}/report-summary.png",
+            "{}/projects/{}/{}/report-summary.png",
             cfg.get_string("apiserver.baseURL")
                 .expect("base url not found"),
             &foundation,
-            &org,
             &project
         ),
     );
@@ -151,11 +150,11 @@ pub(crate) async fn index_project(
 /// Handler that returns some information about the requested project.
 pub(crate) async fn project(
     Extension(db): Extension<DynDB>,
-    Path((foundation, org, project)): Path<(String, String, String)>,
+    Path((foundation, project)): Path<(String, String)>,
 ) -> impl IntoResponse {
     // Get project from database
     let project = db
-        .project(&foundation, &org, &project)
+        .project(&foundation, &project)
         .await
         .map_err(internal_error)?;
 
@@ -190,11 +189,11 @@ impl ReportSummaryTemplate {
 /// Handler that returns a PNG image with the project's report summary.
 pub(crate) async fn report_summary_png(
     Extension(db): Extension<DynDB>,
-    Path((foundation, org, project)): Path<(String, String, String)>,
+    Path((foundation, project)): Path<(String, String)>,
 ) -> impl IntoResponse {
     // Get project score from database
     let score = db
-        .project_score(&foundation, &org, &project)
+        .project_score(&foundation, &project)
         .await
         .map_err(internal_error)?;
     if score.is_none() {
@@ -231,12 +230,12 @@ pub(crate) async fn report_summary_png(
 /// Handler that returns an SVG image with the project's report summary.
 pub(crate) async fn report_summary_svg(
     Extension(db): Extension<DynDB>,
-    Path((foundation, org, project)): Path<(String, String, String)>,
+    Path((foundation, project)): Path<(String, String)>,
     Query(params): Query<HashMap<String, String>>,
 ) -> impl IntoResponse {
     // Get project score from database
     let score = db
-        .project_score(&foundation, &org, &project)
+        .project_score(&foundation, &project)
         .await
         .map_err(internal_error)?;
 
diff --git a/clomonitor-apiserver/src/router.rs b/clomonitor-apiserver/src/router.rs
index a67773af..b74ba31e 100644
--- a/clomonitor-apiserver/src/router.rs
+++ b/clomonitor-apiserver/src/router.rs
@@ -46,10 +46,10 @@ pub(crate) fn setup(cfg: Arc<Config>, db: DynDB) -> Result<Router> {
     // Setup API routes
     let api_routes = Router::new()
         .route("/projects/search", get(search_projects))
-        .route("/projects/:foundation/:org/:project", get(project))
-        .route("/projects/:foundation/:org/:project/badge", get(badge))
+        .route("/projects/:foundation/:project", get(project))
+        .route("/projects/:foundation/:project/badge", get(badge))
         .route(
-            "/projects/:foundation/:org/:project/report-summary",
+            "/projects/:foundation/:project/report-summary",
             get(report_summary_svg),
         )
         .route("/stats", get(stats));
@@ -57,9 +57,9 @@ pub(crate) fn setup(cfg: Arc<Config>, db: DynDB) -> Result<Router> {
     // Setup router
     let mut router = Router::new()
         .route("/", get(index))
-        .route("/projects/:foundation/:org/:project", get(index_project))
+        .route("/projects/:foundation/:project", get(index_project))
         .route(
-            "/projects/:foundation/:org/:project/report-summary.png",
+            "/projects/:foundation/:project/report-summary.png",
             get(report_summary_png),
         )
         .route("/data/repositories.csv", get(repositories_checks))
@@ -123,24 +123,21 @@ mod tests {
 
     const TESTDATA_PATH: &str = "src/testdata";
     const FOUNDATION: &str = "cncf";
-    const ORG: &str = "artifact-hub";
     const PROJECT: &str = "artifact-hub";
 
     #[tokio::test]
     async fn badge_found() {
         let mut db = MockDB::new();
         db.expect_project_rating()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| {
-                Box::pin(future::ready(Ok(Some("a".to_string()))))
-            });
+            .returning(|_: &str, _: &str| Box::pin(future::ready(Ok(Some("a".to_string())))));
 
         let response = setup_test_router(db)
             .oneshot(
                 Request::builder()
                     .method("GET")
-                    .uri(format!("/api/projects/{FOUNDATION}/{ORG}/{PROJECT}/badge"))
+                    .uri(format!("/api/projects/{FOUNDATION}/{PROJECT}/badge"))
                     .body(Body::empty())
                     .unwrap(),
             )
@@ -174,15 +171,15 @@ mod tests {
     async fn badge_not_found() {
         let mut db = MockDB::new();
         db.expect_project_rating()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| Box::pin(future::ready(Ok(None))));
+            .returning(|_: &str, _: &str| Box::pin(future::ready(Ok(None))));
 
         let response = setup_test_router(db)
             .oneshot(
                 Request::builder()
                     .method("GET")
-                    .uri(format!("/api/projects/{FOUNDATION}/{ORG}/{PROJECT}/badge"))
+                    .uri(format!("/api/projects/{FOUNDATION}/{PROJECT}/badge"))
                     .body(Body::empty())
                     .unwrap(),
             )
@@ -280,7 +277,7 @@ mod tests {
             .oneshot(
                 Request::builder()
                     .method("GET")
-                    .uri(format!("/projects/{FOUNDATION}/{ORG}/{PROJECT}"))
+                    .uri(format!("/projects/{FOUNDATION}/{PROJECT}"))
                     .body(Body::empty())
                     .unwrap(),
             )
@@ -298,7 +295,7 @@ mod tests {
             render_index(
                 PROJECT,
                 INDEX_META_DESCRIPTION_PROJECT,
-                "http://localhost:8000/projects/cncf/artifact-hub/artifact-hub/report-summary.png"
+                "http://localhost:8000/projects/cncf/artifact-hub/report-summary.png"
             )
         );
     }
@@ -307,9 +304,9 @@ mod tests {
     async fn project_found() {
         let mut db = MockDB::new();
         db.expect_project()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_, _, _| {
+            .returning(|_, _| {
                 Box::pin(future::ready(Ok(Some(
                     r#"{"project": "info"}"#.to_string(),
                 ))))
@@ -319,7 +316,7 @@ mod tests {
             .oneshot(
                 Request::builder()
                     .method("GET")
-                    .uri(format!("/api/projects/{FOUNDATION}/{ORG}/{PROJECT}"))
+                    .uri(format!("/api/projects/{FOUNDATION}/{PROJECT}"))
                     .body(Body::empty())
                     .unwrap(),
             )
@@ -342,15 +339,15 @@ mod tests {
     async fn project_not_found() {
         let mut db = MockDB::new();
         db.expect_project()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| Box::pin(future::ready(Ok(None))));
+            .returning(|_: &str, _: &str| Box::pin(future::ready(Ok(None))));
 
         let response = setup_test_router(db)
             .oneshot(
                 Request::builder()
                     .method("GET")
-                    .uri(format!("/api/projects/{FOUNDATION}/{ORG}/{PROJECT}"))
+                    .uri(format!("/api/projects/{FOUNDATION}/{PROJECT}"))
                     .body(Body::empty())
                     .unwrap(),
             )
@@ -364,16 +361,16 @@ mod tests {
     async fn report_summary_png_not_found() {
         let mut db = MockDB::new();
         db.expect_project_score()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| Box::pin(future::ready(Ok(None))));
+            .returning(|_: &str, _: &str| Box::pin(future::ready(Ok(None))));
 
         let response = setup_test_router(db)
             .oneshot(
                 Request::builder()
                     .method("GET")
                     .uri(format!(
-                        "/projects/{FOUNDATION}/{ORG}/{PROJECT}/report-summary.png"
+                        "/projects/{FOUNDATION}/{PROJECT}/report-summary.png"
                     ))
                     .body(Body::empty())
                     .unwrap(),
@@ -388,9 +385,9 @@ mod tests {
     async fn report_summary_svg_found() {
         let mut db = MockDB::new();
         db.expect_project_score()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| {
+            .returning(|_: &str, _: &str| {
                 let score = Score {
                     global: 80.0,
                     documentation: Some(80.0),
@@ -405,7 +402,7 @@ mod tests {
                 Request::builder()
                     .method("GET")
                     .uri(format!(
-                        "/api/projects/{FOUNDATION}/{ORG}/{PROJECT}/report-summary"
+                        "/api/projects/{FOUNDATION}/{PROJECT}/report-summary"
                     ))
                     .body(Body::empty())
                     .unwrap(),
@@ -429,16 +426,16 @@ mod tests {
     async fn report_summary_svg_not_found() {
         let mut db = MockDB::new();
         db.expect_project_score()
-            .with(eq(FOUNDATION), eq(ORG), eq(PROJECT))
+            .with(eq(FOUNDATION), eq(PROJECT))
             .times(1)
-            .returning(|_: &str, _: &str, _: &str| Box::pin(future::ready(Ok(None))));
+            .returning(|_: &str, _: &str| Box::pin(future::ready(Ok(None))));
 
         let response = setup_test_router(db)
             .oneshot(
                 Request::builder()
                     .method("GET")
                     .uri(format!(
-                        "/api/projects/{FOUNDATION}/{ORG}/{PROJECT}/report-summary"
+                        "/api/projects/{FOUNDATION}/{PROJECT}/report-summary"
                     ))
                     .body(Body::empty())
                     .unwrap(),
diff --git a/database/data/cncf/organizations.csv b/database/data/cncf/organizations.csv
deleted file mode 100644
index a2dcbb7a..00000000
--- a/database/data/cncf/organizations.csv
+++ /dev/null
@@ -1,128 +0,0 @@
-organization_id;name;home_url;logo_url;foundation
-00000001-0000-0000-0000-000000000000;artifact-hub;https://artifacthub.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg;cncf
-00000002-0000-0000-0000-000000000000;containerd;https://containerd.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg;cncf
-00000003-0000-0000-0000-000000000000;core-dns;https://coredns.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/coredns/icon/color/coredns-icon-color.svg;cncf
-00000004-0000-0000-0000-000000000000;envoy;https://www.envoyproxy.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/envoy/icon/color/envoy-icon-color.svg;cncf
-00000005-0000-0000-0000-000000000000;etcd;https://github.com/etcd-io;https://raw.githubusercontent.com/cncf/artwork/master/projects/etcd/icon/color/etcd-icon-color.svg;cncf
-00000006-0000-0000-0000-000000000000;fluentd;https://www.fluentd.org/;https://raw.githubusercontent.com/cncf/artwork/master/projects/fluentd/icon/color/fluentd-icon-color.svg;cncf
-00000007-0000-0000-0000-000000000000;harbor;https://goharbor.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/harbor/icon/color/harbor-icon-color.svg;cncf
-00000008-0000-0000-0000-000000000000;helm;https://helm.sh/;https://raw.githubusercontent.com/cncf/artwork/master/projects/helm/icon/color/helm-icon-color.svg;cncf
-00000009-0000-0000-0000-000000000000;jaeger;https://www.jaegertracing.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/jaeger/icon/color/jaeger-icon-color.svg;cncf
-00000010-0000-0000-0000-000000000000;kubernetes;https://kubernetes.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubernetes/icon/color/kubernetes-icon-color.svg;cncf
-00000011-0000-0000-0000-000000000000;linkerd;https://linkerd.io/;https://raw.githubusercontent.com/cncf/artwork/275957f868af92f9a1456ded0d3629cce961645c/projects/linkerd/icon/color/linkerd-icon-color.svg;cncf
-00000012-0000-0000-0000-000000000000;opa;https://www.openpolicyagent.org/;https://raw.githubusercontent.com/cncf/artwork/master/projects/opa/icon/color/opa-icon-color.svg;cncf
-00000013-0000-0000-0000-000000000000;prometheus;https://prometheus.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/prometheus/icon/color/prometheus-icon-color.svg;cncf
-00000014-0000-0000-0000-000000000000;rook;https://rook.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/rook/icon/color/rook-icon-color.svg;cncf
-00000015-0000-0000-0000-000000000000;tuf;https://theupdateframework.github.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/tuf/icon/color/tuf-icon-color.svg;cncf
-00000016-0000-0000-0000-000000000000;tikv;https://tikv.org/;https://raw.githubusercontent.com/cncf/artwork/master/projects/tikv/icon/color/tikv-icon-color.svg;cncf
-00000017-0000-0000-0000-000000000000;vitess;https://vitess.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/vitess/icon/color/vitess-icon-color.svg;cncf
-00000018-0000-0000-0000-000000000000;argo;https://argoproj.github.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/argo/icon/color/argo-icon-color.svg;cncf
-00000019-0000-0000-0000-000000000000;buildpacks;https://buildpacks.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/buildpacks/icon/color/buildpacks-icon-color.svg;cncf
-00000020-0000-0000-0000-000000000000;cilium;https://cilium.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/cilium/icon/color/cilium_icon-color.svg;cncf
-00000021-0000-0000-0000-000000000000;cloudevents;https://cloudevents.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/cloudevents/icon/color/cloudevents-icon-color.svg;cncf
-00000022-0000-0000-0000-000000000000;cni;https://github.com/containernetworking;https://raw.githubusercontent.com/cncf/artwork/master/projects/cni/icon/color/cni-icon-color.svg;cncf
-00000023-0000-0000-0000-000000000000;contour;https://projectcontour.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/contour/icon/color/contour-icon-color.svg;cncf
-00000024-0000-0000-0000-000000000000;cortex;https://github.com/cortexproject;https://raw.githubusercontent.com/cncf/artwork/master/projects/cortex/icon/color/cortex-icon-color.svg;cncf
-00000025-0000-0000-0000-000000000000;cri-o;https://cri-o.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/crio/icon/color/crio-icon-color.svg;cncf
-00000026-0000-0000-0000-000000000000;crossplane;https://crossplane.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/crossplane/icon/color/crossplane-icon-color.svg;cncf
-00000027-0000-0000-0000-000000000000;dapr;https://dapr.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/dapr/icon/color/dapr-icon-color.svg;cncf
-00000028-0000-0000-0000-000000000000;dragonfly;https://d7y.io/en-us/;https://raw.githubusercontent.com/cncf/artwork/master/projects/dragonfly/icon/color/dragonfly-icon-color.svg;cncf
-00000029-0000-0000-0000-000000000000;ambassador;https://www.getambassador.io/;https://cdn-images-1.medium.com/max/216/1*YnBpgr6Mpn_kaDlfcuVlFg@2x.png;cncf
-00000030-0000-0000-0000-000000000000;falco;https://falco.org/;https://raw.githubusercontent.com/cncf/artwork/master/projects/falco/icon/color/falco-icon-color.svg;cncf
-00000031-0000-0000-0000-000000000000;flux-cd;https://fluxcd.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/flux/icon/color/flux-icon-color.svg;cncf
-00000032-0000-0000-0000-000000000000;grpc;https://grpc.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/grpc/icon/color/grpc-icon-color.svg;cncf
-00000033-0000-0000-0000-000000000000;keda;https://keda.sh/;https://raw.githubusercontent.com/cncf/artwork/master/projects/keda/icon/color/keda-icon-color.svg;cncf
-00000034-0000-0000-0000-000000000000;kube-edge;https://kubeedge.io/en/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubeedge/icon/color/kubeedge-icon-color.svg;cncf
-00000035-0000-0000-0000-000000000000;litmus;https://litmuschaos.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/litmus/icon/color/litmus-icon-color.svg;cncf
-00000036-0000-0000-0000-000000000000;longhorn;https://github.com/longhorn/longhorn;https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.svg;cncf
-00000037-0000-0000-0000-000000000000;nats;https://nats.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/nats/icon/color/nats-icon-color.svg;cncf
-00000038-0000-0000-0000-000000000000;notary;https://github.com/notaryproject/notary;https://raw.githubusercontent.com/cncf/artwork/master/projects/notary/icon/color/notary-icon-color.svg;cncf
-00000039-0000-0000-0000-000000000000;open-telemetry;https://opentelemetry.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/opentelemetry/icon/color/opentelemetry-icon-color.svg;cncf
-00000040-0000-0000-0000-000000000000;operator-framework;https://cloud.redhat.com/learn/topics/operators;https://raw.githubusercontent.com/cncf/artwork/master/projects/operatorframework/icon/color/operatorframework-icon-color.svg;cncf
-00000041-0000-0000-0000-000000000000;spiffe;https://spiffe.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/spiffe/icon/color/spiffe-icon-color.svg;cncf
-00000042-0000-0000-0000-000000000000;thanos;https://thanos.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/thanos/icon/color/thanos-icon-color.svg;cncf
-00000043-0000-0000-0000-000000000000;akri;https://docs.akri.sh/;https://raw.githubusercontent.com/cncf/artwork/master/projects/akri/icon/light/akri-icon-light.svg;cncf
-00000044-0000-0000-0000-000000000000;antrea;https://antrea.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/antrea/icon/color/antrea-icon-color.svg;cncf
-00000045-0000-0000-0000-000000000000;athenz;https://www.athenz.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/athenz/icon/color/athenz-icon-color.svg;cncf
-00000046-0000-0000-0000-000000000000;backstage;https://backstage.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/backstage/icon/color/backstage-icon-color.svg;cncf
-00000047-0000-0000-0000-000000000000;bfenetworks;https://github.com/bfenetworks/bfe;https://raw.githubusercontent.com/cncf/artwork/master/projects/bfe/icon/color/bfe-icon-color.svg;cncf
-00000048-0000-0000-0000-000000000000;brigade;https://brigade.sh/;https://raw.githubusercontent.com/cncf/artwork/master/projects/brigade/icon/color/brigade-icon-color.svg;cncf
-00000049-0000-0000-0000-000000000000;cdk8s;https://cdk8s.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/cdk8s/icon/color/cdk8s-icon-color.svg;cncf
-00000050-0000-0000-0000-000000000000;jet-stack;https://www.jetstack.io/open-source/;https://www.venafi.com/sites/default/files/2020-08/jetstack%20TN%20logo.png;cncf
-00000051-0000-0000-0000-000000000000;chaos-mesh;https://github.com/chaos-mesh/chaos-mesh;https://raw.githubusercontent.com/cncf/artwork/master/projects/chaosmesh/icon/color/chaosmesh-icon-color.svg;cncf
-00000052-0000-0000-0000-000000000000;chaos-blade;https://github.com/chaosblade-io/chaosblade;https://raw.githubusercontent.com/cncf/artwork/master/projects/chaosblade/icon/color/chaosblade-icon-color.svg;cncf
-00000053-0000-0000-0000-000000000000;chubao-fs;https://chubao.io/cgi-sys/suspendedpage.cgi;https://raw.githubusercontent.com/cncf/artwork/master/projects/chubaofs/icon/color/chubaofs-icon-color.svg;cncf
-00000054-0000-0000-0000-000000000000;cloud-custodian;https://cloudcustodian.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/cloudcustodian/icon/color/cloudcustodian-icon-color.svg;cncf
-00000055-0000-0000-0000-000000000000;cni-genie;https://github.com/cni-genie/CNI-Genie;https://landscape.cncf.io/logos/cni-genie.svg;cncf
-00000056-0000-0000-0000-000000000000;curiefense;https://www.curiefense.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/curiefense/icon/color/curiefense-icon-color.svg;cncf
-00000057-0000-0000-0000-000000000000;dex;https://github.com/dexidp/dex;https://raw.githubusercontent.com/cncf/artwork/master/projects/dex/icon/color/dex-icon-color.svg;cncf
-00000058-0000-0000-0000-000000000000;fluid;http://pasa-bigdata.nju.edu.cn/fluid/index.html;https://raw.githubusercontent.com/cncf/artwork/master/projects/fluid/icon/color/fluid-icon-color.svg;cncf
-00000059-0000-0000-0000-000000000000;fonio;https://github.com/foniod/project;https://raw.githubusercontent.com/cncf/artwork/master/projects/fonio/icon/color/fonio-icon-color.svg;cncf
-00000060-0000-0000-0000-000000000000;in-toto;https://in-toto.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/in-toto/icon/color/in-toto-icon-color.svg;cncf
-00000061-0000-0000-0000-000000000000;alibaba;https://www.alibabagroup.com/;https://vignette.wikia.nocookie.net/logopedia/images/0/04/Alibaba.svg/revision/latest?cb=20170221094406;cncf
-00000062-0000-0000-0000-000000000000;k3s;https://k3s.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/k3s/icon/color/k3s-icon-color.svg;cncf
-00000063-0000-0000-0000-000000000000;k8gb;https://www.k8gb.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/k8gb/icon/color/k8gb-icon-color.svg;cncf
-00000064-0000-0000-0000-000000000000;k8up;https://k8up.io/k8up/2.1/index.html;https://raw.githubusercontent.com/cncf/artwork/master/projects/k8up/icon/k8up-icon-color.svg;cncf
-00000065-0000-0000-0000-000000000000;karmada;https://karmada.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/karmada/icon/color/karmada-icon-color.svg;cncf
-00000066-0000-0000-0000-000000000000;keptn;https://www.keptn.sh/;https://raw.githubusercontent.com/cncf/artwork/master/projects/keptn/icon/color/keptn-icon-color.svg;cncf
-00000067-0000-0000-0000-000000000000;keylime;https://keylime.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/keylime/icon/color/keylime-icon-color.svg;cncf
-00000068-0000-0000-0000-000000000000;krustlet;https://krustlet.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/krustlet/icon/color/krustlet-icon-color.svg;cncf
-00000069-0000-0000-0000-000000000000;kube-ovn;https://kube-ovn.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kube-ovn/icon/color/kube-ovn-icon-color.svg;cncf
-00000070-0000-0000-0000-000000000000;kuberhealthy;https://github.com/kuberhealthy/kuberhealthy;https://raw.githubusercontent.com/cncf/artwork/master/projects/kuberhealthy/icon/color/kuberhealthy-icon-color.svg;cncf
-00000071-0000-0000-0000-000000000000;oam-dev;https://oam.dev;https://oam.dev/images/logos/ohm-borderless.svg;cncf
-00000072-0000-0000-0000-000000000000;kubevirt;https://kubevirt.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg;cncf
-00000073-0000-0000-0000-000000000000;kudo-builder;https://kudo.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/kudo/icon/color/kudo-icon-color.svg;cncf
-00000074-0000-0000-0000-000000000000;kuma;https://kuma.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/kuma/icon/color/kuma-icon-color.svg;cncf
-00000075-0000-0000-0000-000000000000;kyverno;https://kyverno.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/kyverno/icon/color/kyverno-icon-color.svg;cncf
-00000076-0000-0000-0000-000000000000;meshery;https://meshery.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/meshery/icon/meshery-logo-light.svg;cncf
-00000077-0000-0000-0000-000000000000;metal3-io;https://metal3.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/metal3/icon/color/metal3-icon-color.svg;cncf
-00000078-0000-0000-0000-000000000000;network-service-mesh;https://networkservicemesh.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/networkservicemesh/icon/color/networkservicemesh-icon-color.svg;cncf
-00000079-0000-0000-0000-000000000000;nocalhost;https://nocalhost.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/nocalhost/icon/color/nocalhost-icon-color.svg;cncf
-00000080-0000-0000-0000-000000000000;ocm;https://open-cluster-management.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/open-cluster-management/icon/color/ocm-icon-color.png;cncf
-00000081-0000-0000-0000-000000000000;osm;https://openservicemesh.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/openservicemesh/icon/color/openservicemesh-icon-color.svg;cncf
-00000082-0000-0000-0000-000000000000;openebs;https://openebs.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.svg;cncf
-00000083-0000-0000-0000-000000000000;open-gitops;https://opengitops.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/opengitops/icon/color/opengitops-icon-color.svg;cncf
-00000084-0000-0000-0000-000000000000;open-kruise;https://openkruise.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/openkruise/icon/color/openkruise-icon-color.svg;cncf
-00000085-0000-0000-0000-000000000000;open-metrics;https://openmetrics.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/openmetrics/icon/color/openmetrics-icon-color.svg;cncf
-00000086-0000-0000-0000-000000000000;openyurt;https://openyurt.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/openyurt/icon/color/openyurt-icon-color.svg;cncf
-00000087-0000-0000-0000-000000000000;oras;https://oras.land;https://raw.githubusercontent.com/cncf/artwork/master/projects/oras/horizontal/color/oras-horizontal-color.svg;cncf
-00000088-0000-0000-0000-000000000000;parsec;https://github.com/parallaxsecond/parsec;https://raw.githubusercontent.com/cncf/artwork/master/projects/parsec/icon/color/parsec-icon-color.svg;cncf
-00000089-0000-0000-0000-000000000000;piraeus;https://piraeus.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/piraeus/icon/color/piraeus-icon-color.svg;cncf
-00000090-0000-0000-0000-000000000000;pixie;https://px.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/pixie/icon/color/pixie-icon-color.svg;cncf
-00000091-0000-0000-0000-000000000000;porter;https://porter.sh;https://raw.githubusercontent.com/cncf/artwork/master/projects/porter/icon/color/porter-icon-color.svg;cncf
-00000092-0000-0000-0000-000000000000;pravega;https://cncf.pravega.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/pravega/icon/color/pravega-icon-color.svg;cncf
-00000093-0000-0000-0000-000000000000;schemahero;https://schemahero.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/schemahero/icon/color/schemahero-icon-color.svg;cncf
-00000094-0000-0000-0000-000000000000;serverless-workflow;https://serverlessworkflow.github.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/serverlessworkflow/icon/color/serverlessworkflow-icon-color.svg;cncf
-00000095-0000-0000-0000-000000000000;smi;https://smi-spec.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/servicemeshinterface/icon/color/servicemeshinterface-icon-color.svg;cncf
-00000096-0000-0000-0000-000000000000;smp;https://smp-spec.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/servicemeshperformance/icon/smp-dark.svg;cncf
-00000097-0000-0000-0000-000000000000;skooner;https://github.com/skooner-k8s/skooner;https://raw.githubusercontent.com/cncf/artwork/master/projects/skooner/icon/color/Skooner-icon-color.svg;cncf
-00000098-0000-0000-0000-000000000000;strimzi;https://strimzi.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/strimzi/icon/color/strimzi-icon-color.svg;cncf
-00000099-0000-0000-0000-000000000000;submariner;https://submariner.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/submariner/icon/color/submariner-icon-color.svg;cncf
-00000100-0000-0000-0000-000000000000;superedge;https://superedge.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/superedge/icon/color/superedge-icon-color.svg;cncf
-00000101-0000-0000-0000-000000000000;telepresence;https://www.telepresence.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/telepresence/icon/color/telepresence-icon-color.svg;cncf
-00000102-0000-0000-0000-000000000000;tinkerbell;https://tinkerbell.org;https://raw.githubusercontent.com/cncf/artwork/master/projects/tinkerbell/icon/color-light/tinkerbell-icon-color-light.svg;cncf
-00000103-0000-0000-0000-000000000000;tremor;https://www.tremor.rs;https://raw.githubusercontent.com/cncf/artwork/master/projects/tremor/icon/color/tremor-icon-color.svg;cncf
-00000104-0000-0000-0000-000000000000;trickster;https://github.com/trickstercache/trickster;https://raw.githubusercontent.com/cncf/artwork/master/projects/trickster/icon/color/trickster-icon-color.svg;cncf
-00000105-0000-0000-0000-000000000000;vineyard;https://v6d.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/vineyard/icon/color/vineyard-icon-color.svg;cncf
-00000106-0000-0000-0000-000000000000;virtual-kubelet;https://virtual-kubelet.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/virtualkubelet/icon/color/virtualkubelet-icon-color.svg;cncf
-00000107-0000-0000-0000-000000000000;volcano;https://volcano.sh/en/;https://raw.githubusercontent.com/cncf/artwork/master/projects/volcano/icon/color/volcano-icon-color.svg;cncf
-00000108-0000-0000-0000-000000000000;wasm-cloud;https://wasmcloud.com;https://raw.githubusercontent.com/cncf/artwork/master/projects/wasmcloud/icon/color/wasmcloud.icon_green.svg;cncf
-00000109-0000-0000-0000-000000000000;wasm-edge;https://wasmedge.org;https://raw.githubusercontent.com/cncf/artwork/master/projects/wasm-edge-runtime/icon/color/wasm-edge-runtime-icon-color.svg;cncf
-00000110-0000-0000-0000-000000000000;knative;https://knative.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/knative/icon/color/knative-icon-color.svg;cncf
-00000111-0000-0000-0000-000000000000;krator-rs;https://github.com/krator-rs;https://raw.githubusercontent.com/cncf/artwork/master/projects/krator/icon/color/krator-icon-color.svg;cncf
-00000112-0000-0000-0000-000000000000;devfile;https://devfile.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/devfile/icon/color/devfile-icon-color.svg;cncf
-00000113-0000-0000-0000-000000000000;kube-rs;https://kube.rs;https://raw.githubusercontent.com/cncf/artwork/master/projects/kube-rs/icon/black/kube-rs-icon-black.svg;cncf
-00000114-0000-0000-0000-000000000000;kubedl;https://kubedl.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubedl/icon/color/kubedl-icon-color.svg;cncf
-00000115-0000-0000-0000-000000000000;openelb;https://openelb.github.io/;https://landscape.cncf.io/logos/open-elb.svg;cncf
-00000116-0000-0000-0000-000000000000;confidential-containers;https://github.com/confidential-containers;https://raw.githubusercontent.com/cncf/artwork/master/projects/confidential-containers/icon/color/confidential-containers-icon.svg;cncf
-00000117-0000-0000-0000-000000000000;openfunction;https://openfunction.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/openfunction/icon/color/openfunction-icon-color.svg;cncf
-00000118-0000-0000-0000-000000000000;sealer;http://sealer.cool;https://landscape.cncf.io/logos/sealer.svg;cncf
-00000119-0000-0000-0000-000000000000;teller;https://tlr.dev;https://raw.githubusercontent.com/cncf/artwork/master/projects/teller/icon/color/teller-icon-color.svg;cncf
-00000120-0000-0000-0000-000000000000;fabedge;http://www.fabedge.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/fabedge/icon/color/fabedge-color.svg;cncf
-00000121-0000-0000-0000-000000000000;clusterpedia;https://clusterpedia.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/clusterpedia/icon/color/clusterpedia-icon-color.svg;cncf
-00000122-0000-0000-0000-000000000000;kubecost;https://www.kubecost.com;https://raw.githubusercontent.com/cncf/artwork/master/projects/opencost/icon/color/Opencost_Icon_Color.svg;cncf
-00000123-0000-0000-0000-000000000000;aeraki-mesh;https://aeraki.net/;https://landscape.cncf.io/logos/aeraki-mesh.svg;cncf
-00000124-0000-0000-0000-000000000000;curve;https://www.opencurve.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/curve/icon/color/curve_icon_color.svg;cncf
-00000125-0000-0000-0000-000000000000;openfeature;https://openfeature.dev/;https://landscape.cncf.io/logos/open-feature.svg;cncf
-00000126-0000-0000-0000-000000000000;kubewarden;https://www.kubewarden.io;https://www.kubewarden.io/images/logo-kubewarden.svg;cncf
-00000127-0000-0000-0000-000000000000;devstream;https://www.devstream.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/devstream/icon/color/devstream-icon-color.svg;cncf
diff --git a/database/data/cncf/projects.csv b/database/data/cncf/projects.csv
index 6e6f1cb9..eb312ce6 100644
--- a/database/data/cncf/projects.csv
+++ b/database/data/cncf/projects.csv
@@ -1,129 +1,129 @@
-project_id;name;display_name;description;category;home_url;logo_url;devstats_url;accepted_at;maturity;organization_id
-00000000-0001-0000-0000-000000000000;artifact-hub;Artifact Hub;Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.;app definition;;;https://artifacthub.devstats.cncf.io/;2020-06-23;sandbox;00000001-0000-0000-0000-000000000000
-00000000-0002-0000-0000-000000000000;containerd;;An industry-standard container runtime with an emphasis on simplicity, robustness and portability.;runtime;;;https://containerd.devstats.cncf.io;2017-03-29;graduated;00000002-0000-0000-0000-000000000000
-00000000-0003-0000-0000-000000000000;core-dns;CoreDNS;CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility. ;orchestration;;;https://coredns.devstats.cncf.io;2017-02-27;graduated;00000003-0000-0000-0000-000000000000
-00000000-0004-0000-0000-000000000000;envoy;Envoy;Envoy is an open source edge and service proxy, designed for cloud-native applications.;orchestration;;;https://envoy.devstats.cncf.io/;2017-09-13;graduated;00000004-0000-0000-0000-000000000000
-00000000-0005-0000-0000-000000000000;etcd;etcd;Distributed reliable key-value store for the most critical data of a distributed system.;orchestration;;;https://etcd.devstats.cncf.io/;2018-12-11;graduated;00000005-0000-0000-0000-000000000000
-00000000-0006-0000-0000-000000000000;fluentd;Fluentd;Fluentd is an open source data collector for unified logging layer.;observability;;;https://fluentd.devstats.cncf.io/;2016-11-08;graduated;00000006-0000-0000-0000-000000000000
-00000000-0007-0000-0000-000000000000;harbor;Harbor;An open source trusted cloud native registry project that stores, signs, and scans content.;provisioning;;;https://harbor.devstats.cncf.io/;2018-07-31;graduated;00000007-0000-0000-0000-000000000000
-00000000-0008-0000-0000-000000000000;helm;Helm;The Kubernetes Package Manager.;app definition;;;https://helm.devstats.cncf.io/;2018-06-01;graduated;00000008-0000-0000-0000-000000000000
-00000000-0009-0000-0000-000000000000;jaeger;Jaeger;Jaeger: open source, end-to-end distributed tracing. Monitor and troubleshoot transactions in complex distributed systems.;observability;;;https://jaeger.devstats.cncf.io/;2017-09-13;graduated;00000009-0000-0000-0000-000000000000
-00000000-0010-0000-0000-000000000000;kubernetes;Kubernetes;Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.;orchestration;;;https://k8s.devstats.cncf.io/;2016-03-10;graduated;00000010-0000-0000-0000-000000000000
-00000000-0011-0000-0000-000000000000;linkerd;Linkerd;Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.;orchestration;;;https://linkerd.devstats.cncf.io/;2017-01-23;graduated;00000011-0000-0000-0000-000000000000
-00000000-0012-0000-0000-000000000000;opa;Open Policy Agent;An open source, general-purpose policy engine.;provisioning;;;https://opa.devstats.cncf.io/;2018-03-29;graduated;00000012-0000-0000-0000-000000000000
-00000000-0013-0000-0000-000000000000;prometheus;Prometheus;The Prometheus monitoring system and time series database.;observability;;;https://prometheus.devstats.cncf.io/;2016-05-09;graduated;00000013-0000-0000-0000-000000000000
-00000000-0014-0000-0000-000000000000;rook;Rook;Storage Orchestration for Kubernetes.;runtime;;;https://rook.devstats.cncf.io/;2018-01-29;graduated;00000014-0000-0000-0000-000000000000
-00000000-0015-0000-0000-000000000000;tuf;The Update Framework;Python reference implementation of The Update Framework (TUF).;provisioning;;;https://tuf.devstats.cncf.io/;2017-10-24;graduated;00000015-0000-0000-0000-000000000000
-00000000-0016-0000-0000-000000000000;tikv;TiKV;A distributed transactional key-value database. Based on the design of Google Spanner and HBase, but simpler to manage and without dependencies on any distributed filesystem.;app definition;;;https://tikv.devstats.cncf.io/;2018-08-28;graduated;00000016-0000-0000-0000-000000000000
-00000000-0017-0000-0000-000000000000;vitess;Vitess;Vitess is a database clustering system for horizontal scaling of MySQL.;app definition;;;https://vitess.devstats.cncf.io/;2018-02-05;graduated;00000017-0000-0000-0000-000000000000
-00000000-0018-0000-0000-000000000000;argo;Argo;Open source tools for Kubernetes to run workflows, manage clusters, and do GitOps right.;app definition;;;https://argo.devstats.cncf.io/;2020-04-07;incubating;00000018-0000-0000-0000-000000000000
-00000000-0019-0000-0000-000000000000;buildpacks;Buildpacks;Cloud Native Buildpacks transform your application source code into images that can run on any cloud.;app definition;;;https://buildpacks.devstats.cncf.io/;2018-10-03;incubating;00000019-0000-0000-0000-000000000000
-00000000-0020-0000-0000-000000000000;cilium;Cilium;eBPF-based Networking, Observability, and Security.;runtime;;;https://cilium.devstats.cncf.io/;2021-10-13;incubating;00000020-0000-0000-0000-000000000000
-00000000-0021-0000-0000-000000000000;cloudevents;CloudEvents;A specification for describing event data in a common way.;app definition;;;https://cloudevents.devstats.cncf.io/;2018-05-22;incubating;00000021-0000-0000-0000-000000000000
-00000000-0022-0000-0000-000000000000;cni;Container Network Interface;Container Network Interface - networking for Linux containers.;runtime;;;https://cni.devstats.cncf.io/;2017-05-23;incubating;00000022-0000-0000-0000-000000000000
-00000000-0023-0000-0000-000000000000;contour;Contour;Contour is an open source Kubernetes ingress controller providing the control plane for the Envoy edge and service proxy.;orchestration;;;https://contour.devstats.cncf.io/;2020-07-07;incubating;00000023-0000-0000-0000-000000000000
-00000000-0024-0000-0000-000000000000;cortex;Cortex;A multitenant, horizontally scalable Prometheus as a Service.;observability;;;https://cortex.devstats.cncf.io/;2018-09-20;incubating;00000024-0000-0000-0000-000000000000
-00000000-0025-0000-0000-000000000000;cri-o;CRI-O;Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.;runtime;;;https://crio.devstats.cncf.io/;2019-04-08;incubating;00000025-0000-0000-0000-000000000000
-00000000-0026-0000-0000-000000000000;crossplane;Crossplane;Compose cloud infrastructure and services into custom platform APIs.;orchestration;;;https://crossplane.devstats.cncf.io/;2020-06-23;incubating;00000026-0000-0000-0000-000000000000
-00000000-0027-0000-0000-000000000000;dapr;Distributed Application Runtime;Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.;serverless;;;https://dapr.devstats.cncf.io/;2021-11-03;incubating;00000027-0000-0000-0000-000000000000
-00000000-0028-0000-0000-000000000000;dragonfly;Dragonfly;Dragonfly is an intelligent P2P based image and file distribution system, it also provides a variety of enterprise-level (efficiency, stability, safety, low-cost) product features.;provisioning;;;https://dragonfly.devstats.cncf.io/;2018-11-15;incubating;00000028-0000-0000-0000-000000000000
-00000000-0029-0000-0000-000000000000;emissary-ingress;Emissary-Ingress;open source Kubernetes-native API gateway for microservices built on the Envoy Proxy.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/emissary-ingress/icon/color/emissary-ingress-icon-color.svg;https://emissaryingress.devstats.cncf.io/;2021-04-14;incubating;00000029-0000-0000-0000-000000000000
-00000000-0030-0000-0000-000000000000;falco;Falco;Falco, the cloud-native runtime security project, is the de facto Kubernetes threat detection engine.;provisioning;;;https://falco.devstats.cncf.io/;2018-10-10;incubating;00000030-0000-0000-0000-000000000000
-00000000-0031-0000-0000-000000000000;flux-project;Flux;Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.;app definition;;;https://flux.devstats.cncf.io/;2019-07-15;incubating;00000031-0000-0000-0000-000000000000
-00000000-0032-0000-0000-000000000000;grpc;gRPC;A high performance, open source universal RPC framework.;orchestration;;;https://grpc.devstats.cncf.io/;2017-02-16;incubating;00000032-0000-0000-0000-000000000000
-00000000-0033-0000-0000-000000000000;keda;KEDA;KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes.;serverless;;;https://keda.devstats.cncf.io/;2020-03-09;incubating;00000033-0000-0000-0000-000000000000
-00000000-0034-0000-0000-000000000000;kube-edge;KubeEdge;A Kubernetes Native Edge Computing Framework.;provisioning;;;https://kubeedge.devstats.cncf.io/;2019-03-18;incubating;00000034-0000-0000-0000-000000000000
-00000000-0035-0000-0000-000000000000;litmus-chaos;Litmus;Litmus is an open source Chaos Engineering platform that enables teams to identify weaknesses & potential outages in infrastructures by inducing chaos tests in a controlled way.;observability;;;https://litmuschaos.devstats.cncf.io/;2020-06-23;incubating;00000035-0000-0000-0000-000000000000
-00000000-0036-0000-0000-000000000000;longhorn;Longhorn;Cloud-Native distributed storage built on and for Kubernetes.;runtime;;;https://longhorn.devstats.cncf.io/;2019-10-11;incubating;00000036-0000-0000-0000-000000000000
-00000000-0037-0000-0000-000000000000;nats;NATS;Connective Technology for Adaptive Edge & Distributed Systems.;app definition;;;https://nats.devstats.cncf.io/;2018-03-15;incubating;00000037-0000-0000-0000-000000000000
-00000000-0038-0000-0000-000000000000;notary;Notary;Notary is a project that allows anyone to have trust over arbitrary collections of data.;provisioning;;;https://notary.devstats.cncf.io/;2017-10-24;incubating;00000038-0000-0000-0000-000000000000
-00000000-0039-0000-0000-000000000000;open-telemetry;OpenTelemetry;High-quality, ubiquitous, and portable telemetry to enable effective observability.;observability;;;https://opentelemetry.devstats.cncf.io/;2019-05-07;incubating;00000039-0000-0000-0000-000000000000
-00000000-0040-0000-0000-000000000000;operator-framework;Operator Framework;SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.;app definition;;;https://operatorframework.devstats.cncf.io/;2020-07-09;incubating;00000040-0000-0000-0000-000000000000
-00000000-0041-0000-0000-000000000000;spiffe;SPIFFE;A universal identity control plane for distributed systems.;provisioning;;;https://spiffe.devstats.cncf.io/;2018-03-29;incubating;00000041-0000-0000-0000-000000000000
-00000000-0042-0000-0000-000000000000;thanos;Thanos;Open source, highly available Prometheus setup with long term storage capabilities.;app definition;;;https://thanos.devstats.cncf.io/;2019-07-20;incubating;00000042-0000-0000-0000-000000000000
-00000000-0043-0000-0000-000000000000;akri;Akri;A Kubernetes Resource Interface for the Edge.;provisioning;;;https://akri.devstats.cncf.io/;2021-09-14;sandbox;00000043-0000-0000-0000-000000000000
-00000000-0044-0000-0000-000000000000;antrea;Antrea;Kubernetes networking based on Open vSwitch.;runtime;;;https://antrea.devstats.cncf.io/;2021-04-27;sandbox;00000044-0000-0000-0000-000000000000
-00000000-0045-0000-0000-000000000000;athenz;Athenz;Open source platform for X.509 certificate based service authentication and fine grained access control in dynamic infrastructures.;provisioning;;;https://athenz.devstats.cncf.io/;2021-01-26;sandbox;00000045-0000-0000-0000-000000000000
-00000000-0046-0000-0000-000000000000;backstage;Backstage;Backstage is an open platform for building developer portals.;app definition;;;https://backstage.devstats.cncf.io/;2020-09-08;incubating;00000046-0000-0000-0000-000000000000
-00000000-0047-0000-0000-000000000000;bfe;Beyond Front End;Open-source layer 7 load balancer derived from proprietary Baidu FrontEnd.;orchestration;;;https://bfe.devstats.cncf.io/;2020-06-23;sandbox;00000047-0000-0000-0000-000000000000
-00000000-0048-0000-0000-000000000000;brigade;Brigade;Brigade is a tool for running scriptable, automated tasks.;app definition;;;https://brigade.devstats.cncf.io/;2019-03-18;sandbox;00000048-0000-0000-0000-000000000000
-00000000-0049-0000-0000-000000000000;cdk8s;;Cloud Development Kit for Kubernetes.;provisioning;;;https://cdk8s.devstats.cncf.io/;2020-11-10;sandbox;00000049-0000-0000-0000-000000000000
-00000000-0050-0000-0000-000000000000;cert-manager;Cloud native certificate management;Automatically provision and manage TLS certificates in Kubernetes.;provisioning;https://cert-manager.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/cert-manager/icon/color/cert-manager-icon-color.svg;https://certmanager.devstats.cncf.io/;2020-11-10;sandbox;00000050-0000-0000-0000-000000000000
-00000000-0051-0000-0000-000000000000;chaos-mesh;Chaos Mesh;A Chaos Engineering Platform for Kubernetes.;observability;;;https://chaosmesh.devstats.cncf.io/;2020-07-14;incubating;00000051-0000-0000-0000-000000000000
-00000000-0052-0000-0000-000000000000;chaos-blade;ChaosBlade;An easy to use and powerful chaos engineering experiment toolkit.;observability;;;https://chaosblade.devstats.cncf.io/;2021-04-27;sandbox;00000052-0000-0000-0000-000000000000
-00000000-0053-0000-0000-000000000000;chubao-fs;CubeFS;CubeFS (formerly ChubaoFS) is a cloud native distributed file system and object store.;runtime;;;https://chubaofs.devstats.cncf.io/;2019-12-17;sandbox;00000053-0000-0000-0000-000000000000
-00000000-0054-0000-0000-000000000000;cloud-custodian;Cloud Custodian;Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources.;provisioning;;;https://cloudcustodian.devstats.cncf.io/;2020-06-23;sandbox;00000054-0000-0000-0000-000000000000
-00000000-0055-0000-0000-000000000000;cni-genie;CNI-Genie;CNI-Genie for choosing pod network of your choice during deployment time. Supported pod networks - Calico, Flannel, Romana, Weave.;runtime;;;https://cnigenie.devstats.cncf.io/;2020-06-23;sandbox;00000055-0000-0000-0000-000000000000
-00000000-0056-0000-0000-000000000000;curiefense;Curiefense;Curiefense is a unified, open source platform protecting cloud native applications.;provisioning;;;https://curiefense.devstats.cncf.io/;2021-01-26;sandbox;00000056-0000-0000-0000-000000000000
-00000000-0057-0000-0000-000000000000;dex;Dex;OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors.;provisioning;;;https://dex.devstats.cncf.io/;2020-06-23;sandbox;00000057-0000-0000-0000-000000000000
-00000000-0058-0000-0000-000000000000;fluid;Fluid;Fluid is an orchestration platform for elastic data abstraction and acceleration in cloud native environment.;orchestration;;;https://fluid.devstats.cncf.io/;2021-04-27;sandbox;00000058-0000-0000-0000-000000000000
-00000000-0059-0000-0000-000000000000;fonio;foniod;Data first monitoring agent using (e)BPF, built on RedBPF.;observability;;;https://ingraind.devstats.cncf.io/;2021-03-30;sandbox;00000059-0000-0000-0000-000000000000
-00000000-0060-0000-0000-000000000000;in-toto;;in-toto is a framework to protect supply chain integrity.;provisioning;;;https://intoto.devstats.cncf.io/;2019-08-21;incubating;00000060-0000-0000-0000-000000000000
-00000000-0061-0000-0000-000000000000;inclavare;Inclavare Containers;A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/inclavare/icon/color/inclavare-icon-color.svg;https://inclavarecontainers.devstats.cncf.io/;2021-09-14;sandbox;00000061-0000-0000-0000-000000000000
-00000000-0062-0000-0000-000000000000;flagger;Flagger;Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments).;app definition;https://docs.flagger.app/;https://raw.githubusercontent.com/cncf/artwork/master/projects/flux/flagger/icon/color/flagger-icon-color.svg;;2019-07-15;incubating;00000031-0000-0000-0000-000000000000
-00000000-0063-0000-0000-000000000000;k3s;K3s;The certified Kubernetes distribution built for IoT & Edge computing.;platform;;;https://k3s.devstats.cncf.io/;2020-08-19;sandbox;00000062-0000-0000-0000-000000000000
-00000000-0064-0000-0000-000000000000;k8gb;K8GB;A cloud native Kubernetes Global Balancer.;orchestration;;;https://k8gb.devstats.cncf.io/;2021-03-30;sandbox;00000063-0000-0000-0000-000000000000
-00000000-0065-0000-0000-000000000000;k8up;K8up;K8up is a Kubernetes Operator distributed via a Helm chart, compatible with OpenShift and plain Kubernetes.;runtime;;;https://k8up.devstats.cncf.io/;2021-11-16;sandbox;00000064-0000-0000-0000-000000000000
-00000000-0066-0000-0000-000000000000;karmada;Karmada;Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration.;orchestration;;;https://karmada.devstats.cncf.io/;2021-09-14;sandbox;00000065-0000-0000-0000-000000000000
-00000000-0067-0000-0000-000000000000;keptn;Keptn;Cloud-native application life-cycle orchestration. Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.;app definition;;;https://keptn.devstats.cncf.io/;2020-06-23;sandbox;00000066-0000-0000-0000-000000000000
-00000000-0068-0000-0000-000000000000;keylime;Keylime;Bootstrap & Maintain Trust on the Edge / Cloud and IoT.;provisioning;;;https://keylime.devstats.cncf.io/;2020-09-22;sandbox;00000067-0000-0000-0000-000000000000
-00000000-0069-0000-0000-000000000000;krustlet;Krustlet;Run WebAssembly workloads in your Kubernetes cluster.;serverless;;;https://krustlet.devstats.cncf.io/;2021-05-24;sandbox;00000068-0000-0000-0000-000000000000
-00000000-0070-0000-0000-000000000000;kube-ovn;Kube-OVN;A Kubernetes Network Fabric for Enterprises that is Rich in Functions and Easy in Operations.;runtime;;;https://kubeovn.devstats.cncf.io/;2021-01-26;sandbox;00000069-0000-0000-0000-000000000000
-00000000-0071-0000-0000-000000000000;kuberhealthy;Kuberhealthy;A Kubernetes operator for running synthetic checks as pods. Works great with Prometheus!;observability;;;https://kuberhealthy.devstats.cncf.io/;2021-03-30;sandbox;00000070-0000-0000-0000-000000000000
-00000000-0072-0000-0000-000000000000;kubevela;KubeVela;Make shipping applications more enjoyable.;app definition;https://kubevela.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevela/icon/color/kubevela-icon-color.svg;https://kubevela.devstats.cncf.io/;2021-04-05;sandbox;00000071-0000-0000-0000-000000000000
-00000000-0073-0000-0000-000000000000;kubevirt;KubeVirt;Kubernetes Virtualization API and runtime in order to define and manage virtual machines.;app definition;;;https://kubevirt.devstats.cncf.io/;2019-09-09;incubating;00000072-0000-0000-0000-000000000000
-00000000-0074-0000-0000-000000000000;kudo;KUDO;Kubernetes Universal Declarative Operator.;app definition;;;https://kudo.devstats.cncf.io/;2020-06-23;sandbox;00000073-0000-0000-0000-000000000000
-00000000-0075-0000-0000-000000000000;kuma;Kuma;The universal Envoy service mesh for distributed service connectivity.;orchestration;;;https://kuma.devstats.cncf.io/;2020-06-23;sandbox;00000074-0000-0000-0000-000000000000
-00000000-0076-0000-0000-000000000000;kyverno;Kyverno;Kubernetes Native Policy Management.;provisioning;;;https://kyverno.devstats.cncf.io/;2020-11-10;sandbox;00000075-0000-0000-0000-000000000000
-00000000-0077-0000-0000-000000000000;meshery;Meshery;The service mesh management plane.;orchestration;;;https://meshery.devstats.cncf.io/;2021-06-21;sandbox;00000076-0000-0000-0000-000000000000
-00000000-0078-0000-0000-000000000000;metal3-io;Metal3;Bare metal host provisioning for Kubernetes.;provisioning;;;https://metal3.devstats.cncf.io/;2020-09-08;sandbox;00000077-0000-0000-0000-000000000000
-00000000-0079-0000-0000-000000000000;network-service-mesh;Network Service Mesh;The Hybrid/Multi-cloud IP Service Mesh.;runtime;;;https://networkservicemesh.devstats.cncf.io/;2019-04-11;sandbox;00000078-0000-0000-0000-000000000000
-00000000-0080-0000-0000-000000000000;nocalhost;Nocalhost;Nocalhost is Cloud Native Development Environment.;app definition;;;https://nocalhost.devstats.cncf.io/;2021-11-16;sandbox;00000079-0000-0000-0000-000000000000
-00000000-0081-0000-0000-000000000000;ocm;Open Cluster Management;Make working with many Kubernetes clusters super easy regardless of where they are deployed.;orchestration;;;https://openclustermanagement.devstats.cncf.io/;2021-11-09;sandbox;00000080-0000-0000-0000-000000000000
-00000000-0082-0000-0000-000000000000;osm;Open Service Mesh;Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.;orchestration;;;https://openservicemesh.devstats.cncf.io/;2020-09-08;sandbox;00000081-0000-0000-0000-000000000000
-00000000-0083-0000-0000-000000000000;openebs;OpenEBS;Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes.;runtime;;;https://openebs.devstats.cncf.io/;2019-05-14;sandbox;00000082-0000-0000-0000-000000000000
-00000000-0084-0000-0000-000000000000;open-gitops;OpenGitOps;OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps.;app definition;;;https://gitopswg.devstats.cncf.io/;2021-01-26;sandbox;00000083-0000-0000-0000-000000000000
-00000000-0085-0000-0000-000000000000;open-kruise;OpenKruise;Automate application management on Kubernetes.;app definition;;;https://openkruise.devstats.cncf.io/;2020-11-10;sandbox;00000084-0000-0000-0000-000000000000
-00000000-0086-0000-0000-000000000000;open-metrics;OpenMetrics;Evolving the Prometheus exposition format into a standard.;observability;;;https://openmetrics.devstats.cncf.io/;2018-08-10;incubating;00000085-0000-0000-0000-000000000000
-00000000-0087-0000-0000-000000000000;openyurt;OpenYurt;An open platform that extending your native Kubernetes to edge.;provisioning;;;https://openyurt.devstats.cncf.io/;2020-09-08;sandbox;00000086-0000-0000-0000-000000000000
-00000000-0088-0000-0000-000000000000;oras;ORAS;ORAS is the tool for working with OCI Artifacts.;runtime;;;https://oras.devstats.cncf.io/;2021-06-02;sandbox;00000087-0000-0000-0000-000000000000
-00000000-0089-0000-0000-000000000000;parsec;PARSEC;Platform AbstRaction for SECurity service.;provisioning;;;https://parsec.devstats.cncf.io/;2020-06-23;sandbox;00000088-0000-0000-0000-000000000000
-00000000-0090-0000-0000-000000000000;piraeus;Piraeus;High Available Datastore for Kubernetes.;runtime;;;https://piraeus.devstats.cncf.io/;2021-01-26;sandbox;00000089-0000-0000-0000-000000000000
-00000000-0091-0000-0000-000000000000;pixie;Pixie;Open source Kubernetes observability for developers.;observability;;;https://pixie.devstats.cncf.io/;2021-06-15;sandbox;00000090-0000-0000-0000-000000000000
-00000000-0092-0000-0000-000000000000;porter;Porter;Porter enables you to package your application artifact, client tools, configuration and deployment logic together as a versioned bundle that you can distribute, and install with a single command.;app definition;;;https://porter.devstats.cncf.io/;2020-09-08;sandbox;00000091-0000-0000-0000-000000000000
-00000000-0093-0000-0000-000000000000;pravega;Pravega;Streaming as a new software defined storage primitive.;app definition;;;https://pravega.devstats.cncf.io/;2020-11-10;sandbox;00000092-0000-0000-0000-000000000000
-00000000-0094-0000-0000-000000000000;schemahero;SchemaHero;A Kubernetes operator for declarative database schema management (gitops for database schemas).;app definition;;;https://schemahero.devstats.cncf.io/;2020-11-10;sandbox;00000093-0000-0000-0000-000000000000
-00000000-0095-0000-0000-000000000000;serverless-workflow;Serverless Workflow;Standards-based DSL and open-source dev tools and runtimes are at the heart of the Serverless Workflow project.;app definition;;;https://serverlessworkflow.devstats.cncf.io/;2020-07-14;sandbox;00000094-0000-0000-0000-000000000000
-00000000-0096-0000-0000-000000000000;smi;Service Mesh Interface;A standard interface for service meshes on Kubernetes.;orchestration;;;https://smi.devstats.cncf.io/;2020-03-16;sandbox;00000095-0000-0000-0000-000000000000
-00000000-0097-0000-0000-000000000000;smp;Service Mesh Performance;Standardizing Service Mesh Value Measurement.;orchestration;;;https://servicemeshperformance.devstats.cncf.io/;2021-06-21;sandbox;00000096-0000-0000-0000-000000000000
-00000000-0098-0000-0000-000000000000;skooner;Skooner;Simple Kubernetes real-time dashboard and management.;observability;;;https://k8dash.devstats.cncf.io/;;sandbox;00000097-0000-0000-0000-000000000000
-00000000-0099-0000-0000-000000000000;strimzi;Strimzi;Apache Kafka running on Kubernetes.;app definition;;;https://strimzi.devstats.cncf.io/;2019-08-28;sandbox;00000098-0000-0000-0000-000000000000
-00000000-0100-0000-0000-000000000000;submariner;Submariner;Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.;runtime;;;https://submariner.devstats.cncf.io/;2021-04-27;sandbox;00000099-0000-0000-0000-000000000000
-00000000-0101-0000-0000-000000000000;superedge;SuperEdge;An edge-native container management system for edge computing.;provisioning;;;https://superedge.devstats.cncf.io/;2021-09-14;sandbox;00000100-0000-0000-0000-000000000000
-00000000-0102-0000-0000-000000000000;telepresence;Telepresence;Local development against a remote Kubernetes or OpenShift cluster.;app definition;;;https://telepresence.devstats.cncf.io/;2018-05-22;sandbox;00000101-0000-0000-0000-000000000000
-00000000-0103-0000-0000-000000000000;tinkerbell;Tinkerbell;A workflow engine for provisioning bare metal.;provisioning;;;https://tinkerbell.devstats.cncf.io/;2020-11-10;sandbox;00000102-0000-0000-0000-000000000000
-00000000-0104-0000-0000-000000000000;tremor;Tremor;An early-stage event processing system for unstructured data with rich support for structural pattern-matching, filtering and transformation.;app definition;;;https://tremor.devstats.cncf.io/;2020-09-08;sandbox;00000103-0000-0000-0000-000000000000
-00000000-0105-0000-0000-000000000000;trickster;Trickster;Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator.;observability;;;https://trickster.devstats.cncf.io/;2021-03-30;sandbox;00000104-0000-0000-0000-000000000000
-00000000-0106-0000-0000-000000000000;vineyard;Vineyard;Vineyard (v6d) is an in-memory immutable data manager.;runtime;;;https://vineyard.devstats.cncf.io/;2021-04-27;sandbox;00000105-0000-0000-0000-000000000000
-00000000-0107-0000-0000-000000000000;virtual-kubelet;Virtual Kubelet;Virtual Kubelet is an open source Kubernetes kubelet implementation.;serverless;;;https://virtualkubelet.devstats.cncf.io/;2018-12-04;sandbox;00000106-0000-0000-0000-000000000000
-00000000-0108-0000-0000-000000000000;volcano;Volcano;A Kubernetes native system for high-performance workloads.;orchestration;;;https://volcano.devstats.cncf.io/;2020-04-10;incubating;00000107-0000-0000-0000-000000000000
-00000000-0109-0000-0000-000000000000;wasm-cloud;wasmCloud;wasmCloud allows for simple, secure, distributed application development using WebAssembly actors and capability providers.;orchestration;;;https://wasmcloud.devstats.cncf.io/;2021-07-12;sandbox;00000108-0000-0000-0000-000000000000
-00000000-0110-0000-0000-000000000000;wasm-edge;WasmEdge;WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.;runtime;;;https://wasmedge.devstats.cncf.io/;2021-04-27;sandbox;00000109-0000-0000-0000-000000000000
-00000000-0111-0000-0000-000000000000;knative;Knative;Kubernetes-based platform to build, deploy, and manage modern serverless workloads.;serverless;;;;2022-03-02;incubating;00000110-0000-0000-0000-000000000000
-00000000-0113-0000-0000-000000000000;krator;Krator;Kubernetes Rust State Machine Operator.;app definition;;;https://krator.devstats.cncf.io/;2021-05-26;sandbox;00000111-0000-0000-0000-000000000000
-00000000-0114-0000-0000-000000000000;devfile;Devfile;An open standard defining containerized development environments that enables developer tools to simplify and accelerate workflows.;app definition;;;https://devfile.devstats.cncf.io/;2021-01-11;sandbox;00000112-0000-0000-0000-000000000000
-00000000-0115-0000-0000-000000000000;kube-rs;;rust kubernetes client and controller runtime.;orchestration;;;https://kubers.devstats.cncf.io/;2021-11-16;sandbox;00000113-0000-0000-0000-000000000000
-00000000-0116-0000-0000-000000000000;kubedl;KubeDL;Run your deep learning workloads on Kubernetes more easily and efficiently.;provisioning;;;https://kubedl.devstats.cncf.io/;2021-05-14;sandbox;00000114-0000-0000-0000-000000000000
-00000000-0117-0000-0000-000000000000;openelb;OpenELB;Load Balancer Implementation for Kubernetes in Bare-Metal, Edge, and Virtualization.;provisioning;;;https://openelb.devstats.cncf.io;2021-09-11;sandbox;00000115-0000-0000-0000-000000000000
-00000000-0118-0000-0000-000000000000;confidential-containers;Confidential Containers;Confidential Containers is an open source community working to enable cloud native confidential computing by leveraging Trusted Execution Environments to protect containers and data.;provisioning;;;https://confidentialcontainers.devstats.cncf.io/;2022-03-08;sandbox;00000116-0000-0000-0000-000000000000
-00000000-0119-0000-0000-000000000000;openfunction;Open Function;Cloud Native Function-as-a-Service Platform;serverless;;;https://openfunction.devstats.cncf.io;2021-11-09;sandbox;00000117-0000-0000-0000-000000000000
-00000000-0120-0000-0000-000000000000;sealer;;A tool to seal application's all dependencies and Kubernetes into CloudImage, distribute this application anywhere via CloudImage, and run it within any cluster in one command.;app definition;;;https://sealer.devstats.cncf.io;2022-04-26;sandbox;00000118-0000-0000-0000-000000000000
-00000000-0121-0000-0000-000000000000;teller;Teller;A secrets management tool for developers built in Go - never leave your command line for secrets.;provisioning;;;https://teller.devstats.cncf.io;2022-04-26;sandbox;00000119-0000-0000-0000-000000000000
-00000000-0122-0000-0000-000000000000;fabedge;FabEdge;A Secure Edge Computing Container Networking Solution based on Kubernetes & KubeEdge.;runtime;;;https://fabedge.devstats.cncf.io;2022-03-08;sandbox;00000120-0000-0000-0000-000000000000
-00000000-0123-0000-0000-000000000000;clusterpedia;Clusterpedia;Clusterpedia is used for complex resources search across multiple clusters, support simultaneous search of a single kind of resource or multiple kinds of resources existing in multiple clusters.;orchestration;;;https://clusterpedia.devstats.cncf.io;2022-06-14;sandbox;00000121-0000-0000-0000-000000000000
-00000000-0124-0000-0000-000000000000;opencost;Opencost;OpenCost provides visibility into current and historical Kubernetes spend and resource allocation.;observability;https://www.opencost.io;;https://opencost.teststats.cncf.io/;2022-06-14;sandbox;00000122-0000-0000-0000-000000000000
-00000000-0125-0000-0000-000000000000;aeraki-mesh;Aeraki Mesh;Aeraki Mesh allows you to manage any layer-7 traffic in a service mesh.;orchestration;;;https://aerakimesh.teststats.cncf.io/;2022-06-14;sandbox;00000123-0000-0000-0000-000000000000
-00000000-0126-0000-0000-000000000000;curve;Curve;Curve is a high-performance, lightweight-operation, cloud-native open source distributed storage system.;app definition;;;https://curve.teststats.cncf.io/;2022-06-14;sandbox;00000124-0000-0000-0000-000000000000
-00000000-0127-0000-0000-000000000000;openfeature;OpenFeature;Standardizing Feature Flagging for Everyone.;app definition;;;https://openfeature.teststats.cncf.io/;2022-06-14;sandbox;00000125-0000-0000-0000-000000000000
-00000000-0128-0000-0000-000000000000;kubewarden;Kubewarden;Kubewarden is a policy engine for Kubernetes. It helps with keeping your Kubernetes clusters secure and compliant.;provisioning;;;https://kubewarden.teststats.cncf.io/;2022-06-14;sandbox;00000126-0000-0000-0000-000000000000
-00000000-0129-0000-0000-000000000000;devstream;DevStream;DevStream: the open-source DevOps toolchain manager (DTM).;provisioning;;;https://devstream.teststats.cncf.io/;2022-06-14;sandbox;00000127-0000-0000-0000-000000000000
+project_id;name;display_name;description;category;home_url;logo_url;devstats_url;accepted_at;maturity;foundation
+00000000-0001-0000-0000-000000000000;artifact-hub;Artifact Hub;Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg;https://artifacthub.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0002-0000-0000-000000000000;containerd;;An industry-standard container runtime with an emphasis on simplicity, robustness and portability.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg;https://containerd.devstats.cncf.io;2017-03-29;graduated;cncf
+00000000-0003-0000-0000-000000000000;core-dns;CoreDNS;CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility. ;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/coredns/icon/color/coredns-icon-color.svg;https://coredns.devstats.cncf.io;2017-02-27;graduated;cncf
+00000000-0004-0000-0000-000000000000;envoy;Envoy;Envoy is an open source edge and service proxy, designed for cloud-native applications.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/envoy/icon/color/envoy-icon-color.svg;https://envoy.devstats.cncf.io/;2017-09-13;graduated;cncf
+00000000-0005-0000-0000-000000000000;etcd;etcd;Distributed reliable key-value store for the most critical data of a distributed system.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/etcd/icon/color/etcd-icon-color.svg;https://etcd.devstats.cncf.io/;2018-12-11;graduated;cncf
+00000000-0006-0000-0000-000000000000;fluentd;Fluentd;Fluentd is an open source data collector for unified logging layer.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/fluentd/icon/color/fluentd-icon-color.svg;https://fluentd.devstats.cncf.io/;2016-11-08;graduated;cncf
+00000000-0007-0000-0000-000000000000;harbor;Harbor;An open source trusted cloud native registry project that stores, signs, and scans content.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/harbor/icon/color/harbor-icon-color.svg;https://harbor.devstats.cncf.io/;2018-07-31;graduated;cncf
+00000000-0008-0000-0000-000000000000;helm;Helm;The Kubernetes Package Manager.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/helm/icon/color/helm-icon-color.svg;https://helm.devstats.cncf.io/;2018-06-01;graduated;cncf
+00000000-0009-0000-0000-000000000000;jaeger;Jaeger;Jaeger: open source, end-to-end distributed tracing. Monitor and troubleshoot transactions in complex distributed systems.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/jaeger/icon/color/jaeger-icon-color.svg;https://jaeger.devstats.cncf.io/;2017-09-13;graduated;cncf
+00000000-0010-0000-0000-000000000000;kubernetes;Kubernetes;Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubernetes/icon/color/kubernetes-icon-color.svg;https://k8s.devstats.cncf.io/;2016-03-10;graduated;cncf
+00000000-0011-0000-0000-000000000000;linkerd;Linkerd;Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/275957f868af92f9a1456ded0d3629cce961645c/projects/linkerd/icon/color/linkerd-icon-color.svg;https://linkerd.devstats.cncf.io/;2017-01-23;graduated;cncf
+00000000-0012-0000-0000-000000000000;opa;Open Policy Agent;An open source, general-purpose policy engine.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/opa/icon/color/opa-icon-color.svg;https://opa.devstats.cncf.io/;2018-03-29;graduated;cncf
+00000000-0013-0000-0000-000000000000;prometheus;Prometheus;The Prometheus monitoring system and time series database.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/prometheus/icon/color/prometheus-icon-color.svg;https://prometheus.devstats.cncf.io/;2016-05-09;graduated;cncf
+00000000-0014-0000-0000-000000000000;rook;Rook;Storage Orchestration for Kubernetes.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/rook/icon/color/rook-icon-color.svg;https://rook.devstats.cncf.io/;2018-01-29;graduated;cncf
+00000000-0015-0000-0000-000000000000;tuf;The Update Framework;Python reference implementation of The Update Framework (TUF).;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/tuf/icon/color/tuf-icon-color.svg;https://tuf.devstats.cncf.io/;2017-10-24;graduated;cncf
+00000000-0016-0000-0000-000000000000;tikv;TiKV;A distributed transactional key-value database. Based on the design of Google Spanner and HBase, but simpler to manage and without dependencies on any distributed filesystem.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/tikv/icon/color/tikv-icon-color.svg;https://tikv.devstats.cncf.io/;2018-08-28;graduated;cncf
+00000000-0017-0000-0000-000000000000;vitess;Vitess;Vitess is a database clustering system for horizontal scaling of MySQL.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/vitess/icon/color/vitess-icon-color.svg;https://vitess.devstats.cncf.io/;2018-02-05;graduated;cncf
+00000000-0018-0000-0000-000000000000;argo;Argo;Open source tools for Kubernetes to run workflows, manage clusters, and do GitOps right.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/argo/icon/color/argo-icon-color.svg;https://argo.devstats.cncf.io/;2020-04-07;incubating;cncf
+00000000-0019-0000-0000-000000000000;buildpacks;Buildpacks;Cloud Native Buildpacks transform your application source code into images that can run on any cloud.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/buildpacks/icon/color/buildpacks-icon-color.svg;https://buildpacks.devstats.cncf.io/;2018-10-03;incubating;cncf
+00000000-0020-0000-0000-000000000000;cilium;Cilium;eBPF-based Networking, Observability, and Security.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cilium/icon/color/cilium_icon-color.svg;https://cilium.devstats.cncf.io/;2021-10-13;incubating;cncf
+00000000-0021-0000-0000-000000000000;cloudevents;CloudEvents;A specification for describing event data in a common way.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cloudevents/icon/color/cloudevents-icon-color.svg;https://cloudevents.devstats.cncf.io/;2018-05-22;incubating;cncf
+00000000-0022-0000-0000-000000000000;cni;Container Network Interface;Container Network Interface - networking for Linux containers.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cni/icon/color/cni-icon-color.svg;https://cni.devstats.cncf.io/;2017-05-23;incubating;cncf
+00000000-0023-0000-0000-000000000000;contour;Contour;Contour is an open source Kubernetes ingress controller providing the control plane for the Envoy edge and service proxy.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/contour/icon/color/contour-icon-color.svg;https://contour.devstats.cncf.io/;2020-07-07;incubating;cncf
+00000000-0024-0000-0000-000000000000;cortex;Cortex;A multitenant, horizontally scalable Prometheus as a Service.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cortex/icon/color/cortex-icon-color.svg;https://cortex.devstats.cncf.io/;2018-09-20;incubating;cncf
+00000000-0025-0000-0000-000000000000;cri-o;CRI-O;Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/crio/icon/color/crio-icon-color.svg;https://crio.devstats.cncf.io/;2019-04-08;incubating;cncf
+00000000-0026-0000-0000-000000000000;crossplane;Crossplane;Compose cloud infrastructure and services into custom platform APIs.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/crossplane/icon/color/crossplane-icon-color.svg;https://crossplane.devstats.cncf.io/;2020-06-23;incubating;cncf
+00000000-0027-0000-0000-000000000000;dapr;Distributed Application Runtime;Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/dapr/icon/color/dapr-icon-color.svg;https://dapr.devstats.cncf.io/;2021-11-03;incubating;cncf
+00000000-0028-0000-0000-000000000000;dragonfly;Dragonfly;Dragonfly is an intelligent P2P based image and file distribution system, it also provides a variety of enterprise-level (efficiency, stability, safety, low-cost) product features.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/dragonfly/icon/color/dragonfly-icon-color.svg;https://dragonfly.devstats.cncf.io/;2018-11-15;incubating;cncf
+00000000-0029-0000-0000-000000000000;emissary-ingress;Emissary-Ingress;open source Kubernetes-native API gateway for microservices built on the Envoy Proxy.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/emissary-ingress/icon/color/emissary-ingress-icon-color.svg;https://emissaryingress.devstats.cncf.io/;2021-04-14;incubating;cncf
+00000000-0030-0000-0000-000000000000;falco;Falco;Falco, the cloud-native runtime security project, is the de facto Kubernetes threat detection engine.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/falco/icon/color/falco-icon-color.svg;https://falco.devstats.cncf.io/;2018-10-10;incubating;cncf
+00000000-0031-0000-0000-000000000000;flux-project;Flux;Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/flux/icon/color/flux-icon-color.svg;https://flux.devstats.cncf.io/;2019-07-15;incubating;cncf
+00000000-0032-0000-0000-000000000000;grpc;gRPC;A high performance, open source universal RPC framework.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/grpc/icon/color/grpc-icon-color.svg;https://grpc.devstats.cncf.io/;2017-02-16;incubating;cncf
+00000000-0033-0000-0000-000000000000;keda;KEDA;KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes.;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/keda/icon/color/keda-icon-color.svg;https://keda.devstats.cncf.io/;2020-03-09;incubating;cncf
+00000000-0034-0000-0000-000000000000;kube-edge;KubeEdge;A Kubernetes Native Edge Computing Framework.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubeedge/icon/color/kubeedge-icon-color.svg;https://kubeedge.devstats.cncf.io/;2019-03-18;incubating;cncf
+00000000-0035-0000-0000-000000000000;litmus-chaos;Litmus;Litmus is an open source Chaos Engineering platform that enables teams to identify weaknesses & potential outages in infrastructures by inducing chaos tests in a controlled way.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/litmus/icon/color/litmus-icon-color.svg;https://litmuschaos.devstats.cncf.io/;2020-06-23;incubating;cncf
+00000000-0036-0000-0000-000000000000;longhorn;Longhorn;Cloud-Native distributed storage built on and for Kubernetes.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.svg;https://longhorn.devstats.cncf.io/;2019-10-11;incubating;cncf
+00000000-0037-0000-0000-000000000000;nats;NATS;Connective Technology for Adaptive Edge & Distributed Systems.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/nats/icon/color/nats-icon-color.svg;https://nats.devstats.cncf.io/;2018-03-15;incubating;cncf
+00000000-0038-0000-0000-000000000000;notary;Notary;Notary is a project that allows anyone to have trust over arbitrary collections of data.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/notary/icon/color/notary-icon-color.svg;https://notary.devstats.cncf.io/;2017-10-24;incubating;cncf
+00000000-0039-0000-0000-000000000000;open-telemetry;OpenTelemetry;High-quality, ubiquitous, and portable telemetry to enable effective observability.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/opentelemetry/icon/color/opentelemetry-icon-color.svg;https://opentelemetry.devstats.cncf.io/;2019-05-07;incubating;cncf
+00000000-0040-0000-0000-000000000000;operator-framework;Operator Framework;SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/operatorframework/icon/color/operatorframework-icon-color.svg;https://operatorframework.devstats.cncf.io/;2020-07-09;incubating;cncf
+00000000-0041-0000-0000-000000000000;spiffe;SPIFFE;A universal identity control plane for distributed systems.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/spiffe/icon/color/spiffe-icon-color.svg;https://spiffe.devstats.cncf.io/;2018-03-29;incubating;cncf
+00000000-0042-0000-0000-000000000000;thanos;Thanos;Open source, highly available Prometheus setup with long term storage capabilities.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/thanos/icon/color/thanos-icon-color.svg;https://thanos.devstats.cncf.io/;2019-07-20;incubating;cncf
+00000000-0043-0000-0000-000000000000;akri;Akri;A Kubernetes Resource Interface for the Edge.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/akri/icon/light/akri-icon-light.svg;https://akri.devstats.cncf.io/;2021-09-14;sandbox;cncf
+00000000-0044-0000-0000-000000000000;antrea;Antrea;Kubernetes networking based on Open vSwitch.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/antrea/icon/color/antrea-icon-color.svg;https://antrea.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0045-0000-0000-000000000000;athenz;Athenz;Open source platform for X.509 certificate based service authentication and fine grained access control in dynamic infrastructures.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/athenz/icon/color/athenz-icon-color.svg;https://athenz.devstats.cncf.io/;2021-01-26;sandbox;cncf
+00000000-0046-0000-0000-000000000000;backstage;Backstage;Backstage is an open platform for building developer portals.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/backstage/icon/color/backstage-icon-color.svg;https://backstage.devstats.cncf.io/;2020-09-08;incubating;cncf
+00000000-0047-0000-0000-000000000000;bfe;Beyond Front End;Open-source layer 7 load balancer derived from proprietary Baidu FrontEnd.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/bfe/icon/color/bfe-icon-color.svg;https://bfe.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0048-0000-0000-000000000000;brigade;Brigade;Brigade is a tool for running scriptable, automated tasks.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/brigade/icon/color/brigade-icon-color.svg;https://brigade.devstats.cncf.io/;2019-03-18;sandbox;cncf
+00000000-0049-0000-0000-000000000000;cdk8s;;Cloud Development Kit for Kubernetes.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cdk8s/icon/color/cdk8s-icon-color.svg;https://cdk8s.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0050-0000-0000-000000000000;cert-manager;Cloud native certificate management;Automatically provision and manage TLS certificates in Kubernetes.;provisioning;https://cert-manager.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/cert-manager/icon/color/cert-manager-icon-color.svg;https://certmanager.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0051-0000-0000-000000000000;chaos-mesh;Chaos Mesh;A Chaos Engineering Platform for Kubernetes.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/chaosmesh/icon/color/chaosmesh-icon-color.svg;https://chaosmesh.devstats.cncf.io/;2020-07-14;incubating;cncf
+00000000-0052-0000-0000-000000000000;chaos-blade;ChaosBlade;An easy to use and powerful chaos engineering experiment toolkit.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/chaosblade/icon/color/chaosblade-icon-color.svg;https://chaosblade.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0053-0000-0000-000000000000;chubao-fs;CubeFS;CubeFS (formerly ChubaoFS) is a cloud native distributed file system and object store.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/chubaofs/icon/color/chubaofs-icon-color.svg;https://chubaofs.devstats.cncf.io/;2019-12-17;sandbox;cncf
+00000000-0054-0000-0000-000000000000;cloud-custodian;Cloud Custodian;Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/cloudcustodian/icon/color/cloudcustodian-icon-color.svg;https://cloudcustodian.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0055-0000-0000-000000000000;cni-genie;CNI-Genie;CNI-Genie for choosing pod network of your choice during deployment time. Supported pod networks - Calico, Flannel, Romana, Weave.;runtime;;https://landscape.cncf.io/logos/cni-genie.svg;https://cnigenie.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0056-0000-0000-000000000000;curiefense;Curiefense;Curiefense is a unified, open source platform protecting cloud native applications.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/curiefense/icon/color/curiefense-icon-color.svg;https://curiefense.devstats.cncf.io/;2021-01-26;sandbox;cncf
+00000000-0057-0000-0000-000000000000;dex;Dex;OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/dex/icon/color/dex-icon-color.svg;https://dex.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0058-0000-0000-000000000000;fluid;Fluid;Fluid is an orchestration platform for elastic data abstraction and acceleration in cloud native environment.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/fluid/icon/color/fluid-icon-color.svg;https://fluid.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0059-0000-0000-000000000000;fonio;foniod;Data first monitoring agent using (e)BPF, built on RedBPF.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/fonio/icon/color/fonio-icon-color.svg;https://ingraind.devstats.cncf.io/;2021-03-30;sandbox;cncf
+00000000-0060-0000-0000-000000000000;in-toto;;in-toto is a framework to protect supply chain integrity.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/in-toto/icon/color/in-toto-icon-color.svg;https://intoto.devstats.cncf.io/;2019-08-21;incubating;cncf
+00000000-0061-0000-0000-000000000000;inclavare;Inclavare Containers;A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/inclavare/icon/color/inclavare-icon-color.svg;https://inclavarecontainers.devstats.cncf.io/;2021-09-14;sandbox;cncf
+00000000-0062-0000-0000-000000000000;flagger;Flagger;Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments).;app definition;https://docs.flagger.app/;https://raw.githubusercontent.com/cncf/artwork/master/projects/flux/flagger/icon/color/flagger-icon-color.svg;;2019-07-15;incubating;cncf
+00000000-0063-0000-0000-000000000000;k3s;K3s;The certified Kubernetes distribution built for IoT & Edge computing.;platform;;https://raw.githubusercontent.com/cncf/artwork/master/projects/k3s/icon/color/k3s-icon-color.svg;https://k3s.devstats.cncf.io/;2020-08-19;sandbox;cncf
+00000000-0064-0000-0000-000000000000;k8gb;K8GB;A cloud native Kubernetes Global Balancer.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/k8gb/icon/color/k8gb-icon-color.svg;https://k8gb.devstats.cncf.io/;2021-03-30;sandbox;cncf
+00000000-0065-0000-0000-000000000000;k8up;K8up;K8up is a Kubernetes Operator distributed via a Helm chart, compatible with OpenShift and plain Kubernetes.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/k8up/icon/k8up-icon-color.svg;https://k8up.devstats.cncf.io/;2021-11-16;sandbox;cncf
+00000000-0066-0000-0000-000000000000;karmada;Karmada;Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/karmada/icon/color/karmada-icon-color.svg;https://karmada.devstats.cncf.io/;2021-09-14;sandbox;cncf
+00000000-0067-0000-0000-000000000000;keptn;Keptn;Cloud-native application life-cycle orchestration. Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/keptn/icon/color/keptn-icon-color.svg;https://keptn.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0068-0000-0000-000000000000;keylime;Keylime;Bootstrap & Maintain Trust on the Edge / Cloud and IoT.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/keylime/icon/color/keylime-icon-color.svg;https://keylime.devstats.cncf.io/;2020-09-22;sandbox;cncf
+00000000-0069-0000-0000-000000000000;krustlet;Krustlet;Run WebAssembly workloads in your Kubernetes cluster.;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/krustlet/icon/color/krustlet-icon-color.svg;https://krustlet.devstats.cncf.io/;2021-05-24;sandbox;cncf
+00000000-0070-0000-0000-000000000000;kube-ovn;Kube-OVN;A Kubernetes Network Fabric for Enterprises that is Rich in Functions and Easy in Operations.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kube-ovn/icon/color/kube-ovn-icon-color.svg;https://kubeovn.devstats.cncf.io/;2021-01-26;sandbox;cncf
+00000000-0071-0000-0000-000000000000;kuberhealthy;Kuberhealthy;A Kubernetes operator for running synthetic checks as pods. Works great with Prometheus!;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kuberhealthy/icon/color/kuberhealthy-icon-color.svg;https://kuberhealthy.devstats.cncf.io/;2021-03-30;sandbox;cncf
+00000000-0072-0000-0000-000000000000;kubevela;KubeVela;Make shipping applications more enjoyable.;app definition;https://kubevela.io/;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevela/icon/color/kubevela-icon-color.svg;https://kubevela.devstats.cncf.io/;2021-04-05;sandbox;cncf
+00000000-0073-0000-0000-000000000000;kubevirt;KubeVirt;Kubernetes Virtualization API and runtime in order to define and manage virtual machines.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubevirt/icon/color/kubevirt-icon-color.svg;https://kubevirt.devstats.cncf.io/;2019-09-09;incubating;cncf
+00000000-0074-0000-0000-000000000000;kudo;KUDO;Kubernetes Universal Declarative Operator.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kudo/icon/color/kudo-icon-color.svg;https://kudo.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0075-0000-0000-000000000000;kuma;Kuma;The universal Envoy service mesh for distributed service connectivity.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kuma/icon/color/kuma-icon-color.svg;https://kuma.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0076-0000-0000-000000000000;kyverno;Kyverno;Kubernetes Native Policy Management.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kyverno/icon/color/kyverno-icon-color.svg;https://kyverno.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0077-0000-0000-000000000000;meshery;Meshery;The service mesh management plane.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/meshery/icon/meshery-logo-light.svg;https://meshery.devstats.cncf.io/;2021-06-21;sandbox;cncf
+00000000-0078-0000-0000-000000000000;metal3-io;Metal3;Bare metal host provisioning for Kubernetes.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/metal3/icon/color/metal3-icon-color.svg;https://metal3.devstats.cncf.io/;2020-09-08;sandbox;cncf
+00000000-0079-0000-0000-000000000000;network-service-mesh;Network Service Mesh;The Hybrid/Multi-cloud IP Service Mesh.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/networkservicemesh/icon/color/networkservicemesh-icon-color.svg;https://networkservicemesh.devstats.cncf.io/;2019-04-11;sandbox;cncf
+00000000-0080-0000-0000-000000000000;nocalhost;Nocalhost;Nocalhost is Cloud Native Development Environment.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/nocalhost/icon/color/nocalhost-icon-color.svg;https://nocalhost.devstats.cncf.io/;2021-11-16;sandbox;cncf
+00000000-0081-0000-0000-000000000000;ocm;Open Cluster Management;Make working with many Kubernetes clusters super easy regardless of where they are deployed.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/open-cluster-management/icon/color/ocm-icon-color.png;https://openclustermanagement.devstats.cncf.io/;2021-11-09;sandbox;cncf
+00000000-0082-0000-0000-000000000000;osm;Open Service Mesh;Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openservicemesh/icon/color/openservicemesh-icon-color.svg;https://openservicemesh.devstats.cncf.io/;2020-09-08;sandbox;cncf
+00000000-0083-0000-0000-000000000000;openebs;OpenEBS;Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.svg;https://openebs.devstats.cncf.io/;2019-05-14;sandbox;cncf
+00000000-0084-0000-0000-000000000000;open-gitops;OpenGitOps;OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/opengitops/icon/color/opengitops-icon-color.svg;https://gitopswg.devstats.cncf.io/;2021-01-26;sandbox;cncf
+00000000-0085-0000-0000-000000000000;open-kruise;OpenKruise;Automate application management on Kubernetes.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openkruise/icon/color/openkruise-icon-color.svg;https://openkruise.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0086-0000-0000-000000000000;open-metrics;OpenMetrics;Evolving the Prometheus exposition format into a standard.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openmetrics/icon/color/openmetrics-icon-color.svg;https://openmetrics.devstats.cncf.io/;2018-08-10;incubating;cncf
+00000000-0087-0000-0000-000000000000;openyurt;OpenYurt;An open platform that extending your native Kubernetes to edge.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openyurt/icon/color/openyurt-icon-color.svg;https://openyurt.devstats.cncf.io/;2020-09-08;sandbox;cncf
+00000000-0088-0000-0000-000000000000;oras;ORAS;ORAS is the tool for working with OCI Artifacts.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/oras/horizontal/color/oras-horizontal-color.svg;https://oras.devstats.cncf.io/;2021-06-02;sandbox;cncf
+00000000-0089-0000-0000-000000000000;parsec;PARSEC;Platform AbstRaction for SECurity service.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/parsec/icon/color/parsec-icon-color.svg;https://parsec.devstats.cncf.io/;2020-06-23;sandbox;cncf
+00000000-0090-0000-0000-000000000000;piraeus;Piraeus;High Available Datastore for Kubernetes.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/piraeus/icon/color/piraeus-icon-color.svg;https://piraeus.devstats.cncf.io/;2021-01-26;sandbox;cncf
+00000000-0091-0000-0000-000000000000;pixie;Pixie;Open source Kubernetes observability for developers.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/pixie/icon/color/pixie-icon-color.svg;https://pixie.devstats.cncf.io/;2021-06-15;sandbox;cncf
+00000000-0092-0000-0000-000000000000;porter;Porter;Porter enables you to package your application artifact, client tools, configuration and deployment logic together as a versioned bundle that you can distribute, and install with a single command.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/porter/icon/color/porter-icon-color.svg;https://porter.devstats.cncf.io/;2020-09-08;sandbox;cncf
+00000000-0093-0000-0000-000000000000;pravega;Pravega;Streaming as a new software defined storage primitive.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/pravega/icon/color/pravega-icon-color.svg;https://pravega.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0094-0000-0000-000000000000;schemahero;SchemaHero;A Kubernetes operator for declarative database schema management (gitops for database schemas).;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/schemahero/icon/color/schemahero-icon-color.svg;https://schemahero.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0095-0000-0000-000000000000;serverless-workflow;Serverless Workflow;Standards-based DSL and open-source dev tools and runtimes are at the heart of the Serverless Workflow project.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/serverlessworkflow/icon/color/serverlessworkflow-icon-color.svg;https://serverlessworkflow.devstats.cncf.io/;2020-07-14;sandbox;cncf
+00000000-0096-0000-0000-000000000000;smi;Service Mesh Interface;A standard interface for service meshes on Kubernetes.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/servicemeshinterface/icon/color/servicemeshinterface-icon-color.svg;https://smi.devstats.cncf.io/;2020-03-16;sandbox;cncf
+00000000-0097-0000-0000-000000000000;smp;Service Mesh Performance;Standardizing Service Mesh Value Measurement.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/servicemeshperformance/icon/smp-dark.svg;https://servicemeshperformance.devstats.cncf.io/;2021-06-21;sandbox;cncf
+00000000-0098-0000-0000-000000000000;skooner;Skooner;Simple Kubernetes real-time dashboard and management.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/skooner/icon/color/Skooner-icon-color.svg;https://k8dash.devstats.cncf.io/;;sandbox;cncf
+00000000-0099-0000-0000-000000000000;strimzi;Strimzi;Apache Kafka running on Kubernetes.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/strimzi/icon/color/strimzi-icon-color.svg;https://strimzi.devstats.cncf.io/;2019-08-28;sandbox;cncf
+00000000-0100-0000-0000-000000000000;submariner;Submariner;Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/submariner/icon/color/submariner-icon-color.svg;https://submariner.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0101-0000-0000-000000000000;superedge;SuperEdge;An edge-native container management system for edge computing.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/superedge/icon/color/superedge-icon-color.svg;https://superedge.devstats.cncf.io/;2021-09-14;sandbox;cncf
+00000000-0102-0000-0000-000000000000;telepresence;Telepresence;Local development against a remote Kubernetes or OpenShift cluster.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/telepresence/icon/color/telepresence-icon-color.svg;https://telepresence.devstats.cncf.io/;2018-05-22;sandbox;cncf
+00000000-0103-0000-0000-000000000000;tinkerbell;Tinkerbell;A workflow engine for provisioning bare metal.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/tinkerbell/icon/color-light/tinkerbell-icon-color-light.svg;https://tinkerbell.devstats.cncf.io/;2020-11-10;sandbox;cncf
+00000000-0104-0000-0000-000000000000;tremor;Tremor;An early-stage event processing system for unstructured data with rich support for structural pattern-matching, filtering and transformation.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/tremor/icon/color/tremor-icon-color.svg;https://tremor.devstats.cncf.io/;2020-09-08;sandbox;cncf
+00000000-0105-0000-0000-000000000000;trickster;Trickster;Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator.;observability;;https://raw.githubusercontent.com/cncf/artwork/master/projects/trickster/icon/color/trickster-icon-color.svg;https://trickster.devstats.cncf.io/;2021-03-30;sandbox;cncf
+00000000-0106-0000-0000-000000000000;vineyard;Vineyard;Vineyard (v6d) is an in-memory immutable data manager.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/vineyard/icon/color/vineyard-icon-color.svg;https://vineyard.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0107-0000-0000-000000000000;virtual-kubelet;Virtual Kubelet;Virtual Kubelet is an open source Kubernetes kubelet implementation.;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/virtualkubelet/icon/color/virtualkubelet-icon-color.svg;https://virtualkubelet.devstats.cncf.io/;2018-12-04;sandbox;cncf
+00000000-0108-0000-0000-000000000000;volcano;Volcano;A Kubernetes native system for high-performance workloads.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/volcano/icon/color/volcano-icon-color.svg;https://volcano.devstats.cncf.io/;2020-04-10;incubating;cncf
+00000000-0109-0000-0000-000000000000;wasm-cloud;wasmCloud;wasmCloud allows for simple, secure, distributed application development using WebAssembly actors and capability providers.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/wasmcloud/icon/color/wasmcloud.icon_green.svg;https://wasmcloud.devstats.cncf.io/;2021-07-12;sandbox;cncf
+00000000-0110-0000-0000-000000000000;wasm-edge;WasmEdge;WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/wasm-edge-runtime/icon/color/wasm-edge-runtime-icon-color.svg;https://wasmedge.devstats.cncf.io/;2021-04-27;sandbox;cncf
+00000000-0111-0000-0000-000000000000;knative;Knative;Kubernetes-based platform to build, deploy, and manage modern serverless workloads.;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/knative/icon/color/knative-icon-color.svg;;2022-03-02;incubating;cncf
+00000000-0113-0000-0000-000000000000;krator;Krator;Kubernetes Rust State Machine Operator.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/krator/icon/color/krator-icon-color.svg;https://krator.devstats.cncf.io/;2021-05-26;sandbox;cncf
+00000000-0114-0000-0000-000000000000;devfile;Devfile;An open standard defining containerized development environments that enables developer tools to simplify and accelerate workflows.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/devfile/icon/color/devfile-icon-color.svg;https://devfile.devstats.cncf.io/;2021-01-11;sandbox;cncf
+00000000-0115-0000-0000-000000000000;kube-rs;;rust kubernetes client and controller runtime.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kube-rs/icon/black/kube-rs-icon-black.svg;https://kubers.devstats.cncf.io/;2021-11-16;sandbox;cncf
+00000000-0116-0000-0000-000000000000;kubedl;KubeDL;Run your deep learning workloads on Kubernetes more easily and efficiently.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/kubedl/icon/color/kubedl-icon-color.svg;https://kubedl.devstats.cncf.io/;2021-05-14;sandbox;cncf
+00000000-0117-0000-0000-000000000000;openelb;OpenELB;Load Balancer Implementation for Kubernetes in Bare-Metal, Edge, and Virtualization.;provisioning;;https://landscape.cncf.io/logos/open-elb.svg;https://openelb.devstats.cncf.io;2021-09-11;sandbox;cncf
+00000000-0118-0000-0000-000000000000;confidential-containers;Confidential Containers;"Confidential Containers is an open source community working to enable cloud native confidential computing by leveraging Trusted Execution Environments to protect containers and data.";provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/confidential-containers/icon/color/confidential-containers-icon.svg;https://confidentialcontainers.devstats.cncf.io/;2022-03-08;sandbox;cncf
+00000000-0119-0000-0000-000000000000;openfunction;Open Function;Cloud Native Function-as-a-Service Platform;serverless;;https://raw.githubusercontent.com/cncf/artwork/master/projects/openfunction/icon/color/openfunction-icon-color.svg;https://openfunction.devstats.cncf.io;2021-11-09;sandbox;cncf
+00000000-0120-0000-0000-000000000000;sealer;;A tool to seal application's all dependencies and Kubernetes into CloudImage, distribute this application anywhere via CloudImage, and run it within any cluster in one command.;app definition;;https://landscape.cncf.io/logos/sealer.svg;https://sealer.devstats.cncf.io;2022-04-26;sandbox;cncf
+00000000-0121-0000-0000-000000000000;teller;Teller;A secrets management tool for developers built in Go - never leave your command line for secrets.;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/teller/icon/color/teller-icon-color.svg;https://teller.devstats.cncf.io;2022-04-26;sandbox;cncf
+00000000-0122-0000-0000-000000000000;fabedge;FabEdge;A Secure Edge Computing Container Networking Solution based on Kubernetes & KubeEdge.;runtime;;https://raw.githubusercontent.com/cncf/artwork/master/projects/fabedge/icon/color/fabedge-color.svg;https://fabedge.devstats.cncf.io;2022-03-08;sandbox;cncf
+00000000-0123-0000-0000-000000000000;clusterpedia;Clusterpedia;Clusterpedia is used for complex resources search across multiple clusters, support simultaneous search of a single kind of resource or multiple kinds of resources existing in multiple clusters.;orchestration;;https://raw.githubusercontent.com/cncf/artwork/master/projects/clusterpedia/icon/color/clusterpedia-icon-color.svg;https://clusterpedia.devstats.cncf.io;2022-06-14;sandbox;cncf
+00000000-0124-0000-0000-000000000000;opencost;Opencost;OpenCost provides visibility into current and historical Kubernetes spend and resource allocation.;observability;https://www.opencost.io;https://raw.githubusercontent.com/cncf/artwork/master/projects/opencost/icon/color/Opencost_Icon_Color.svg;https://opencost.teststats.cncf.io/;2022-06-14;sandbox;cncf
+00000000-0125-0000-0000-000000000000;aeraki-mesh;Aeraki Mesh;Aeraki Mesh allows you to manage any layer-7 traffic in a service mesh.;orchestration;;https://landscape.cncf.io/logos/aeraki-mesh.svg;https://aerakimesh.teststats.cncf.io/;2022-06-14;sandbox;cncf
+00000000-0126-0000-0000-000000000000;curve;Curve;Curve is a high-performance, lightweight-operation, cloud-native open source distributed storage system.;app definition;;https://raw.githubusercontent.com/cncf/artwork/master/projects/curve/icon/color/curve_icon_color.svg;https://curve.teststats.cncf.io/;2022-06-14;sandbox;cncf
+00000000-0127-0000-0000-000000000000;openfeature;OpenFeature;Standardizing Feature Flagging for Everyone.;app definition;;https://landscape.cncf.io/logos/open-feature.svg;https://openfeature.teststats.cncf.io/;2022-06-14;sandbox;cncf
+00000000-0128-0000-0000-000000000000;kubewarden;Kubewarden;Kubewarden is a policy engine for Kubernetes. It helps with keeping your Kubernetes clusters secure and compliant.;provisioning;;https://www.kubewarden.io/images/logo-kubewarden.svg;https://kubewarden.teststats.cncf.io/;2022-06-14;sandbox;cncf
+00000000-0129-0000-0000-000000000000;devstream;DevStream;DevStream: the open-source DevOps toolchain manager (DTM).;provisioning;;https://raw.githubusercontent.com/cncf/artwork/master/projects/devstream/icon/color/devstream-icon-color.svg;https://devstream.teststats.cncf.io/;2022-06-14;sandbox;cncf
diff --git a/database/data/lfaidata/organizations.csv b/database/data/lfaidata/organizations.csv
deleted file mode 100644
index 500ec2a7..00000000
--- a/database/data/lfaidata/organizations.csv
+++ /dev/null
@@ -1,37 +0,0 @@
-organization_id;name;home_url;logo_url;foundation
-10000001-0000-0000-0000-000000000000;angel-ml;https://angelml.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/angel/icon/color/angel-icon-color.svg;lfaidata
-10000002-0000-0000-0000-000000000000;pyro-ppl;https://pyro.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/pyro/icon/color/pyro-icon-color.svg;lfaidata
-10000003-0000-0000-0000-000000000000;milvus-project;https://milvus.io/;https://raw.githubusercontent.com/lfai/artwork/main/projects/milvus/icon/color/milvus-icon-color.png;lfaidata
-10000004-0000-0000-0000-000000000000;odpi;https://egeria.odpi.org/;http://insidebigdata.com/wp-content/uploads/2016/04/ODPi_logo.png;lfaidata
-10000005-0000-0000-0000-000000000000;horovod;https://horovod.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/horovod/icon/color/horovod-icon-color.svg;lfaidata
-10000006-0000-0000-0000-000000000000;onnx;https://onnx.ai;https://raw.githubusercontent.com/lfai/artwork/main/projects/onnx/icon/color/onnx-icon-color.svg;lfaidata
-10000007-0000-0000-0000-000000000000;acumos;https://www.acumos.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/acumos/icon/color/acumos-icon-color.svg;lfaidata
-10000008-0000-0000-0000-000000000000;flyteorg;https://flyte.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/flyte/icon/color/flyte-icon-color.svg;lfaidata
-10000009-0000-0000-0000-000000000000;ibm;https://developer.ibm.com/open/projects/adversarial-robustness-toolbox/;https://upload.wikimedia.org/wikipedia/commons/5/51/IBM_logo.svg;lfaidata
-10000010-0000-0000-0000-000000000000;forestflow;https://forestflow.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/forestflow/icon/color/forestflow-icon-color.svg;lfaidata
-10000011-0000-0000-0000-000000000000;tony;https://github.com/tony-framework;https://raw.githubusercontent.com/lfai/artwork/main/projects/tony/icon/color/TonY-icon-color.svg;lfaidata
-10000012-0000-0000-0000-000000000000;kompute;https://kompute.cc/;https://raw.githubusercontent.com/lfai/artwork/main/projects/kompute/icon/color/kompute-icon-color.svg;lfaidata
-10000013-0000-0000-0000-000000000000;datapractices;https://datapractices.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/datapractices/icon/color/datapractices-icon-color.svg;lfaidata
-10000014-0000-0000-0000-000000000000;janusgraph;https://janusgraph.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/janusgraph/icon/color/janusgraph-icon-color.svg;lfaidata
-10000015-0000-0000-0000-000000000000;amundsen;https://www.amundsen.io/;https://raw.githubusercontent.com/lfai/artwork/main/projects/amundsen/icon/color/amundsen-icon-color.svg;lfaidata
-10000016-0000-0000-0000-000000000000;datashim;https://github.com/datashim-io/datashim;https://raw.githubusercontent.com/lfai/artwork/main/projects/datashim/horizontal/color/datashim-horizontal-color.svg;lfaidata
-10000017-0000-0000-0000-000000000000;marquez;https://marquezproject.github.io/marquez;https://raw.githubusercontent.com/lfai/artwork/main/projects/marquez/icon/color/marquez-icon-color.svg;lfaidata
-10000018-0000-0000-0000-000000000000;feast;https://feast.dev/;https://raw.githubusercontent.com/lfai/artwork/main/projects/feast/icon/color/feast-icon-color.svg;lfaidata
-10000019-0000-0000-0000-000000000000;nnstreamer;https://nnstreamer.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/nnstreamer/icon/color/nnstreamer-icon-color.svg;lfaidata
-10000020-0000-0000-0000-000000000000;adlik;https://adlik.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/adlik/icon/color/adlik-icon-color.svg;lfaidata
-10000021-0000-0000-0000-000000000000;kserve;https://kserve.io/;https://raw.githubusercontent.com/lfai/artwork/main/projects/kserve/icon/color/k-serve-icon-color.svg;lfaidata
-10000022-0000-0000-0000-000000000000;substra;https://github.com/Substra;https://raw.githubusercontent.com/lfai/artwork/main/projects/substra/icon/color/substra-icon-color.svg;lfaidata
-10000023-0000-0000-0000-000000000000;ludwig;https://ludwig-ai.github.io/ludwig-docs/;https://raw.githubusercontent.com/lfai/artwork/main/projects/ludwig/icon/ludwig-icon-empty.svg;lfaidata
-10000024-0000-0000-0000-000000000000;kedro;https://kedro.readthedocs.io/en/stable;https://raw.githubusercontent.com/lfai/artwork/main/projects/kedro/icon/color/kedro-icon-color.svg;lfaidata
-10000025-0000-0000-0000-000000000000;aix360;http://aix360.mybluemix.net/;https://raw.githubusercontent.com/lfai/artwork/main/projects/ai-explainability-360/icon/color/ai-explainability-360-icon-color.svg;lfaidata
-10000026-0000-0000-0000-000000000000;aif360;https://developer.ibm.com/open/projects/ai-fairness-360/;https://raw.githubusercontent.com/lfai/artwork/main/projects/ai-fairness-360/icon/color/ai-fairness-360-icon-color.svg;lfaidata
-10000027-0000-0000-0000-000000000000;elasticdeeplearning;https://elasticdeeplearning.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/edl/icon/color/edl-icon-color.svg;lfaidata
-10000028-0000-0000-0000-000000000000;soajs;https://www.soajs.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/soajs/icon/color/soajs-icon-color.svg;lfaidata
-10000029-0000-0000-0000-000000000000;sparklyr;https://sparklyr.ai/;https://raw.githubusercontent.com/lfai/artwork/main/projects/sparklyr/color/sparklyr-color.svg;lfaidata
-10000030-0000-0000-0000-000000000000;delta;https://delta-didi.readthedocs.io/en/latest;https://raw.githubusercontent.com/lfai/artwork/main/projects/delta/icon/color/delta-icon-color.svg;lfaidata
-10000031-0000-0000-0000-000000000000;openbytes;https://openbytes.io/;https://raw.githubusercontent.com/lfai/artwork/main/projects/openbytes/icon/color/OpenBytes-icon-color.svg;lfaidata
-10000032-0000-0000-0000-000000000000;openlineage;https://github.com/OpenLineage;https://raw.githubusercontent.com/lfai/artwork/main/projects/openlineage/horizontal/color/openlineage-horizontal-color.svg;lfaidata
-10000033-0000-0000-0000-000000000000;artigraph;https://github.com/artigraph/;https://landscape.lfai.foundation/logos/artigraph.svg;lfaidata
-10000034-0000-0000-0000-000000000000;ml-exchange;https://ml-exchange.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/mlx/icon/color/mlx-icon-color.svg;lfaidata
-10000035-0000-0000-0000-000000000000;rosaenlg;https://rosaenlg.org/;https://raw.githubusercontent.com/lfai/artwork/main/projects/rosaenlg/icon/color/RosaeNLG-icon-color.svg;lfaidata
-10000036-0000-0000-0000-000000000000;1chipml;https://github.com/1chipML/;https://raw.githubusercontent.com/lfai/artwork/main/projects/1chipML/color/1chipML_color.svg;lfaidata
diff --git a/database/data/lfaidata/projects.csv b/database/data/lfaidata/projects.csv
index 68400b70..c2679241 100644
--- a/database/data/lfaidata/projects.csv
+++ b/database/data/lfaidata/projects.csv
@@ -1,38 +1,38 @@
-project_id;name;display_name;description;category;home_url;logo_url;accepted_at;maturity;organization_id
-10000000-0001-0000-0000-000000000000;angel-ml;Angel ML;The Angel Project is a high-performance distributed machine learning platform based on Parameter Server, running on YARN and Apache Spark;machine learning;;;2018-06-07;graduated;10000001-0000-0000-0000-000000000000
-10000000-0002-0000-0000-000000000000;pyro;Pyro;Deep universal probabilistic programming with Python and PyTorch;programming;;;2019-01-17;graduated;10000002-0000-0000-0000-000000000000
-10000000-0003-0000-0000-000000000000;milvus;Milvus;An open source vector database powered by Faiss, NMSLIB and Annoy;data;;;2020-01-16;graduated;10000003-0000-0000-0000-000000000000
-10000000-0004-0000-0000-000000000000;egeria;Egeria;Open Metadata and Governance;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/egeria/icon/color/egeria-icon-color.svg;2020-09-24;graduated;10000004-0000-0000-0000-000000000000
-10000000-0005-0000-0000-000000000000;horovod;Horovod;Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet;model;;;2018-12-06;graduated;10000005-0000-0000-0000-000000000000
-10000000-0006-0000-0000-000000000000;onnx;ONNX;Open standard for machine learning interoperability;model;;;2019-10-31;graduated;10000006-0000-0000-0000-000000000000
-10000000-0007-0000-0000-000000000000;acumos;Acumos;LF AI & Data Foundation supports open source innovation in artificial intelligence and data;model;;;2018-03-26;graduated;10000007-0000-0000-0000-000000000000
-10000000-0008-0000-0000-000000000000;flyte;Flyte;Kubernetes-native workflow automation platform for complex, mission-critical data and ML processes at scale. It has been battle-tested at Lyft, Spotify, Freenome, and others and is truly open-source;model;;;2021-02-25;graduated;10000008-0000-0000-0000-000000000000
-10000000-0009-0000-0000-000000000000;adversarial-robustness-toolbox;Adversarial Robustness Toolbox;Adversarial Robustness Toolbox (ART) - Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams;trusted & responsible ai;https://adversarial-robustness-toolbox.org;https://raw.githubusercontent.com/lfai/artwork/main/projects/adversarial-robustness-toolbox/icon/color/adversarial-robustness-toolbox-icon-color.svg;2020-06-18;graduated;10000009-0000-0000-0000-000000000000
-10000000-0010-0000-0000-000000000000;forestflow;ForestFlow;ForestFlow is a policy-driven Machine Learning Model Server. It is an LF AI Foundation incubation project.;machine learning;;;2020-03-26;incubating;10000010-0000-0000-0000-000000000000
-10000000-0011-0000-0000-000000000000;tony;TonY;TonY is a framework to natively run deep learning frameworks on Apache Hadoop.;deep learning;;;2021-07-15;incubating;10000011-0000-0000-0000-000000000000
-10000000-0012-0000-0000-000000000000;kompute;Kompute;General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.;programming;;;2021-05-06;incubating;10000012-0000-0000-0000-000000000000
-10000000-0013-0000-0000-000000000000;datapractices;DataPractices;Datapractices site;data;;;2020-11-05;incubating;10000013-0000-0000-0000-000000000000
-10000000-0014-0000-0000-000000000000;opends4all;OpenDS4All;OpenDS4All project, hosted by LF AI & Data;data;https://github.com/odpi/OpenDS4All;https://raw.githubusercontent.com/lfai/artwork/main/projects/opends4all/icon/color/opends4all-icon-color.svg;2020-09-24;incubating;10000004-0000-0000-0000-000000000000
-10000000-0015-0000-0000-000000000000;janusgraph;JanusGraph;JanusGraph: an open-source, distributed graph database;data;;;2020-12-03;incubating;10000014-0000-0000-0000-000000000000
-10000000-0016-0000-0000-000000000000;amundsen;Amundsen;Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data;data;;;2020-08-30;incubating;10000015-0000-0000-0000-000000000000
-10000000-0017-0000-0000-000000000000;datashim;Datashim;A kubernetes based framework for hassle free handling of datasets;data;;;2021-01-14;incubating;10000016-0000-0000-0000-000000000000
-10000000-0018-0000-0000-000000000000;marquez;Marquez;Collect, aggregate, and visualize a data ecosystem's metadata;data;;;2019-12-19;incubating;10000017-0000-0000-0000-000000000000
-10000000-0019-0000-0000-000000000000;feast;Feast;Feature Store for Machine Learning;data;;;2020-09-24;incubating;10000018-0000-0000-0000-000000000000
-10000000-0020-0000-0000-000000000000;nnstreamer;NNStreamer;Neural Network (NN) Streamer, Stream Processing Paradigm for Neural Network Apps/Devices;data;;;2020-03-12;incubating;10000019-0000-0000-0000-000000000000
-10000000-0021-0000-0000-000000000000;adlik;Adlik;Toolkit for Accelerating Deep Learning Inference;model;;;2019-09-26;incubating;10000020-0000-0000-0000-000000000000
-10000000-0022-0000-0000-000000000000;kserve;KServe;Serverless Inferencing on Kubernetes;model;;;2021-11-18;incubating;10000021-0000-0000-0000-000000000000
-10000000-0023-0000-0000-000000000000;substra;Substra;Substra is a framework for traceable ML orchestration on decentralized sensitive data;model;;;2021-03-25;incubating;10000022-0000-0000-0000-000000000000
-10000000-0024-0000-0000-000000000000;ludwig;Ludwig;Ludwig is a toolbox that allows to train and evaluate deep learning models without the need to write code;model;;;2020-05-07;incubating;10000023-0000-0000-0000-000000000000
-10000000-0025-0000-0000-000000000000;kedro;Kedro;A Python framework for creating reproducible, maintainable and modular data science code;model;;;2021-09-09;incubating;10000024-0000-0000-0000-000000000000
-10000000-0026-0000-0000-000000000000;aix360;AI Explainability 360 Toolkit;Interpretability and explainability of data and machine learning models;trusted & responsible ai;;;2020-06-18;incubating;10000025-0000-0000-0000-000000000000
-10000000-0027-0000-0000-000000000000;aif360;AI Fairness 360 Toolkit;A comprehensive set of fairness metrics for datasets and machine learning models, explanations for these metrics, and algorithms to mitigate bias in datasets and models;trusted & responsible ai;;;2020-06-18;incubating;10000026-0000-0000-0000-000000000000
-10000000-0028-0000-0000-000000000000;elasticdeeplearning;Elastic Deep Learning;Elastic Deep Learning for deep learning framework on Kubernetes;distributed computing;;;2018-07-05;incubating;10000027-0000-0000-0000-000000000000
-10000000-0029-0000-0000-000000000000;soajs;SOAJS;LF AI & Data Foundation supports open source innovation in artificial intelligence and data.;distributed computing;;;2020-09-10;incubating;10000028-0000-0000-0000-000000000000
-10000000-0030-0000-0000-000000000000;sparklyr;;R interface for Apache Spark;distributed computing;;;2019-12-05;incubating;10000029-0000-0000-0000-000000000000
-10000000-0031-0000-0000-000000000000;delta;DELTA;DELTA is a deep learning based natural language and speech processing platform;natural language processing;;;2020-09-10;incubating;10000030-0000-0000-0000-000000000000
-10000000-0032-0000-0000-000000000000;openbytes;OpenBytes;This repo contains documentation related to the operation of the OpenBytes project;data;;;2021-10-21;sandbox;10000031-0000-0000-0000-000000000000
-10000000-0033-0000-0000-000000000000;openlineage;OpenLineage;An Open Standard for lineage metadata collection;data;;;2021-05-20;sandbox;10000032-0000-0000-0000-000000000000
-10000000-0034-0000-0000-000000000000;artigraph;Artigraph;Artigraph is a tool to improve the authorship, management, and quality of data. It emphasizes that the core deliverable of a data pipeline or workflow is the data, not the tasks;data;;;2022-01-27;sandbox;10000033-0000-0000-0000-000000000000
-10000000-0035-0000-0000-000000000000;ml-exchange;Machine Learning eXchange;Machine Learning eXchange (MLX). Data and AI Assets Catalog and Execution Engine;model;;;2021-05-06;sandbox;10000034-0000-0000-0000-000000000000
-10000000-0036-0000-0000-000000000000;rosaenlg;RosaeNLG;RosaeNLG is a Natural Language Generation library for node.js and browser rendering, based on the Pug template engine;natural language processing;;;2021-03-11;sandbox;10000035-0000-0000-0000-000000000000
-10000000-0037-0000-0000-000000000000;1chipml;1chipML;1chipML is a library for numerical crunching and machine learning on microcontrollers;machine learning;;;2022-04-07;sandbox;10000036-0000-0000-0000-000000000000
+project_id;name;display_name;description;category;home_url;logo_url;accepted_at;maturity;foundation_id
+10000000-0001-0000-0000-000000000000;angel-ml;Angel ML;The Angel Project is a high-performance distributed machine learning platform based on Parameter Server, running on YARN and Apache Spark;machine learning;;https://raw.githubusercontent.com/lfai/artwork/main/projects/angel/icon/color/angel-icon-color.svg;2018-06-07;graduated;lfaidata
+10000000-0002-0000-0000-000000000000;pyro;Pyro;Deep universal probabilistic programming with Python and PyTorch;programming;;https://raw.githubusercontent.com/lfai/artwork/main/projects/pyro/icon/color/pyro-icon-color.svg;2019-01-17;graduated;lfaidata
+10000000-0003-0000-0000-000000000000;milvus;Milvus;An open source vector database powered by Faiss, NMSLIB and Annoy;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/milvus/icon/color/milvus-icon-color.png;2020-01-16;graduated;lfaidata
+10000000-0004-0000-0000-000000000000;egeria;Egeria;Open Metadata and Governance;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/egeria/icon/color/egeria-icon-color.svg;2020-09-24;graduated;lfaidata
+10000000-0005-0000-0000-000000000000;horovod;Horovod;Distributed training framework for TensorFlow, Keras, PyTorch, and Apache MXNet;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/horovod/icon/color/horovod-icon-color.svg;2018-12-06;graduated;lfaidata
+10000000-0006-0000-0000-000000000000;onnx;ONNX;Open standard for machine learning interoperability;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/onnx/icon/color/onnx-icon-color.svg;2019-10-31;graduated;lfaidata
+10000000-0007-0000-0000-000000000000;acumos;Acumos;LF AI & Data Foundation supports open source innovation in artificial intelligence and data;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/acumos/icon/color/acumos-icon-color.svg;2018-03-26;graduated;lfaidata
+10000000-0008-0000-0000-000000000000;flyte;Flyte;Kubernetes-native workflow automation platform for complex, mission-critical data and ML processes at scale. It has been battle-tested at Lyft, Spotify, Freenome, and others and is truly open-source;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/flyte/icon/color/flyte-icon-color.svg;2021-02-25;graduated;lfaidata
+10000000-0009-0000-0000-000000000000;adversarial-robustness-toolbox;Adversarial Robustness Toolbox;Adversarial Robustness Toolbox (ART) - Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams;trusted & responsible ai;https://adversarial-robustness-toolbox.org;https://raw.githubusercontent.com/lfai/artwork/main/projects/adversarial-robustness-toolbox/icon/color/adversarial-robustness-toolbox-icon-color.svg;2020-06-18;graduated;lfaidata
+10000000-0010-0000-0000-000000000000;forestflow;ForestFlow;ForestFlow is a policy-driven Machine Learning Model Server. It is an LF AI Foundation incubation project.;machine learning;;https://raw.githubusercontent.com/lfai/artwork/main/projects/forestflow/icon/color/forestflow-icon-color.svg;2020-03-26;incubating;lfaidata
+10000000-0011-0000-0000-000000000000;tony;TonY;TonY is a framework to natively run deep learning frameworks on Apache Hadoop.;deep learning;;https://raw.githubusercontent.com/lfai/artwork/main/projects/tony/icon/color/TonY-icon-color.svg;2021-07-15;incubating;lfaidata
+10000000-0012-0000-0000-000000000000;kompute;Kompute;General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.;programming;;https://raw.githubusercontent.com/lfai/artwork/main/projects/kompute/icon/color/kompute-icon-color.svg;2021-05-06;incubating;lfaidata
+10000000-0013-0000-0000-000000000000;datapractices;DataPractices;Datapractices site;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/datapractices/icon/color/datapractices-icon-color.svg;2020-11-05;incubating;lfaidata
+10000000-0014-0000-0000-000000000000;opends4all;OpenDS4All;OpenDS4All project, hosted by LF AI & Data;data;https://github.com/odpi/OpenDS4All;https://raw.githubusercontent.com/lfai/artwork/main/projects/opends4all/icon/color/opends4all-icon-color.svg;2020-09-24;incubating;lfaidata
+10000000-0015-0000-0000-000000000000;janusgraph;JanusGraph;JanusGraph: an open-source, distributed graph database;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/janusgraph/icon/color/janusgraph-icon-color.svg;2020-12-03;incubating;lfaidata
+10000000-0016-0000-0000-000000000000;amundsen;Amundsen;Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/amundsen/icon/color/amundsen-icon-color.svg;2020-08-30;incubating;lfaidata
+10000000-0017-0000-0000-000000000000;datashim;Datashim;A kubernetes based framework for hassle free handling of datasets;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/datashim/horizontal/color/datashim-horizontal-color.svg;2021-01-14;incubating;lfaidata
+10000000-0018-0000-0000-000000000000;marquez;Marquez;Collect, aggregate, and visualize a data ecosystem's metadata;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/marquez/icon/color/marquez-icon-color.svg;2019-12-19;incubating;lfaidata
+10000000-0019-0000-0000-000000000000;feast;Feast;Feature Store for Machine Learning;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/feast/icon/color/feast-icon-color.svg;2020-09-24;incubating;lfaidata
+10000000-0020-0000-0000-000000000000;nnstreamer;NNStreamer;Neural Network (NN) Streamer, Stream Processing Paradigm for Neural Network Apps/Devices;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/nnstreamer/icon/color/nnstreamer-icon-color.svg;2020-03-12;incubating;lfaidata
+10000000-0021-0000-0000-000000000000;adlik;Adlik;Toolkit for Accelerating Deep Learning Inference;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/adlik/icon/color/adlik-icon-color.svg;2019-09-26;incubating;lfaidata
+10000000-0022-0000-0000-000000000000;kserve;KServe;Serverless Inferencing on Kubernetes;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/kserve/icon/color/k-serve-icon-color.svg;2021-11-18;incubating;lfaidata
+10000000-0023-0000-0000-000000000000;substra;Substra;Substra is a framework for traceable ML orchestration on decentralized sensitive data;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/substra/icon/color/substra-icon-color.svg;2021-03-25;incubating;lfaidata
+10000000-0024-0000-0000-000000000000;ludwig;Ludwig;Ludwig is a toolbox that allows to train and evaluate deep learning models without the need to write code;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/ludwig/icon/ludwig-icon-empty.svg;2020-05-07;incubating;lfaidata
+10000000-0025-0000-0000-000000000000;kedro;Kedro;A Python framework for creating reproducible, maintainable and modular data science code;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/kedro/icon/color/kedro-icon-color.svg;2021-09-09;incubating;lfaidata
+10000000-0026-0000-0000-000000000000;aix360;AI Explainability 360 Toolkit;Interpretability and explainability of data and machine learning models;trusted & responsible ai;;https://raw.githubusercontent.com/lfai/artwork/main/projects/ai-explainability-360/icon/color/ai-explainability-360-icon-color.svg;2020-06-18;incubating;lfaidata
+10000000-0027-0000-0000-000000000000;aif360;AI Fairness 360 Toolkit;A comprehensive set of fairness metrics for datasets and machine learning models, explanations for these metrics, and algorithms to mitigate bias in datasets and models;trusted & responsible ai;;https://raw.githubusercontent.com/lfai/artwork/main/projects/ai-fairness-360/icon/color/ai-fairness-360-icon-color.svg;2020-06-18;incubating;lfaidata
+10000000-0028-0000-0000-000000000000;elasticdeeplearning;Elastic Deep Learning;Elastic Deep Learning for deep learning framework on Kubernetes;distributed computing;;https://raw.githubusercontent.com/lfai/artwork/main/projects/edl/icon/color/edl-icon-color.svg;2018-07-05;incubating;lfaidata
+10000000-0029-0000-0000-000000000000;soajs;SOAJS;LF AI & Data Foundation supports open source innovation in artificial intelligence and data.;distributed computing;;https://raw.githubusercontent.com/lfai/artwork/main/projects/soajs/icon/color/soajs-icon-color.svg;2020-09-10;incubating;lfaidata
+10000000-0030-0000-0000-000000000000;sparklyr;;R interface for Apache Spark;distributed computing;;https://raw.githubusercontent.com/lfai/artwork/main/projects/sparklyr/color/sparklyr-color.svg;2019-12-05;incubating;lfaidata
+10000000-0031-0000-0000-000000000000;delta;DELTA;DELTA is a deep learning based natural language and speech processing platform;natural language processing;;https://raw.githubusercontent.com/lfai/artwork/main/projects/delta/icon/color/delta-icon-color.svg;2020-09-10;incubating;lfaidata
+10000000-0032-0000-0000-000000000000;openbytes;OpenBytes;This repo contains documentation related to the operation of the OpenBytes project;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/openbytes/icon/color/OpenBytes-icon-color.svg;2021-10-21;sandbox;lfaidata
+10000000-0033-0000-0000-000000000000;openlineage;OpenLineage;An Open Standard for lineage metadata collection;data;;https://raw.githubusercontent.com/lfai/artwork/main/projects/openlineage/horizontal/color/openlineage-horizontal-color.svg;2021-05-20;sandbox;lfaidata
+10000000-0034-0000-0000-000000000000;artigraph;Artigraph;Artigraph is a tool to improve the authorship, management, and quality of data. It emphasizes that the core deliverable of a data pipeline or workflow is the data, not the tasks;data;;https://landscape.lfai.foundation/logos/artigraph.svg;2022-01-27;sandbox;lfaidata
+10000000-0035-0000-0000-000000000000;ml-exchange;Machine Learning eXchange;Machine Learning eXchange (MLX). Data and AI Assets Catalog and Execution Engine;model;;https://raw.githubusercontent.com/lfai/artwork/main/projects/mlx/icon/color/mlx-icon-color.svg;2021-05-06;sandbox;lfaidata
+10000000-0036-0000-0000-000000000000;rosaenlg;RosaeNLG;RosaeNLG is a Natural Language Generation library for node.js and browser rendering, based on the Pug template engine;natural language processing;;https://raw.githubusercontent.com/lfai/artwork/main/projects/rosaenlg/icon/color/RosaeNLG-icon-color.svg;2021-03-11;sandbox;lfaidata
+10000000-0037-0000-0000-000000000000;1chipml;1chipML;1chipML is a library for numerical crunching and machine learning on microcontrollers;machine learning;;https://raw.githubusercontent.com/lfai/artwork/main/projects/1chipML/color/1chipML_color.svg;2022-04-07;sandbox;lfaidata
diff --git a/database/migrations/functions/projects/get_project.sql b/database/migrations/functions/projects/get_project.sql
index d3a245a1..3e1b45cd 100644
--- a/database/migrations/functions/projects/get_project.sql
+++ b/database/migrations/functions/projects/get_project.sql
@@ -1,7 +1,6 @@
 -- Returns some information about a project in json format.
 create or replace function get_project(
     p_foundation text,
-    p_org_name text,
     p_project_name text
 )
 returns json as $$
@@ -12,7 +11,7 @@ returns json as $$
         'description', p.description,
         'category', p.category,
         'home_url', p.home_url,
-        'logo_url', coalesce(p.logo_url, o.logo_url),
+        'logo_url', p.logo_url,
         'devstats_url', p.devstats_url,
         'score', p.score,
         'rating', p.rating,
@@ -41,11 +40,9 @@ returns json as $$
             from repository r
             where project_id = p.project_id
         ),
-        'foundation', o.foundation
+        'foundation', p.foundation_id
     ))
     from project p
-    join organization o using (organization_id)
-    where o.foundation::text = p_foundation
-    and o.name = p_org_name
+    where p.foundation_id = p_foundation
     and p.name = p_project_name;
 $$ language sql;
diff --git a/database/migrations/functions/projects/search_projects.sql b/database/migrations/functions/projects/search_projects.sql
index 5a3c5eed..fb916de7 100644
--- a/database/migrations/functions/projects/search_projects.sql
+++ b/database/migrations/functions/projects/search_projects.sql
@@ -47,7 +47,7 @@ begin
             p.description,
             p.category,
             p.home_url,
-            coalesce(p.logo_url, o.logo_url) as logo_url,
+            p.logo_url,
             p.devstats_url,
             p.score,
             p.rating,
@@ -55,10 +55,8 @@ begin
             p.accepted_at,
             p.updated_at,
             p.maturity,
-            o.name as organization_name,
-            o.foundation
+            p.foundation_id
         from project p
-        join organization o using (organization_id)
         where score is not null
         and
             case when v_text is not null then
@@ -66,7 +64,7 @@ begin
             end
         and
             case when cardinality(v_foundation) > 0 then
-            o.foundation::text = any(v_foundation) else true end
+            p.foundation_id = any(v_foundation) else true end
         and
             case when cardinality(v_maturity) > 0 then
             p.maturity::text = any(v_maturity) else true end
@@ -113,10 +111,7 @@ begin
                     left join report rp using (repository_id)
                     where project_id = fp.project_id
                 ),
-                'organization', json_build_object(
-                    'name', organization_name
-                ),
-                'foundation', foundation
+                'foundation', foundation_id
             ))), '[]')
             from (
                 select *
diff --git a/database/migrations/functions/repositories/get_repositories_with_checks.sql b/database/migrations/functions/repositories/get_repositories_with_checks.sql
index 389147ec..eb4492a6 100644
--- a/database/migrations/functions/repositories/get_repositories_with_checks.sql
+++ b/database/migrations/functions/repositories/get_repositories_with_checks.sql
@@ -3,7 +3,7 @@ create or replace function get_repositories_with_checks()
 returns setof text as $$
     with repositories as (
         select
-            o.foundation,
+            p.foundation_id as foundation,
             p.name as project,
             r.url as repository_url,
             r.check_sets,
@@ -41,11 +41,10 @@ returns setof text as $$
             (rp.data->'security'->'signed_releases'->'passed')::boolean as signed_releases,
             (rp.data->'security'->'token_permissions'->'passed')::boolean as token_permissions,
             (rp.data->'legal'->'trademark_disclaimer'->'passed')::boolean as trademark_disclaimer
-        from organization o
-        join project p using (organization_id)
+        from project p
         join repository r using (project_id)
         join report rp using (repository_id)
-        order by o.foundation asc, p.name asc
+        order by p.foundation_id asc, p.name asc
     )
     select 'Foundation,Project,Repository URL,Check Sets,Adopters,Changelog,Code of Conduct,Contributing,Governance,Maintainers,Readme,Roadmap,Website,License Approved,License Scanning,License SPDX ID,Analytics,ArtifactHub Badge,CLA,Community Meeting,DCO,GitHub discussions,OpenSSF Badge,Recent Release,Slack Presence,Binary Artifacts,Code Review,Dangerous Workflow,Dependency Update Tool,Maintained,SBOM,Security Policy,Signed Releases,Token Permissions,Trademark Disclaimer'
     union all
diff --git a/database/migrations/functions/stats/average_section_score.sql b/database/migrations/functions/stats/average_section_score.sql
index 0fd73c21..ec5d5622 100644
--- a/database/migrations/functions/stats/average_section_score.sql
+++ b/database/migrations/functions/stats/average_section_score.sql
@@ -8,11 +8,10 @@ create or replace function average_section_score(
 returns real as $$
     select round(avg((p.score->>p_section)::real))::real
     from project p
-    join organization o using (organization_id)
     where p.score ? p_section
     and
         case when p_foundation is not null then
-        o.foundation::text = p_foundation else true end
+        p.foundation_id = p_foundation else true end
     and
         case when p_maturity is not null then
             p.maturity::text = p_maturity
diff --git a/database/migrations/functions/stats/get_stats.sql b/database/migrations/functions/stats/get_stats.sql
index f7878dcd..0cf3af2e 100644
--- a/database/migrations/functions/stats/get_stats.sql
+++ b/database/migrations/functions/stats/get_stats.sql
@@ -6,11 +6,10 @@ returns json as $$
     with ratings as (
         select p.maturity, p.rating, count(*) as total
         from project p
-        join organization o using (organization_id)
         where p.rating is not null
         and
             case when p_foundation is not null then
-            o.foundation::text = p_foundation else true end
+            p.foundation_id = p_foundation else true end
         group by p.maturity, p.rating
     )
     select json_strip_nulls(json_build_object(
@@ -30,11 +29,10 @@ returns json as $$
                             date_trunc('month', p.accepted_at) as projects_month,
                             count(*) as total
                         from project p
-                        join organization o using (organization_id)
                         where p.accepted_at is not null
                         and
                             case when p_foundation is not null then
-                            o.foundation::text = p_foundation else true end
+                            p.foundation_id = p_foundation else true end
                         group by date_trunc('month', p.accepted_at)
                     ) mt
                 ) rt
@@ -47,11 +45,10 @@ returns json as $$
                         extract('month' from p.accepted_at) as month,
                         count(*) as total
                     from project p
-                    join organization o using (organization_id)
                     where p.accepted_at is not null
                     and
                         case when p_foundation is not null then
-                        o.foundation::text = p_foundation else true end
+                        p.foundation_id = p_foundation else true end
                     group by
                         extract('year' from p.accepted_at),
                         extract('month' from p.accepted_at)
diff --git a/database/migrations/functions/stats/repositories_passing_check.sql b/database/migrations/functions/stats/repositories_passing_check.sql
index cf058006..e0c4f765 100644
--- a/database/migrations/functions/stats/repositories_passing_check.sql
+++ b/database/migrations/functions/stats/repositories_passing_check.sql
@@ -11,11 +11,10 @@ returns real as $$
         from report rp
         join repository r using (repository_id)
         join project p using (project_id)
-        join organization o using (organization_id)
         where (rp.data->p_category)->p_check_name <> 'null'
         and
             case when p_foundation is not null then
-            o.foundation::text = p_foundation else true end
+            p.foundation_id = p_foundation else true end
     )
     select
         case when (select count(*) from reports_containing_check) > 0 then
diff --git a/database/migrations/schema/001_initial.sql b/database/migrations/schema/001_initial.sql
index 4077d34a..2b68dca1 100644
--- a/database/migrations/schema/001_initial.sql
+++ b/database/migrations/schema/001_initial.sql
@@ -1,19 +1,14 @@
 create extension if not exists pgcrypto;
 
-create type foundation as enum ('cncf', 'lfaidata');
-
-create table if not exists organization (
-    organization_id uuid primary key default gen_random_uuid(),
-    name text not null check (name <> ''),
-    display_name text check (display_name <> ''),
-    description text check (description <> ''),
-    home_url text check (home_url <> ''),
-    logo_url text check (logo_url <> ''),
-    created_at timestamptz default current_timestamp not null,
-    foundation foundation not null,
-    unique (foundation, name)
+create table if not exists foundation (
+    foundation_id text primary key,
+    display_name text not null check (display_name <> ''),
+    data_url text not null check (data_url <> '')
 );
 
+insert into foundation values ('cncf', 'CNCF', 'https://raw.githubusercontent.com/cncf/landscape/master/landscape.yml');
+insert into foundation values ('lfaidata', 'LF AI & Data', 'https://raw.githubusercontent.com/lfai/lfai-landscape/main/landscape.yml');
+
 create type maturity as enum ('graduated', 'incubating', 'sandbox');
 
 create table if not exists project (
@@ -32,8 +27,8 @@ create table if not exists project (
     created_at timestamptz default current_timestamp not null,
     updated_at timestamptz default current_timestamp not null,
     maturity maturity not null,
-    organization_id uuid not null references organization on delete cascade,
-    unique (organization_id, name)
+    foundation_id text not null references foundation on delete restrict,
+    unique (foundation_id, name)
 );
 
 create type check_set as enum ('code', 'code-lite', 'community', 'docs');
diff --git a/database/tests/functions/projects/get_project.sql b/database/tests/functions/projects/get_project.sql
index 1aab4409..a0c6fee2 100644
--- a/database/tests/functions/projects/get_project.sql
+++ b/database/tests/functions/projects/get_project.sql
@@ -4,23 +4,12 @@ select plan(2);
 
 -- Non existing project
 select is(
-    get_project('non-existing', 'non-existing', 'non-existing')::jsonb,
+    get_project('non-existing', 'non-existing')::jsonb,
     (null::jsonb),
     'Null is returned if the requested project does not exist'
 );
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    logo_url,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'artifact-hub',
-    'https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -28,13 +17,14 @@ insert into project (
     description,
     category,
     home_url,
+    logo_url,
     devstats_url,
     score,
     rating,
     accepted_at,
     updated_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'artifact-hub',
@@ -42,13 +32,14 @@ insert into project (
     'Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.',
     'category1',
     'https://artifacthub.io',
+    'https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg',
     'https://artifacthub.devstats.cncf.io/',
     '{"k": "v"}',
     'a',
     '2021-01-01',
     '2022-02-24 09:40:42.695654+01',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into repository (
     repository_id,
@@ -81,7 +72,7 @@ insert into report (
 
 -- Run some tests
 select is(
-    get_project('cncf', 'artifact-hub', 'artifact-hub')::jsonb,
+    get_project('cncf', 'artifact-hub')::jsonb,
     '{
         "category": "category1",
         "description": "Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.",
diff --git a/database/tests/functions/projects/get_project_checks.sql b/database/tests/functions/projects/get_project_checks.sql
index 97ce4dac..e1cacf3c 100644
--- a/database/tests/functions/projects/get_project_checks.sql
+++ b/database/tests/functions/projects/get_project_checks.sql
@@ -3,15 +3,6 @@ begin;
 select plan(1);
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'org1',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -20,7 +11,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'project1',
@@ -29,7 +20,7 @@ insert into project (
     'a',
     '2022-02-25',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into repository (
     repository_id,
diff --git a/database/tests/functions/projects/get_project_passed_checks.sql b/database/tests/functions/projects/get_project_passed_checks.sql
index 6635687d..f02bd862 100644
--- a/database/tests/functions/projects/get_project_passed_checks.sql
+++ b/database/tests/functions/projects/get_project_passed_checks.sql
@@ -3,15 +3,6 @@ begin;
 select plan(1);
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'org1',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -20,7 +11,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'project1',
@@ -29,7 +20,7 @@ insert into project (
     'a',
     '2022-02-25',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into repository (
     repository_id,
diff --git a/database/tests/functions/projects/search_projects.sql b/database/tests/functions/projects/search_projects.sql
index babc0ce7..4e49850a 100644
--- a/database/tests/functions/projects/search_projects.sql
+++ b/database/tests/functions/projects/search_projects.sql
@@ -14,39 +14,6 @@ select results_eq(
 );
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    logo_url,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'artifact-hub',
-    'https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg',
-    'cncf'
-);
-insert into organization (
-    organization_id,
-    name,
-    logo_url,
-    foundation
-) values (
-    '00000002-0000-0000-0000-000000000000',
-    'containerd',
-    'https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg',
-    'cncf'
-);
-insert into organization (
-    organization_id,
-    name,
-    logo_url,
-    foundation
-) values (
-    '00000015-0000-0000-0000-000000000000',
-    'tuf',
-    'https://raw.githubusercontent.com/cncf/artwork/master/projects/tuf/icon/color/tuf-icon-color.svg',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -54,13 +21,14 @@ insert into project (
     description,
     category,
     home_url,
+    logo_url,
     devstats_url,
     score,
     rating,
     accepted_at,
     updated_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'artifact-hub',
@@ -68,13 +36,14 @@ insert into project (
     'Artifact Hub is a web-based application that enables finding, installing, and publishing packages and configurations for CNCF projects.',
     'category1',
     'https://artifacthub.io',
+    'https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg',
     'https://artifacthub.devstats.cncf.io/',
     '{"k": "v"}',
     'a',
     '2020-01-01',
     '2022-02-25 12:54:17.80674+01',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into project (
     project_id,
@@ -82,26 +51,28 @@ insert into project (
     description,
     category,
     home_url,
+    logo_url,
     devstats_url,
     score,
     rating,
     accepted_at,
     updated_at,
-    organization_id,
-    maturity
+    maturity,
+    foundation_id
 ) values (
     '00000000-0002-0000-0000-000000000000',
     'containerd',
     'An industry-standard container runtime with an emphasis on simplicity, robustness and portability.',
     'category1',
     'https://containerd.io',
+    'https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg',
     'https://containerd.devstats.cncf.io',
     '{"k": "v"}',
     'a',
     '2021-01-01',
     '2022-02-25 12:54:25.952208+01',
-    '00000002-0000-0000-0000-000000000000',
-    'graduated'
+    'graduated',
+    'cncf'
 );
 insert into project (
     project_id,
@@ -110,13 +81,14 @@ insert into project (
     description,
     category,
     home_url,
+    logo_url,
     devstats_url,
     score,
     rating,
     accepted_at,
     updated_at,
-    organization_id,
-    maturity
+    maturity,
+    foundation_id
 ) values (
     '00000000-0015-0000-0000-000000000000',
     'tuf',
@@ -124,13 +96,14 @@ insert into project (
     'Python reference implementation of The Update Framework (TUF).',
     'category2',
     'https://theupdateframework.com',
+    'https://raw.githubusercontent.com/cncf/artwork/master/projects/tuf/icon/color/tuf-icon-color.svg',
     'https://tuf.devstats.cncf.io',
     '{"k": "v"}',
     'b',
     '2022-01-01',
     '2022-02-25 12:54:23.937134+01',
-    '00000015-0000-0000-0000-000000000000',
-    'graduated'
+    'graduated',
+    'cncf'
 );
 insert into repository (
     repository_id,
@@ -212,9 +185,6 @@ select results_eq(
                     "logo_url": "https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg",
                     "maturity": "sandbox",
                     "name": "artifact-hub",
-                    "organization": {
-                        "name": "artifact-hub"
-                    },
                     "rating": "a",
                     "repositories": [
                         {
@@ -238,9 +208,6 @@ select results_eq(
                     "logo_url": "https://raw.githubusercontent.com/cncf/artwork/master/projects/containerd/icon/color/containerd-icon-color.svg",
                     "maturity": "graduated",
                     "name": "containerd",
-                    "organization": {
-                        "name": "containerd"
-                    },
                     "rating": "a",
                     "repositories": [
                         {
@@ -264,9 +231,6 @@ select results_eq(
                     "logo_url": "https://raw.githubusercontent.com/cncf/artwork/master/projects/tuf/icon/color/tuf-icon-color.svg",
                     "maturity": "graduated",
                     "name": "tuf",
-                    "organization": {
-                        "name": "tuf"
-                    },
                     "rating": "b",
                     "repositories": [
                         {
@@ -309,9 +273,6 @@ select results_eq(
                     "logo_url": "https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg",
                     "maturity": "sandbox",
                     "name": "artifact-hub",
-                    "organization": {
-                        "name": "artifact-hub"
-                    },
                     "rating": "a",
                     "repositories": [
                         {
@@ -350,9 +311,6 @@ select results_eq(
                     "logo_url": "https://raw.githubusercontent.com/cncf/artwork/master/projects/artifacthub/icon/color/artifacthub-icon-color.svg",
                     "maturity": "sandbox",
                     "name": "artifact-hub",
-                    "organization": {
-                        "name": "artifact-hub"
-                    },
                     "rating": "a",
                     "repositories": [
                         {
diff --git a/database/tests/functions/repositories/get_repositories_with_checks.sql b/database/tests/functions/repositories/get_repositories_with_checks.sql
index b8c4f98e..791381b8 100644
--- a/database/tests/functions/repositories/get_repositories_with_checks.sql
+++ b/database/tests/functions/repositories/get_repositories_with_checks.sql
@@ -3,15 +3,6 @@ begin;
 select plan(1);
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'org1',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -20,7 +11,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'project1',
@@ -29,7 +20,7 @@ insert into project (
     'a',
     '2022-02-25',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into repository (
     repository_id,
diff --git a/database/tests/functions/stats/get_stats.sql b/database/tests/functions/stats/get_stats.sql
index 21a91f0b..ea9f6016 100644
--- a/database/tests/functions/stats/get_stats.sql
+++ b/database/tests/functions/stats/get_stats.sql
@@ -3,15 +3,6 @@ begin;
 select plan(1);
 
 -- Seed some data
-insert into organization (
-    organization_id,
-    name,
-    foundation
-) values (
-    '00000001-0000-0000-0000-000000000000',
-    'org1',
-    'cncf'
-);
 insert into project (
     project_id,
     name,
@@ -20,7 +11,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0001-0000-0000-000000000000',
     'project1',
@@ -29,7 +20,7 @@ insert into project (
     'a',
     '2022-02-25',
     'sandbox',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into project (
     project_id,
@@ -39,7 +30,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0002-0000-0000-000000000000',
     'project2',
@@ -48,7 +39,7 @@ insert into project (
     'b',
     '2021-02-24',
     'graduated',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into project (
     project_id,
@@ -58,7 +49,7 @@ insert into project (
     rating,
     accepted_at,
     maturity,
-    organization_id
+    foundation_id
 ) values (
     '00000000-0003-0000-0000-000000000000',
     'project3',
@@ -67,7 +58,7 @@ insert into project (
     'c',
     '2021-02-25',
     'graduated',
-    '00000001-0000-0000-0000-000000000000'
+    'cncf'
 );
 insert into repository (
     repository_id,
diff --git a/database/tests/schema/schema.sql b/database/tests/schema/schema.sql
index d2350d03..796c56f5 100644
--- a/database/tests/schema/schema.sql
+++ b/database/tests/schema/schema.sql
@@ -6,21 +6,16 @@ select plan(20);
 select has_extension('pgcrypto');
 
 -- Check expected tables exist
-select has_table('organization');
+select has_table('foundation');
 select has_table('project');
 select has_table('report');
 select has_table('repository');
 
 -- Check tables have expected columns
-select columns_are('organization', array[
-    'organization_id',
-    'name',
+select columns_are('foundation', array[
+    'foundation_id',
     'display_name',
-    'description',
-    'home_url',
-    'logo_url',
-    'created_at',
-    'foundation'
+    'data_url'
 ]);
 select columns_are('project', array[
     'project_id',
@@ -38,7 +33,7 @@ select columns_are('project', array[
     'created_at',
     'updated_at',
     'maturity',
-    'organization_id'
+    'foundation_id'
 ]);
 select columns_are('report', array[
     'report_id',
@@ -61,13 +56,12 @@ select columns_are('repository', array[
 ]);
 
 -- Check tables have expected indexes
-select indexes_are('organization', array[
-    'organization_pkey',
-    'organization_foundation_name_key'
+select indexes_are('foundation', array[
+    'foundation_pkey'
 ]);
 select indexes_are('project', array[
     'project_pkey',
-    'project_organization_id_name_key'
+    'project_foundation_id_name_key'
 ]);
 select indexes_are('report', array[
     'report_pkey',
diff --git a/web/src/App.tsx b/web/src/App.tsx
index 31bc404a..a9d88777 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -12,8 +12,8 @@ import StatsView from './layout/stats';
 
 // Old path without :foundation is redirected to CNCF foundation by default
 const ProjectsRedirection = () => {
-  const { org, project } = useParams();
-  return <Navigate to={`/projects/cncf/${org}/${project}`} replace />;
+  const { project } = useParams();
+  return <Navigate to={`/projects/cncf/${project}`} replace />;
 };
 
 function App() {
@@ -36,11 +36,8 @@ function App() {
                 />
               }
             />
-            <Route path="projects/:org/:project" element={<ProjectsRedirection />} />
-            <Route
-              path="projects/:foundation/:org/:project"
-              element={<Detail setInvisibleFooter={setInvisibleFooter} />}
-            />
+            <Route path="projects/:project" element={<ProjectsRedirection />} />
+            <Route path="projects/:foundation/:project" element={<Detail setInvisibleFooter={setInvisibleFooter} />} />
             <Route path="stats" element={<StatsView />} />
             <Route path="*" element={<NotFound />} />
           </Route>
diff --git a/web/src/api/index.test.tsx b/web/src/api/index.test.tsx
index 431676b2..29110c3f 100644
--- a/web/src/api/index.test.tsx
+++ b/web/src/api/index.test.tsx
@@ -24,7 +24,7 @@ describe('API', () => {
           status: 400,
         });
 
-        await expect(API.getProjectDetail('org1', 'proj1', 'foundation1')).rejects.toEqual({
+        await expect(API.getProjectDetail('proj1', 'foundation1')).rejects.toEqual({
           kind: ErrorKind.Other,
         });
         expect(fetchMock).toHaveBeenCalledTimes(1);
@@ -38,7 +38,7 @@ describe('API', () => {
           status: 400,
         });
 
-        await expect(API.getProjectDetail('org1', 'proj1', 'foundation1')).rejects.toEqual({
+        await expect(API.getProjectDetail('proj1', 'foundation1')).rejects.toEqual({
           kind: ErrorKind.Other,
           message: 'custom error',
         });
@@ -56,10 +56,10 @@ describe('API', () => {
           status: 200,
         });
 
-        const response = await API.getProjectDetail('org1', 'proj1', 'foundation1');
+        const response = await API.getProjectDetail('proj1', 'foundation1');
 
         expect(fetchMock).toHaveBeenCalledTimes(1);
-        expect(fetchMock.mock.calls[0][0]).toEqual('/api/projects/foundation1/org1/proj1');
+        expect(fetchMock.mock.calls[0][0]).toEqual('/api/projects/foundation1/proj1');
         expect(response).toEqual(projectDetail);
       });
     });
diff --git a/web/src/api/index.ts b/web/src/api/index.ts
index f61d6804..ef3bf022 100644
--- a/web/src/api/index.ts
+++ b/web/src/api/index.ts
@@ -105,8 +105,8 @@ class API_CLASS {
       .catch((error) => Promise.reject(error));
   }
 
-  public getProjectDetail(org: string, project: string, foundation: string): Promise<ProjectDetail> {
-    return this.apiFetch({ url: `${this.API_BASE_URL}/projects/${foundation}/${org}/${project}` });
+  public getProjectDetail(project: string, foundation: string): Promise<ProjectDetail> {
+    return this.apiFetch({ url: `${this.API_BASE_URL}/projects/${foundation}/${project}` });
   }
 
   public getStats(foundation: string | null): Promise<Stats> {
diff --git a/web/src/layout/common/BadgeModal.test.tsx b/web/src/layout/common/BadgeModal.test.tsx
index 71aafbd8..302675bb 100644
--- a/web/src/layout/common/BadgeModal.test.tsx
+++ b/web/src/layout/common/BadgeModal.test.tsx
@@ -8,7 +8,6 @@ const mockOnCloseModal = jest.fn();
 
 const defaultProps = {
   foundation: Foundation.cncf,
-  orgName: 'org',
   projectName: 'proj',
   openStatus: { status: true, name: 'badge' },
   onCloseModal: mockOnCloseModal,
@@ -36,12 +35,12 @@ describe('BadgeModal', () => {
       expect(badge).toBeInTheDocument();
       expect(badge).toHaveProperty(
         'src',
-        'https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge'
+        'https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge'
       );
       const code = screen.getByTestId('code');
       expect(code).toBeInTheDocument();
       expect(code).toHaveTextContent(
-        '[![CLOMonitor](https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge)](http://localhost/projects/cncf/org/proj)'
+        '[![CLOMonitor](https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge)](http://localhost/projects/cncf/proj)'
       );
     });
 
@@ -57,12 +56,12 @@ describe('BadgeModal', () => {
       expect(badge).toBeInTheDocument();
       expect(badge).toHaveProperty(
         'src',
-        'https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge'
+        'https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge'
       );
       const code = screen.getByTestId('code');
       expect(code).toBeInTheDocument();
       expect(code).toHaveTextContent(
-        'http://localhost/projects/cncf/org/proj[image:https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge[CLOMonitor]]'
+        'http://localhost/projects/cncf/proj[image:https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge[CLOMonitor]]'
       );
     });
   });
diff --git a/web/src/layout/common/BadgeModal.tsx b/web/src/layout/common/BadgeModal.tsx
index aef2e88d..84aa266f 100644
--- a/web/src/layout/common/BadgeModal.tsx
+++ b/web/src/layout/common/BadgeModal.tsx
@@ -10,7 +10,6 @@ interface OpenModalStatus {
 
 interface Props {
   foundation: Foundation;
-  orgName: string;
   projectName: string;
   openStatus: OpenModalStatus;
   onCloseModal: () => void;
@@ -18,9 +17,9 @@ interface Props {
 
 const BadgeModal = (props: Props) => {
   const origin = window.location.origin;
-  const badgeImage = `https://img.shields.io/endpoint?url=${origin}/api/projects/${props.foundation}/${props.orgName}/${props.projectName}/badge`;
-  const markdownLink = `[![CLOMonitor](${badgeImage})](${origin}/projects/${props.foundation}/${props.orgName}/${props.projectName})`;
-  const asciiLink = `${origin}/projects/${props.foundation}/${props.orgName}/${props.projectName}[image:${badgeImage}[CLOMonitor]]`;
+  const badgeImage = `https://img.shields.io/endpoint?url=${origin}/api/projects/${props.foundation}/${props.projectName}/badge`;
+  const markdownLink = `[![CLOMonitor](${badgeImage})](${origin}/projects/${props.foundation}/${props.projectName})`;
+  const asciiLink = `${origin}/projects/${props.foundation}/${props.projectName}[image:${badgeImage}[CLOMonitor]]`;
 
   return (
     <Modal
diff --git a/web/src/layout/common/ProjectDropdown.test.tsx b/web/src/layout/common/ProjectDropdown.test.tsx
index 9b44171d..7a73a25e 100644
--- a/web/src/layout/common/ProjectDropdown.test.tsx
+++ b/web/src/layout/common/ProjectDropdown.test.tsx
@@ -5,7 +5,6 @@ import ProjectDropdown from './ProjectDropdown';
 
 const defaultProps = {
   foundation: Foundation.cncf,
-  orgName: 'org',
   projectName: 'proj',
 };
 
diff --git a/web/src/layout/common/ProjectDropdown.tsx b/web/src/layout/common/ProjectDropdown.tsx
index 77f40bb2..6105af57 100644
--- a/web/src/layout/common/ProjectDropdown.tsx
+++ b/web/src/layout/common/ProjectDropdown.tsx
@@ -20,7 +20,6 @@ enum Modals {
 
 interface Props {
   foundation: Foundation;
-  orgName: string;
   projectName: string;
   projectDisplayName?: string;
 }
@@ -88,7 +87,6 @@ const ProjectDropdown = (props: Props) => {
 
       <BadgeModal
         foundation={props.foundation}
-        orgName={props.orgName}
         projectName={props.projectName}
         openStatus={openStatus}
         onCloseModal={onCloseModal}
@@ -96,7 +94,6 @@ const ProjectDropdown = (props: Props) => {
 
       <ReportSummaryModal
         foundation={props.foundation}
-        orgName={props.orgName}
         projectName={props.projectName}
         openStatus={openStatus}
         onCloseModal={onCloseModal}
diff --git a/web/src/layout/common/ReportSummaryModal.test.tsx b/web/src/layout/common/ReportSummaryModal.test.tsx
index ba12a07e..1520a71f 100644
--- a/web/src/layout/common/ReportSummaryModal.test.tsx
+++ b/web/src/layout/common/ReportSummaryModal.test.tsx
@@ -8,7 +8,6 @@ const mockOnCloseModal = jest.fn();
 
 const defaultProps = {
   foundation: Foundation.cncf,
-  orgName: 'org',
   projectName: 'proj',
   openStatus: { status: true, name: 'reportSummary' },
   onCloseModal: mockOnCloseModal,
@@ -68,7 +67,7 @@ describe('ReportSummaryModal', () => {
       expect(screen.getAllByText('Markdown')).toHaveLength(2);
 
       expect(screen.getByTestId('code')).toHaveTextContent(
-        '[![CLOMonitor report summary](http://localhost/api/projects/cncf/org/proj/report-summary?theme=light)](http://localhost/projects/cncf/org/proj)'
+        '[![CLOMonitor report summary](http://localhost/api/projects/cncf/proj/report-summary?theme=light)](http://localhost/projects/cncf/proj)'
       );
       expect(
         screen.getByRole('button', { name: 'Copy report summary markdown link to clipboard' })
@@ -84,7 +83,7 @@ describe('ReportSummaryModal', () => {
       await userEvent.click(btn);
 
       expect(screen.getByTestId('code')).toHaveTextContent(
-        'http://localhost/projects/cncf/org/proj[image:http://localhost/api/projects/cncf/org/proj/report-summary?theme=light[CLOMonitor report summary]]'
+        'http://localhost/projects/cncf/proj[image:http://localhost/api/projects/cncf/proj/report-summary?theme=light[CLOMonitor report summary]]'
       );
       expect(screen.getByRole('button', { name: 'Copy report summary Ascii link to clipboard' })).toBeInTheDocument();
     });
@@ -98,7 +97,7 @@ describe('ReportSummaryModal', () => {
       await userEvent.click(btn);
 
       expect(screen.getByTestId('code')).toHaveTextContent(
-        '<a href="http://localhost/projects/cncf/org/proj" rel="noopener noreferrer" target="_blank"><img src="http://localhost/api/projects/cncf/org/proj/report-summary?theme=light" alt="CLOMonitor report summary" /></a>'
+        '<a href="http://localhost/projects/cncf/proj" rel="noopener noreferrer" target="_blank"><img src="http://localhost/api/projects/cncf/proj/report-summary?theme=light" alt="CLOMonitor report summary" /></a>'
       );
       expect(screen.getByRole('button', { name: 'Copy report summary html link to clipboard' })).toBeInTheDocument();
     });
diff --git a/web/src/layout/common/ReportSummaryModal.tsx b/web/src/layout/common/ReportSummaryModal.tsx
index 1b5a8372..89a49073 100644
--- a/web/src/layout/common/ReportSummaryModal.tsx
+++ b/web/src/layout/common/ReportSummaryModal.tsx
@@ -29,7 +29,6 @@ const THEMES: ReportSummaryTheme[] = [
 
 interface Props {
   foundation: Foundation;
-  orgName: string;
   projectName: string;
   openStatus: OpenModalStatus;
   onCloseModal: () => void;
@@ -38,8 +37,8 @@ interface Props {
 const ReportSummaryModal = (props: Props) => {
   const origin = window.location.origin;
   const [theme, setTheme] = useState<string>(DEFAULT_THEME);
-  const image = `${origin}/api/projects/${props.foundation}/${props.orgName}/${props.projectName}/report-summary?theme=${theme}`;
-  const projectLink = `${origin}/projects/${props.foundation}/${props.orgName}/${props.projectName}`;
+  const image = `${origin}/api/projects/${props.foundation}/${props.projectName}/report-summary?theme=${theme}`;
+  const projectLink = `${origin}/projects/${props.foundation}/${props.projectName}`;
   const markdownLink = `[![CLOMonitor report summary](${image})](${projectLink})`;
   const asciiLink = `${projectLink}[image:${image}[CLOMonitor report summary]]`;
   const htmlLink = `<a href="${projectLink}" rel="noopener noreferrer" target="_blank"><img src="${image}" alt="CLOMonitor report summary" /></a>`;
diff --git a/web/src/layout/common/__snapshots__/BadgeModal.test.tsx.snap b/web/src/layout/common/__snapshots__/BadgeModal.test.tsx.snap
index 5efb5e5d..89c9bb4a 100644
--- a/web/src/layout/common/__snapshots__/BadgeModal.test.tsx.snap
+++ b/web/src/layout/common/__snapshots__/BadgeModal.test.tsx.snap
@@ -93,7 +93,7 @@ exports[`BadgeModal creates snapshot 1`] = `
                   >
                     <img
                       alt="CLOMonitor badge"
-                      src="https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge"
+                      src="https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge"
                     />
                   </div>
                   <div
@@ -121,7 +121,7 @@ exports[`BadgeModal creates snapshot 1`] = `
                         <span
                           style="color: rgb(187, 102, 136);"
                         >
-                          https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/org/proj/badge
+                          https://img.shields.io/endpoint?url=http://localhost/api/projects/cncf/proj/badge
                         </span>
                         <span>
                           )](
@@ -129,7 +129,7 @@ exports[`BadgeModal creates snapshot 1`] = `
                         <span
                           style="color: rgb(187, 102, 136);"
                         >
-                          http://localhost/projects/cncf/org/proj
+                          http://localhost/projects/cncf/proj
                         </span>
                         <span>
                           )
diff --git a/web/src/layout/common/__snapshots__/ReportSummaryModal.test.tsx.snap b/web/src/layout/common/__snapshots__/ReportSummaryModal.test.tsx.snap
index 39c4fdec..3427ccb0 100644
--- a/web/src/layout/common/__snapshots__/ReportSummaryModal.test.tsx.snap
+++ b/web/src/layout/common/__snapshots__/ReportSummaryModal.test.tsx.snap
@@ -287,7 +287,7 @@ exports[`ReportSummaryModal creates snapshot 1`] = `
                           <span
                             style="color: rgb(187, 102, 136);"
                           >
-                            http://localhost/api/projects/cncf/org/proj/report-summary?theme=light
+                            http://localhost/api/projects/cncf/proj/report-summary?theme=light
                           </span>
                           <span>
                             )](
@@ -295,7 +295,7 @@ exports[`ReportSummaryModal creates snapshot 1`] = `
                           <span
                             style="color: rgb(187, 102, 136);"
                           >
-                            http://localhost/projects/cncf/org/proj
+                            http://localhost/projects/cncf/proj
                           </span>
                           <span>
                             )
@@ -376,7 +376,7 @@ exports[`ReportSummaryModal creates snapshot 1`] = `
                   <img
                     alt="CLOMonitor report summary"
                     class="border"
-                    src="http://localhost/api/projects/cncf/org/proj/report-summary?theme=light"
+                    src="http://localhost/api/projects/cncf/proj/report-summary?theme=light"
                   />
                 </div>
               </div>
diff --git a/web/src/layout/detail/index.test.tsx b/web/src/layout/detail/index.test.tsx
index 958eba35..b20a6a95 100644
--- a/web/src/layout/detail/index.test.tsx
+++ b/web/src/layout/detail/index.test.tsx
@@ -45,7 +45,7 @@ const defaultProps = {
 
 describe('Project detail index', () => {
   beforeEach(() => {
-    jest.spyOn(ReactRouter, 'useParams').mockReturnValue({ org: 'org', project: 'proj', foundation: 'cncf' });
+    jest.spyOn(ReactRouter, 'useParams').mockReturnValue({ project: 'proj', foundation: 'cncf' });
     jest.spyOn(ReactRouter, 'useLocation').mockReturnValue(path);
   });
 
@@ -82,7 +82,7 @@ describe('Project detail index', () => {
 
       await waitFor(() => {
         expect(API.getProjectDetail).toHaveBeenCalledTimes(1);
-        expect(API.getProjectDetail).toHaveBeenCalledWith('org', 'proj', 'cncf');
+        expect(API.getProjectDetail).toHaveBeenCalledWith('proj', 'cncf');
       });
 
       expect(screen.getByAltText('Artifact Hub logo')).toBeInTheDocument();
@@ -118,7 +118,7 @@ describe('Project detail index', () => {
 
       await waitFor(() => {
         expect(API.getProjectDetail).toHaveBeenCalledTimes(1);
-        expect(API.getProjectDetail).toHaveBeenCalledWith('org', 'proj', 'cncf');
+        expect(API.getProjectDetail).toHaveBeenCalledWith('proj', 'cncf');
       });
 
       const backBtn = screen.getByRole('button', { name: 'Back to results' });
@@ -141,7 +141,7 @@ describe('Project detail index', () => {
 
       await waitFor(() => {
         expect(API.getProjectDetail).toHaveBeenCalledTimes(1);
-        expect(API.getProjectDetail).toHaveBeenCalledWith('org', 'proj', 'cncf');
+        expect(API.getProjectDetail).toHaveBeenCalledWith('proj', 'cncf');
       });
 
       expect(screen.getByText('Sorry, the project you requested was not found.')).toBeInTheDocument();
diff --git a/web/src/layout/detail/index.tsx b/web/src/layout/detail/index.tsx
index d76e10f7..81531f79 100644
--- a/web/src/layout/detail/index.tsx
+++ b/web/src/layout/detail/index.tsx
@@ -35,7 +35,7 @@ const Detail = (props: Props) => {
   const navigate = useNavigate();
   const location = useLocation();
   const currentState = location.state as { currentSearch?: string };
-  const { org, project, foundation } = useParams();
+  const { project, foundation } = useParams();
   const [detail, setDetail] = useState<ProjectDetail | null | undefined>();
   const [isLoadingProject, setIsLoadingProject] = useState<boolean>(false);
 
@@ -71,7 +71,7 @@ const Detail = (props: Props) => {
       setIsLoadingProject(true);
       props.setInvisibleFooter(true);
       try {
-        const projectDetail = await API.getProjectDetail(org!, project!, foundation!);
+        const projectDetail = await API.getProjectDetail(project!, foundation!);
         setDetail(projectDetail);
         updateMetaIndex(projectDetail.display_name || projectDetail.name, projectDetail.description);
         setIsLoadingProject(false);
@@ -82,10 +82,10 @@ const Detail = (props: Props) => {
         props.setInvisibleFooter(false);
       }
     }
-    if (!isUndefined(org) && !isUndefined(project)) {
+    if (!isUndefined(project)) {
       fetchProjectDetail();
     }
-  }, [org, project, foundation]); /* eslint-disable-line react-hooks/exhaustive-deps */
+  }, [project, foundation]); /* eslint-disable-line react-hooks/exhaustive-deps */
 
   return (
     <>
@@ -184,14 +184,11 @@ const Detail = (props: Props) => {
                         </div>
                         <div className="d-none d-md-block ms-auto">
                           <div className="h-100 position-relative d-flex flex-column justify-content-between align-items-end">
-                            {org && (
-                              <ProjectDropdown
-                                foundation={detail.foundation}
-                                orgName={org}
-                                projectName={detail.name}
-                                projectDisplayName={detail.display_name}
-                              />
-                            )}
+                            <ProjectDropdown
+                              foundation={detail.foundation}
+                              projectName={detail.name}
+                              projectDisplayName={detail.display_name}
+                            />
                           </div>
                         </div>
                         <div className="d-flex d-md-none align-items-center ms-auto">
diff --git a/web/src/layout/navigation/Searchbar.test.tsx b/web/src/layout/navigation/Searchbar.test.tsx
index 7134bbc4..1ffb5f64 100644
--- a/web/src/layout/navigation/Searchbar.test.tsx
+++ b/web/src/layout/navigation/Searchbar.test.tsx
@@ -235,7 +235,7 @@ describe('Searchbar', () => {
       await userEvent.click(items[1]);
 
       expect(mockUseNavigate).toHaveBeenCalledTimes(1);
-      expect(mockUseNavigate).toHaveBeenCalledWith('/projects/cncf/backstage/backstage');
+      expect(mockUseNavigate).toHaveBeenCalledWith('/projects/cncf/backstage');
     });
 
     it('loads new search from search dropdown', async () => {
@@ -330,7 +330,7 @@ describe('Searchbar', () => {
       await userEvent.keyboard('{enter}');
 
       expect(mockUseNavigate).toHaveBeenCalledTimes(1);
-      expect(mockUseNavigate).toHaveBeenCalledWith('/projects/cncf/keptn/keptn');
+      expect(mockUseNavigate).toHaveBeenCalledWith('/projects/cncf/keptn');
     });
   });
 
diff --git a/web/src/layout/navigation/Searchbar.tsx b/web/src/layout/navigation/Searchbar.tsx
index 14e1c137..48a41237 100644
--- a/web/src/layout/navigation/Searchbar.tsx
+++ b/web/src/layout/navigation/Searchbar.tsx
@@ -78,7 +78,7 @@ const Searchbar = (props: Props) => {
     forceBlur();
     setValue('');
     cleanProjectsSearch();
-    navigate(`/projects/${selectedProject.foundation}/${selectedProject.organization.name}/${selectedProject.name}`);
+    navigate(`/projects/${selectedProject.foundation}/${selectedProject.name}`);
   };
 
   const forceBlur = (): void => {
diff --git a/web/src/layout/search/Card.test.tsx b/web/src/layout/search/Card.test.tsx
index 52f89abc..71fb9729 100644
--- a/web/src/layout/search/Card.test.tsx
+++ b/web/src/layout/search/Card.test.tsx
@@ -29,9 +29,6 @@ const defaultProps = {
     maturity: Maturity.sandbox,
     foundation: Foundation.cncf,
     name: 'artifact-hub',
-    organization: {
-      name: 'artifact-hub',
-    },
     rating: 'a',
     repositories: [
       {
diff --git a/web/src/layout/search/Card.tsx b/web/src/layout/search/Card.tsx
index 63e71fb1..e89b2bf3 100644
--- a/web/src/layout/search/Card.tsx
+++ b/web/src/layout/search/Card.tsx
@@ -32,7 +32,7 @@ const Card = (props: Props) => {
         role="button"
         onClick={() => {
           props.saveScrollPosition();
-          navigate(`/projects/${props.project.foundation}/${props.project.organization.name}/${props.project.name}`, {
+          navigate(`/projects/${props.project.foundation}/${props.project.name}`, {
             state: { currentSearch: props.currentQueryString },
           });
         }}
diff --git a/web/src/types.ts b/web/src/types.ts
index f99fc689..f7f29728 100644
--- a/web/src/types.ts
+++ b/web/src/types.ts
@@ -1,11 +1,3 @@
-export interface Organization {
-  name: string;
-  display_name?: string;
-  description?: string;
-  home_url: string;
-  logo_url?: string;
-}
-
 export interface BaseProject {
   id: string;
   name: string;
@@ -24,9 +16,6 @@ export interface BaseProject {
 
 export interface Project extends BaseProject {
   repositories: BaseRepository[];
-  organization: {
-    name: string;
-  };
 }
 
 export interface ProjectDetail extends BaseProject {