Centralized overview of organizations in the FIDES ecosystem and their roles across wallets, issuers, credentials, and relying parties.
- Hide Contact footer on Community org modals when tier UI is on (matches wallet modal and Community listing badge).
- Deploy with fides-community-tools-tiles ≥ 1.8.5; sync
assets/lib/fides-catalog-ui.*from tiles when releasing.
- Contact:
contact.emailreplacescontactUrl; modal Contact button usesmailto:(sharedFidesCatalogUI). - WordPress submission form: public Contact email field (distinct from submitter review email).
- Ecosystem roles: EUDI Wallet Intermediary, eIDAS Trust Service Provider.
- Deploy with fides-community-tools-tiles ≥ 1.8.4; sync
assets/lib/fides-catalog-ui.*from tiles when releasing.
- Organization modal redesign: wallet-style hero with inline description; Pro-only media block (videos + images) in hero.
- Modal footer with Contact and Book a Meeting buttons (
contactUrl/bookMeetingUrl) via sharedFidesCatalogUI. - WordPress submission form: contact URL fields, Pro media section, Offerings terminology, Certifications layout tweaks.
- Filter sidebar hides zero-count options unless currently selected.
- Schema, crawler, and public API updated for
media,ecosystemRoleCodes, and contact v2. - Deploy with fides-community-tools-tiles ≥ 1.8.2; sync
assets/lib/fides-catalog-ui.*from tiles when releasing. - Keep
fides_catalog_tier_ui_enabledoff until tier go-live (docs/catalog-tier-go-live-checklist.md).
- Honors master switch
fides_catalog_tier_ui_enabled(Settings → FIDES Catalog SEO, default off). Until enabled: no Official badges/filter, website shown when present in JSON, legacy edit access for signed-in users. - See
docs/catalog-tier-go-live-checklist.mdfor go-live order.
- Mobile organization modal header: meta row (country · website) spans full width under action buttons; compact OFFICIAL badge; FIDES Supporter badge hidden on mobile.
- Website URL shown only for Pro/Official accounts (header and Organization details accordion); fixes non-Pro listings leaking website in details.
- Catalog tier / edit-access integration with fides-community-tools-tiles ≥ 1.7.8 (
Fides_Catalog_Org_Tier, modal edit pencil gating). - Asset enqueue versions aligned with plugin header via
FIDES_ORG_CATALOG_VERSION(was stale1.5.xfallbacks). - Deploy together with fides-community-tools-tiles ≥ 1.7.8; sync
assets/lib/fides-catalog-ui.*from tiles when releasing.
- Certification filter is now two levels deep: under a parent certification (QTSP, DIACC) you can also filter on its sub-options — QTSP qualified trust services and DIACC PCTF components — with per-option result counts.
- Sub-options are collapsed by default behind a "Show N options" toggle and auto-expand when one is selected. Filter semantics: OR across families, and within a family the org must have the certification plus at least one selected sub-option (parent-only selects all).
- Readable labels for all QTSP trust service codes (no more raw
Q_*codes) and long-label wrapping in the filter sidebar.
- Added a new
diacccertification type (DIACC Certified under the Pan-Canadian Trust Framework). Modeled like QTSP: one "DIACC Certified" entry with certified PCTF components (digital_wallet,verified_person,privacy), each with optional Level of Assurance and its own proof link. - Schema, TypeScript types, and crawler aggregation updated to carry
certifications[].details.components[]. - Catalog UI: DIACC badge on cards/list rows, and a certifications-accordion row where each component doubles as a proof button (shield icon + "Proof" + external-link).
- Linked DIACC certifications to Vaultie, FCT, Treefort, FraudFighter and Credivera.
- WordPress plugin version bump to
1.3.8. - KPI cards in the catalog UI now recalculate from the currently filtered/search result set.
- KPI values now update live during grid-only refreshes (search/filter), without introducing KPI quick-filter click behavior.
| Channel | URL |
|---|---|
| GitHub data | data/aggregated.json |
| Public API | See API docs |
| WordPress plugin | wordpress-plugin/ |
Organizations can be added or updated in two ways — WordPress forms (recommended on fides.community) or GitHub Pull Requests. Both produce JSON under community-catalogs/<org-slug>/.
- Contributions — submit/update forms with moderation, or direct PRs to
community-catalogs/ - Crawler — aggregates all sources, matches organizations against the wallet, issuer, credential, and RP catalogs, and writes
data/aggregated.json - WordPress plugin — renders cards, filters, and a detail modal with the FIDES Ecosystem Explorer
- Serverless API — query endpoint deployed on Vercel with OpenAPI and Swagger UI
- Sign in on fides.community and open the organization submit or update form page.
- Complete the form and submit. A maintainer reviews under Tools → Catalog Submissions.
- After Publish, data syncs to this repo via GitHub Actions and the public catalog updates.
Shortcodes (site operators): [fides_organization_submit_form], [fides_organization_update_form]. Configure the update form URL under Settings → FIDES Organization Catalog so the modal pencil links work.
Governance: fides-community-tools-tiles/docs/CATALOG-SUBMISSION-GOVERNANCE.md — §14 (CI), §15 (deploy).
Pro listings: linked WordPress accounts export richer fields (catalogTier: Pro). See docs/catalog-tier-go-live-checklist.md.
Folder-level notes: community-catalogs/README.md.
- Fork this repository
- Create
community-catalogs/<your-org>/organization-catalog.jsonfollowing the schema:
{
"$schema": "https://fides.community/schemas/organization-catalog/v1",
"organization": {
"id": "org:your-org",
"name": "Your Organization",
"website": "https://example.com",
"country": "NL"
}
}- Submit a pull request — the validate workflow checks your JSON against the schema
- After merge, the crawl workflow regenerates the aggregated data automatically
Verified QTSP entries are imported from the EU Trust List (import-qtsp) — do not overwrite them in PRs.
- Validate — runs on push/PR when catalog or schema files change; checks JSON Schema + runs unit tests
- Crawl — runs on push to
main, daily at 06:00 UTC, and via manual dispatch; regeneratesdata/aggregated.jsonand commits - WP Submissions Sync — imports published WordPress submissions into
community-catalogs/, then crawls (see.github/workflows/wp-submissions-sync.yml) - Check links — runs weekly (Monday 08:00 UTC); validates all website and logo URLs
To bootstrap community-catalogs/ from existing FIDES catalogs (wallet, issuer, RP, credential):
npm run seedThis reads provider/organization data from sibling catalog repositories and generates one JSON file per unique organization. Existing files are not overwritten.
npm install
npm run validate # Schema validation
npm test # Unit tests
npm run crawl # Regenerate aggregated data
npm run check-links # Validate URLs
npm run check:scaling # Payload growth gate checkAfter an admin publishes a submission on utrecht-demo:
npm run wp-sync:localThis imports published entries from http://utrecht-demo.local, validates schema, rebuilds aggregated.json, and syncs the plugin folder to Local.
Dry-run only:
FIDES_CATALOG_SECRET=$(php scripts/read-wp-catalog-secret.php) npm run import-wp-submissionsProduction CI uses .github/workflows/wp-submissions-sync.yml (WP_EXPORT_URL + WP_INVALIDATE_SECRET).
Canonical docs: fides-community-tools-tiles/docs/CATALOG-SUBMISSION-GOVERNANCE.md — §14 (CI workflow + pitfalls), §15 (production deploy), §16 (new catalog checklist).
Before production go-live for Community / Pro tier labels (catalogTier), read the catalog tier go-live checklist. Missing catalogTier in JSON defaults to Pro behaviour until orgs are re-exported from WordPress and crawled.
Before large catalog imports/releases, run:
npm run check:scaling
npm run check:scaling -- --target-count=400This reports current and projected payload size (raw + gzip) and classifies status as green/orange/red with a recommended next step.
For the full release protocol and migration triggers (when to move to server-side paging/filtering), see docs/performance-scaling-test-protocol.md.
The API is deployed on Vercel at the project's Vercel URL.
GET /api/public/organization— List/search/filter organizationsGET /api/public/api-docs— OpenAPI 3.1 spec (JSON)/swagger.html— Interactive Swagger UI
See docs/API.md for the full API contract and design choices.
See schemas/organization-catalog.schema.json.
The ID convention is org:<code> where <code> matches the directory name in community-catalogs/ (lowercase, alphanumeric + hyphens).
- Phase 1 (done): Standalone catalog that reads from other catalogs. Organization data used to be inline in wallet, issuer, RP, and credential catalogs.
- Phase 2 (done): Wallet, issuer, RP, and credential community catalogs reference this catalog via
orgId; inlineorganization/providerblocks are no longer used there. Crawlers resolve display fields (name, logo, contact, etc.) fromdata/aggregated.jsonhere. - Phase 3 (done): WordPress submission export →
import-wp-submissions→ community-catalogs → crawl.
Apache-2.0