You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by kr...@apache.org on 2026/10/22 03:33:40 UTC

(iggy-website) branch main updated: content(site): publish Powered By entries on merge, add four organisations (#140)

This is an automated email from the ASF dual-hosted git repository.

kparisa pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iggy-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 48cebd28f content(site): publish Powered By entries on merge, add four organisations (#140)
48cebd28f is described below

commit 48cebd28fea595bcd3a425ec368f331ebbe7f3a0
Author: Justin Mclean <jm...@apache.org>
AuthorDate: Thu Oct 22 04:33:34 2026 +0100

    content(site): publish Powered By entries on merge, add four organisations (#140)
---
 content/organizations/README.md                    | 24 +++++------
 content/organizations/TEMPLATE.mdx                 | 14 +++----
 content/organizations/a3s-lab.mdx                  |  2 +-
 .../organizations/{wakuwaku.mdx => aperiodic.mdx}  | 37 ++++++++---------
 content/organizations/ferrislabs.mdx               | 47 ++++++++++++++++++++++
 content/organizations/kestra.mdx                   | 45 +++++++++++++++++++++
 content/organizations/omni.mdx                     |  2 +-
 content/organizations/onehouse.mdx                 |  1 +
 content/organizations/silkworm.mdx                 |  2 +-
 .../organizations/{wakuwaku.mdx => unravel.mdx}    | 37 ++++++++---------
 content/organizations/wakuwaku.mdx                 |  2 +-
 public/img/organizations/aperiodic-dark.svg        |  1 +
 public/img/organizations/aperiodic.svg             |  1 +
 public/img/organizations/ferrislabs.svg            | 30 ++++++++++++++
 public/img/organizations/kestra-dark.svg           | 23 +++++++++++
 public/img/organizations/kestra.svg                |  1 +
 public/img/organizations/unravel-dark.svg          |  1 +
 public/img/organizations/unravel.svg               |  1 +
 source.config.ts                                   |  7 ++--
 src/components/organization-showcase.tsx           |  3 ++
 20 files changed, 212 insertions(+), 69 deletions(-)

diff --git a/content/organizations/README.md b/content/organizations/README.md
index e1c6c0054..4413c79a1 100644
--- a/content/organizations/README.md
+++ b/content/organizations/README.md
@@ -40,14 +40,12 @@ Three required fields; a committer opens the pull request for you.
    Use a lowercase hyphenated slug: `acme.mdx`.
 2. Fill in the frontmatter. Delete every field you do not use.
 3. Commit any logo files to `public/img/organizations/`.
-4. Leave `draft: true`. A committer flips it to `false` once verified, and
-   that is what publishes the entry.
+4. Set `draft: false`. The entry goes live when a committer merges the PR.
 5. Open the PR. Conventional commit style, e.g.
    `content(site): add Acme Inc to Powered By`.
 
 Run `npm install && npm run dev`, then open <http://localhost:3000/powered-by>
-to preview. Setting `draft: false` locally shows your entry; set it back to `draft: true`
-before committing.
+to preview.
 
 ## How the page decides what to show
 
@@ -81,7 +79,7 @@ complete answer.
 | `logo` | no | Artwork legible on a **light** background. |
 | `logoDark` | no | Artwork legible on a **dark** background. |
 | `permissionConfirmed` | no | Defaults to `false`. **No logo renders until this is `true`.** |
-| `draft` | no | Defaults to `true`. Committers publish by setting `false`. |
+| `draft` | no | Defaults to `false`. Set `true` to hold an entry back. |
 | `submittedBy` | no | GitHub handle, so committers know who to follow up with. |
 
 Anything below the frontmatter is maintainer notes. It is not rendered, but it
@@ -104,18 +102,16 @@ image, so a PR can safely land the frontmatter and the artwork separately.
 
 ### Logo permission
 
-`permissionConfirmed` is not a formality. Setting it to `true` is your
-statement that you are authorized to grant the ASF permission to display your
-mark on iggy.apache.org. Reviewers will ask who confirmed it.
+`permissionConfirmed` must be `true` for a logo to render. Listing an
+organization that uses Iggy, with its logo, is a statement of fact and needs no
+permission. Use artwork from the organization's own public materials and say in
+the maintainer notes where it came from.
 
-Adding an organization you do not work for? Leave it `false` and say so in the
-PR. Someone from that organization can grant permission in a follow-up.
+## What committers check before merging
 
-## What committers check before publishing
-
-- The submission comes from the organization, or the PR says who confirmed it.
+- The usage is on public record, such as the organization's own repository or site, or the PR says who confirmed it.
 - Any `description` describes real usage and reads as a record, not an advert.
-- `permissionConfirmed` is `true` only where permission was actually granted.
+- Any logo comes from the organization's own materials, and the notes say where.
 - Logo files are committed to the repo, not hotlinked.
 - No field was filled in by guessing. An empty field is always better.
 
diff --git a/content/organizations/TEMPLATE.mdx b/content/organizations/TEMPLATE.mdx
index e7c50655e..eec7cd216 100644
--- a/content/organizations/TEMPLATE.mdx
+++ b/content/organizations/TEMPLATE.mdx
@@ -72,10 +72,11 @@ quoteAuthor: Name, Role at Acme Streaming
 # SVG preferred, transparent PNG at least 400px wide is fine. Commit files to
 # public/img/organizations/ and reference them from /img/organizations/.
 #
-# permissionConfirmed MUST be true for any logo to render. Setting it is your
-# statement that you are authorized to grant the ASF permission to display the
-# mark on iggy.apache.org. The build also checks the file is actually present,
-# so a missing file falls back to text rather than shipping a broken image.
+# permissionConfirmed MUST be true for any logo to render. Listing a user and its
+# logo is factual and needs no permission. Use artwork from the organization's
+# own public materials and say where it came from in the notes.
+# The build also checks the file is actually present, so a missing file falls
+# back to text rather than shipping a broken image.
 # ---------------------------------------------------------------------
 logo: /img/organizations/acme-streaming.svg
 logoDark: /img/organizations/acme-streaming-dark.svg
@@ -90,9 +91,8 @@ deploymentStatus: production
 # Reserved for entries with a quote or case study. Sorts them first.
 featured: false
 
-# Leave as true. A committer sets it to false once the submission is verified,
-# and that is what publishes the entry.
-draft: true
+# The entry goes live when the PR merges. Set true only to hold it back.
+draft: false
 
 # Optional. GitHub handle of whoever submitted this.
 submittedBy: "@your-github-handle"
diff --git a/content/organizations/a3s-lab.mdx b/content/organizations/a3s-lab.mdx
index 09c5501b8..1bb9f0a66 100644
--- a/content/organizations/a3s-lab.mdx
+++ b/content/organizations/a3s-lab.mdx
@@ -27,7 +27,7 @@ permissionConfirmed: true
 showText: false
 deploymentStatus: integration
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
diff --git a/content/organizations/wakuwaku.mdx b/content/organizations/aperiodic.mdx
similarity index 50%
copy from content/organizations/wakuwaku.mdx
copy to content/organizations/aperiodic.mdx
index 92e9c0b65..8e61a54d0 100644
--- a/content/organizations/wakuwaku.mdx
+++ b/content/organizations/aperiodic.mdx
@@ -14,31 +14,28 @@
 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
-name: wakuwaku
-website: https://www.wakuwaku.rs/en
-useCaseCategory: Microservice framework
-description: >-
-  wakuwaku, a Rust microservice framework, uses Iggy for typed events with
-  per-key ordering. It replaced RabbitMQ with Iggy in its 1.0 release
-  candidates.
-logo: /img/organizations/wakuwaku.svg
-logoDark: /img/organizations/wakuwaku.svg
+# under the License.
+name: Aperiodic
+website: https://aperiodic.io/
+logo: /img/organizations/aperiodic.svg
+logoDark: /img/organizations/aperiodic-dark.svg
 showText: false
 permissionConfirmed: true
-deploymentStatus: integration
+deploymentStatus: pilot
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
 
-This entry was written from wakuwaku's public repository rather than submitted
-by them, and nobody there has confirmed it. The evidence is the wakuwaku-iggy
-crate and the Iggy consumer registration in
-[suitsu31-club/wakuwaku](https://github.com/suitsu31-club/wakuwaku), read
-2026-10-15. Until September the framework used an AMQP consumer tested against
-RabbitMQ; from 1.0.0-rc1 on 2026-10-11 its messaging is Iggy. The website lists
-"Typed events on Apache Iggy" as a feature.
+Mark Aron Szulyovszky, who runs Unravel and Aperiodic, agreed on Discord on
+2026-10-13 to Unravel and Aperiodic being listed ("yes, sure!"), in reply to
+Justin Mclean's question of 2026-10-12. No description is given because he has
+not supplied one. deploymentStatus is pilot because Mark said on Discord on
+2026-09-24 that they plan to go to production on VSR cluster mode; it is not
+confirmed for each company separately.
 
-The logo is taken from the organisation's own public materials: the icon served
-on wakuwaku.rs (/icon.svg).
+The logo is taken from the organisation's own public materials: the mark and
+wordmark in the site header on aperiodic.io, with the wordmark text converted to
+outlines from the site's own Mona Sans Expanded Bold so it renders without the
+web font.
diff --git a/content/organizations/ferrislabs.mdx b/content/organizations/ferrislabs.mdx
new file mode 100644
index 000000000..9d6f4f483
--- /dev/null
+++ b/content/organizations/ferrislabs.mdx
@@ -0,0 +1,47 @@
+---
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+name: FerrisLabs
+website: https://ferrislabs.fr/
+useCaseCategory: Identity and access management, AI agents
+description: >-
+  FerrisLabs, a French company building business software in Rust, uses Iggy
+  as the message bus inside the data plane of Autharie, its IAM-as-a-service
+  platform, where it replaced RabbitMQ so queued actions survive a broker
+  restart. Its Capitainerie agent orchestration platform also runs on Iggy.
+logo: /img/organizations/ferrislabs.svg
+logoDark: /img/organizations/ferrislabs.svg
+showText: false
+permissionConfirmed: true
+deploymentStatus: integration
+featured: false
+draft: false
+---
+
+## Maintainer notes
+
+This entry was written from FerrisLabs' public repositories rather than
+submitted by them, and nobody there has confirmed it. The evidence is ADR 0005,
+"Apache Iggy carries actions and outcomes inside a data plane" (status
+proposed, dated 2026-10-20), the libs/autharie-iggy crate and the Iggy Helm
+template in [ferrislabs/autharie](https://github.com/ferrislabs/autharie), and
+the libs/bus-iggy crate used by the API and worker in
+[ferrislabs/capitainerie](https://github.com/ferrislabs/capitainerie), read
+2026-10-22.
+
+The logo is taken from the organisation's own public materials: the mark
+served on ferrislabs.fr (/logo.svg).
diff --git a/content/organizations/kestra.mdx b/content/organizations/kestra.mdx
new file mode 100644
index 000000000..dee19bdb3
--- /dev/null
+++ b/content/organizations/kestra.mdx
@@ -0,0 +1,45 @@
+---
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+name: Kestra
+website: https://kestra.io/
+useCaseCategory: Workflow orchestration
+description: >-
+  Kestra, an open source event-driven orchestration platform, ships an Apache
+  Iggy plugin with tasks to produce and consume messages and triggers that
+  start a flow from Iggy messages.
+logo: /img/organizations/kestra.svg
+logoDark: /img/organizations/kestra-dark.svg
+showText: false
+permissionConfirmed: true
+deploymentStatus: integration
+featured: false
+draft: false
+---
+
+## Maintainer notes
+
+This entry was written from Kestra's public repository rather than submitted
+by them, and nobody there has confirmed it. The evidence is
+[kestra-io/plugin-iggy](https://github.com/kestra-io/plugin-iggy), released as
+v1.0.0 on 2026-10-19, which depends on the Java SDK (org.apache.iggy:iggy
+0.8.0) and provides Produce and Consume tasks, a polling Trigger and a
+RealtimeTrigger. Read 2026-10-22.
+
+The logos are taken from the organisation's own public materials:
+src/assets/logo-black.svg and src/assets/logo-white.svg in
+[kestra-io/docs](https://github.com/kestra-io/docs), the source of kestra.io.
diff --git a/content/organizations/omni.mdx b/content/organizations/omni.mdx
index c44488128..b400b89cd 100644
--- a/content/organizations/omni.mdx
+++ b/content/organizations/omni.mdx
@@ -27,7 +27,7 @@ permissionConfirmed: true
 showText: false
 deploymentStatus: integration
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
diff --git a/content/organizations/onehouse.mdx b/content/organizations/onehouse.mdx
index 184e6a242..daae3b6b6 100644
--- a/content/organizations/onehouse.mdx
+++ b/content/organizations/onehouse.mdx
@@ -19,6 +19,7 @@ name: Onehouse
 logo: /img/organizations/onehouse.svg
 logoDark: /img/organizations/onehouse-dark.svg
 permissionConfirmed: true
+draft: true
 technologies: []
 # draft: false
 ---
diff --git a/content/organizations/silkworm.mdx b/content/organizations/silkworm.mdx
index 1c5ecd6d3..ed0f2b6a7 100644
--- a/content/organizations/silkworm.mdx
+++ b/content/organizations/silkworm.mdx
@@ -24,7 +24,7 @@ description: >-
 showText: false
 deploymentStatus: integration
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
diff --git a/content/organizations/wakuwaku.mdx b/content/organizations/unravel.mdx
similarity index 50%
copy from content/organizations/wakuwaku.mdx
copy to content/organizations/unravel.mdx
index 92e9c0b65..c9ae6f97a 100644
--- a/content/organizations/wakuwaku.mdx
+++ b/content/organizations/unravel.mdx
@@ -14,31 +14,28 @@
 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
-name: wakuwaku
-website: https://www.wakuwaku.rs/en
-useCaseCategory: Microservice framework
-description: >-
-  wakuwaku, a Rust microservice framework, uses Iggy for typed events with
-  per-key ordering. It replaced RabbitMQ with Iggy in its 1.0 release
-  candidates.
-logo: /img/organizations/wakuwaku.svg
-logoDark: /img/organizations/wakuwaku.svg
+# under the License.
+name: Unravel
+website: https://unravel.finance/
+logo: /img/organizations/unravel.svg
+logoDark: /img/organizations/unravel-dark.svg
 showText: false
 permissionConfirmed: true
-deploymentStatus: integration
+deploymentStatus: pilot
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
 
-This entry was written from wakuwaku's public repository rather than submitted
-by them, and nobody there has confirmed it. The evidence is the wakuwaku-iggy
-crate and the Iggy consumer registration in
-[suitsu31-club/wakuwaku](https://github.com/suitsu31-club/wakuwaku), read
-2026-10-15. Until September the framework used an AMQP consumer tested against
-RabbitMQ; from 1.0.0-rc1 on 2026-10-11 its messaging is Iggy. The website lists
-"Typed events on Apache Iggy" as a feature.
+Mark Aron Szulyovszky, who runs Unravel and Aperiodic, agreed on Discord on
+2026-10-13 to Unravel and Aperiodic being listed ("yes, sure!"), in reply to
+Justin Mclean's question of 2026-10-12. No description is given because he has
+not supplied one. deploymentStatus is pilot because Mark said on Discord on
+2026-09-24 that they plan to go to production on VSR cluster mode; it is not
+confirmed for each company separately.
 
-The logo is taken from the organisation's own public materials: the icon served
-on wakuwaku.rs (/icon.svg).
+The logo is taken from the organisation's own public materials: the mark and
+wordmark in the site header on unravel.finance, with the wordmark text converted to
+outlines from the site's own Mona Sans Expanded Bold so it renders without the
+web font.
diff --git a/content/organizations/wakuwaku.mdx b/content/organizations/wakuwaku.mdx
index 92e9c0b65..477f73648 100644
--- a/content/organizations/wakuwaku.mdx
+++ b/content/organizations/wakuwaku.mdx
@@ -27,7 +27,7 @@ showText: false
 permissionConfirmed: true
 deploymentStatus: integration
 featured: false
-draft: true
+draft: false
 ---
 
 ## Maintainer notes
diff --git a/public/img/organizations/aperiodic-dark.svg b/public/img/organizations/aperiodic-dark.svg
new file mode 100644
index 000000000..afcfc53ba
--- /dev/null
+++ b/public/img/organizations/aperiodic-dark.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="8.3 26.5 1542.8 251.7" fill="#ffffff"><g transform="scale(2.8)"><circle cx="50" cy="50" r="7"/><circle cx="50" cy="34" r="4.5"/><circle cx="65.2031" cy="45.1016" r="4.5"/><circle cx="59.3984" cy="62.8984" r="4.5"/><circle cx="40.6016" cy="62.8984" r="4.5"/><circle cx="34.7969" cy="45.1016" r="4.5"/><circle cx="50" cy="16" r="2"/><circle cx="70" cy="22.5" r="2"/><circle cx="82.2969" cy="39.5" r="2"/><circle cx="82.2969" cy="60.5" r="2"/><ci [...]
diff --git a/public/img/organizations/aperiodic.svg b/public/img/organizations/aperiodic.svg
new file mode 100644
index 000000000..4b9ec372c
--- /dev/null
+++ b/public/img/organizations/aperiodic.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="8.3 26.5 1542.8 251.7" fill="#141414"><g transform="scale(2.8)"><circle cx="50" cy="50" r="7"/><circle cx="50" cy="34" r="4.5"/><circle cx="65.2031" cy="45.1016" r="4.5"/><circle cx="59.3984" cy="62.8984" r="4.5"/><circle cx="40.6016" cy="62.8984" r="4.5"/><circle cx="34.7969" cy="45.1016" r="4.5"/><circle cx="50" cy="16" r="2"/><circle cx="70" cy="22.5" r="2"/><circle cx="82.2969" cy="39.5" r="2"/><circle cx="82.2969" cy="60.5" r="2"/><ci [...]
diff --git a/public/img/organizations/ferrislabs.svg b/public/img/organizations/ferrislabs.svg
new file mode 100644
index 000000000..e9433f844
--- /dev/null
+++ b/public/img/organizations/ferrislabs.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9" shape-rendering="crispEdges">
+  <g fill="#a83e08">
+    <rect x="2" y="1" width="1" height="1" />
+    <rect x="6" y="1" width="1" height="1" />
+    <rect x="1" y="2" width="1" height="1" />
+    <rect x="2" y="2" width="1" height="1" />
+    <rect x="6" y="2" width="1" height="1" />
+    <rect x="7" y="2" width="1" height="1" />
+    <rect x="1" y="3" width="1" height="1" />
+    <rect x="7" y="3" width="1" height="1" />
+    <rect x="1" y="4" width="1" height="1" />
+    <rect x="7" y="4" width="1" height="1" />
+    <rect x="0" y="7" width="1" height="1" />
+    <rect x="8" y="7" width="1" height="1" />
+  </g>
+  <g fill="#f2670f">
+    <rect x="2" y="4" width="1" height="1" />
+    <rect x="3" y="4" width="1" height="1" />
+    <rect x="4" y="4" width="1" height="1" />
+    <rect x="5" y="4" width="1" height="1" />
+    <rect x="6" y="4" width="1" height="1" />
+    <rect x="0" y="5" width="9" height="1" />
+    <rect x="1" y="6" width="7" height="1" />
+    <rect x="2" y="7" width="5" height="1" />
+  </g>
+  <g fill="#1c1917">
+    <rect x="3" y="3" width="1" height="1" />
+    <rect x="5" y="3" width="1" height="1" />
+  </g>
+</svg>
diff --git a/public/img/organizations/kestra-dark.svg b/public/img/organizations/kestra-dark.svg
new file mode 100644
index 000000000..8da67cf4a
--- /dev/null
+++ b/public/img/organizations/kestra-dark.svg
@@ -0,0 +1,23 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1044 241" fill="none">
+    <path fill="#fff"
+        d="M323.49 27.64H283.2v183.3h40.28v-36.5l15.06-15.7 33.72 52.2h45.82l-52.2-80.58 50.24-52.32H366.4l-42.91 45.95V27.64ZM740.62 37.34h-39.8v40.7h-23.07v32.82h23.07v69.95c0 9.78 2.49 17.4 7.72 22.54 5.24 5.15 12.96 7.6 22.89 7.6h34.86v-32.12h-25.67v-67.97h25.67V78.04h-25.67v-40.7Z" />
+    <path fill="#fff" fill-rule="evenodd"
+        d="M479.56 75.67C459.9 75.67 444 81.74 432 94c-11.86 12.34-17.7 29.24-17.7 50.5 0 21.03 5.76 37.83 17.45 50.25 11.7 12.43 27.86 18.57 48.3 18.57 16.64 0 30.68-3.93 42.03-11.87h.01c11.34-8.19 18.42-19 21.18-32.4l.37-1.8h-39.49l-.34 1.03c-1.37 4.2-4.15 7.59-8.45 10.18-4.22 2.52-9.38 3.81-15.55 3.81-7.52 0-13.44-2.08-17.92-6.11-4.47-4.1-6.72-9.45-6.72-16.16v-5.48h86.07l.16-1.33a136 136 0 0 0 .96-15.9c0-19.01-5.75-34.07-17.39-44.98-11.37-11.13-26.56-16.63-45.4-16.63Zm-17.94 36.72c4.3 [...]
+        clip-rule="evenodd" />
+    <path fill="#fff"
+        d="M818.5 78.04c-13.67 0-23.18 3.59-27.69 11.4a35.43 35.43 0 0 0-4.07 9.88v.02a56.61 56.61 0 0 0-.98 11.44v100.16h39.8V110.86h38.57V78.04H818.5Z" />
+    <path fill="#F62E76"
+        d="M1028.68 211.05c-4.29 0-7.85-1.36-10.67-4.08a14.6 14.6 0 0 1-4.06-10.47c0-4.15 1.35-7.58 4.06-10.3 2.82-2.84 6.38-4.26 10.67-4.26 4.17 0 7.61 1.42 10.32 4.26 2.71 2.72 4.06 6.16 4.06 10.3a14.6 14.6 0 0 1-4.06 10.47c-2.71 2.72-6.15 4.08-10.32 4.08Z" />
+    <path fill="#A950FF"
+        d="M115.37 101.15a8.36 8.36 0 0 1 11.82 0l13.42 13.42a8.36 8.36 0 0 1 0 11.82l-13.42 13.41a8.36 8.36 0 0 1-11.82 0l-13.42-13.41a8.36 8.36 0 0 1 0-11.82l13.42-13.42ZM177.17 101.04c3.2-3.2 8.4-3.2 11.61 0l13.63 13.63c3.2 3.2 3.2 8.4 0 11.61l-13.63 13.63a8.21 8.21 0 0 1-11.61 0l-13.63-13.63a8.21 8.21 0 0 1 0-11.61l13.63-13.63Z" />
+    <path fill="#E9C1FF"
+        d="M115.48 39.35a8.2 8.2 0 0 1 11.6 0l13.64 13.63c3.2 3.2 3.2 8.4 0 11.6l-13.64 13.64a8.2 8.2 0 0 1-11.6 0l-13.63-13.63a8.2 8.2 0 0 1 0-11.61l13.63-13.63Z" />
+    <path fill="#CD88FF"
+        d="M109.77 83.72a8.36 8.36 0 0 1 0 11.82l-13.42 13.42a8.36 8.36 0 0 1-11.82 0L71.1 95.54a8.36 8.36 0 0 1 0-11.82L84.53 70.3a8.36 8.36 0 0 1 11.82 0l13.42 13.42Z" />
+    <path fill="#A950FF"
+        d="M79.02 114.67c3.2 3.2 3.2 8.4 0 11.61L65.4 139.91a8.2 8.2 0 0 1-11.6 0l-13.64-13.63a8.21 8.21 0 0 1 0-11.61l13.63-13.63a8.2 8.2 0 0 1 11.61 0l13.63 13.63Z" />
+    <path fill="#CD88FF"
+        d="M171.46 83.72a8.36 8.36 0 0 1 0 11.82l-13.42 13.42a8.36 8.36 0 0 1-11.82 0L132.8 95.54a8.36 8.36 0 0 1 0-11.82l13.42-13.42a8.36 8.36 0 0 1 11.82 0l13.42 13.42Z" />
+    <path fill="#F62E76"
+        d="M134.49 171.84a18.67 18.67 0 1 1-26.41 26.4 18.67 18.67 0 0 1 26.4-26.4Z" />
+</svg>
\ No newline at end of file
diff --git a/public/img/organizations/kestra.svg b/public/img/organizations/kestra.svg
new file mode 100644
index 000000000..b71d951da
--- /dev/null
+++ b/public/img/organizations/kestra.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="103" height="25" fill="none" viewBox="0 0 103 25"><path fill="#26282d" d="M31.798 3.446h-3.94v17.93h3.94v-3.572l1.474-1.535 3.298 5.106h4.482l-5.106-7.882 4.914-5.118h-4.864l-4.198 4.495zm40.802.949h-3.894v3.98h-2.257v3.21h2.257v6.843c0 .956.243 1.7.756 2.205.511.503 1.267.742 2.238.742h3.41v-3.14H72.6v-6.65h2.51v-3.21H72.6z"/><path fill="#26282d" fill-rule="evenodd" d="M47.064 8.144c-1.922 0-3.479.594-4.653 1.791v.001c-1.16 1.207-1.731 2.86 [...]
\ No newline at end of file
diff --git a/public/img/organizations/unravel-dark.svg b/public/img/organizations/unravel-dark.svg
new file mode 100644
index 000000000..fe474f228
--- /dev/null
+++ b/public/img/organizations/unravel-dark.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-6 -6.0 1325.2 281.0" fill="#ffffff"><path d="M0.216216 0H7.56757L7.78378 0.360107V77.0629L8 126.398V142.963L7.78378 193.738V268.64L6.48649 269H0.216216L0 259.277V188.336L0.216216 145.123V113.434L0 75.9826V11.5234L0.216216 0Z"/><path d="M22.2075 0L28.2264 0.359626L28.8491 1.07888V21.5775L29.4717 39.5588L30.9245 65.8115L31.9623 83.7928L32.5849 99.6163L33 119.036V150.324L32.5849 169.743L31.7547 189.523L29.6792 225.485L29.0566 240.59L28.8491  [...]
diff --git a/public/img/organizations/unravel.svg b/public/img/organizations/unravel.svg
new file mode 100644
index 000000000..ee255eb30
--- /dev/null
+++ b/public/img/organizations/unravel.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-6 -6.0 1325.2 281.0" fill="#0a0a0a"><path d="M0.216216 0H7.56757L7.78378 0.360107V77.0629L8 126.398V142.963L7.78378 193.738V268.64L6.48649 269H0.216216L0 259.277V188.336L0.216216 145.123V113.434L0 75.9826V11.5234L0.216216 0Z"/><path d="M22.2075 0L28.2264 0.359626L28.8491 1.07888V21.5775L29.4717 39.5588L30.9245 65.8115L31.9623 83.7928L32.5849 99.6163L33 119.036V150.324L32.5849 169.743L31.7547 189.523L29.6792 225.485L29.0566 240.59L28.8491  [...]
diff --git a/source.config.ts b/source.config.ts
index 2f5010950..e7843488a 100644
--- a/source.config.ts
+++ b/source.config.ts
@@ -68,8 +68,7 @@ export const organizations = defineCollections({
     // set as text for whichever theme has no artwork.
     logo: z.string().optional(),
     logoDark: z.string().optional(),
-    // Logos render only when the submitter has confirmed they are authorized
-    // to grant the ASF permission to display the mark, AND the file is
+    // Logos render only when permissionConfirmed is true AND the file is
     // actually committed. See content/organizations/README.md.
     permissionConfirmed: z.boolean().optional().default(false),
     // Whether the description is published as a use-case card. On by default,
@@ -105,8 +104,8 @@ export const organizations = defineCollections({
 
     // Reserved for entries that earn a richer treatment (quote, case study).
     featured: z.boolean().optional().default(false),
-    // Entries stay hidden until a committer has verified the submission.
-    draft: z.boolean().optional().default(true),
+    // Entries publish when merged; true holds one back.
+    draft: z.boolean().optional().default(false),
     submittedBy: z.string().optional(),
   }),
 });
diff --git a/src/components/organization-showcase.tsx b/src/components/organization-showcase.tsx
index c40e26dac..8faf406dd 100644
--- a/src/components/organization-showcase.tsx
+++ b/src/components/organization-showcase.tsx
@@ -65,6 +65,7 @@ function Mark({ entry }: { entry: Organization }) {
         <img
           src={src}
           alt={`${entry.name} logo`}
+          title={entry.name}
           className={WALL_LOGO_CLASS}
         />
       </span>
@@ -201,6 +202,7 @@ export function UseCaseCard({ entry }: { entry: Organization }) {
               <img
                 src={light}
                 alt={`${entry.name} logo`}
+                title={entry.name}
                 className={USE_CASE_LOGO_CLASS}
               />
             </a>
@@ -218,6 +220,7 @@ export function UseCaseCard({ entry }: { entry: Organization }) {
               <img
                 src={dark}
                 alt={`${entry.name} logo`}
+                title={entry.name}
                 className={USE_CASE_LOGO_CLASS}
               />
             </a>