CLIENT: Intendencia de Cerro Arazá🇺🇾Uruguay

Aljibe - Open Data Portal with Mandatory Disclosure Review

Open Data Portal for a Uruguayan Departmental Government

Designed and built a clickable open data console for a Uruguayan departmental government: one catalogue of DCAT-described datasets, a publishing pipeline from draft to published, and a disclosure review workbench that blocks personal data and suppresses small cells before anything reaches the public.

Scope of Work
Product design, UI build and clickable demo
Industry
GovTech / Open Data
Enterprise
Compliance & Certifications
Ley 18.381 (access to public information)Ley 18.331 (personal data protection)AGESIC open data guidelinesW3C DCATWCAG 2.1 AA

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, dataset catalogue, dataset detail with 8 tabs, publishing pipeline and the disclosure review workbench. Every one of the 27 demo datasets opens its own detail page.

Below 5
Small-cell rule encoded

Any count of people under 5 is suppressed and shown as "<5", then secondary suppression hides extra cells so totals cannot reveal them. The sample submission hides 6 primary and 7 secondary cells.

6 Stages
One route to publication

Draft, in disclosure review, returned, awaiting approval, scheduled and published. Days in stage turn amber after 5 working days and red after 10.

27 Datasets
Realistic demo data

12 publishing units including three municipios, 15 submissions with 4 in disclosure review, 13 staff users and 2 open licences.

The Problem

The Intendencia publishes about 60 datasets as spreadsheets attached to news posts, plus a few entries uploaded by hand to the national catalogue. Nobody knows which files are current, most have no licence, and each department formats dates and neighbourhood names its own way. Twice in one year a file went out with data that should never have been public: applicants' ID numbers in a permit list, and a social assistance table where some neighbourhoods had only two or three households.

Our Solution

Aljibe gives publishing one route with a mandatory review. A data steward drafts a dataset with DCAT metadata and a licence, a disclosure reviewer checks it for personal data and small cells, a department director approves it, and a schedule keeps it refreshed from the source system, while the published catalogue is sent on to Uruguay's national open data catalogue.

The Challenge: Open by Default, Safe by Design

A Uruguayan departmental government has a duty to publish information in open formats and a duty to protect the personal data it holds. Every dataset sits between the two, and the people who know the data are spread across a dozen departments and municipios.

Personal Data in Plain Sight

Under Ley 18.331 personal data is not published as open data unless it is already lawfully public or anonymised. Source files carry cédula numbers, names, addresses and free-text notes, and a column that should be dropped is easy to miss in a spreadsheet.

Aggregates That Still Identify People

A table of counts can point to a household when a cell holds only two or three people. Hiding the small cell is not enough: if the row and column totals stay, the hidden value can be worked out, so further cells have to be suppressed too.

Files Nobody Keeps Current

Waste collection routes had not been updated in two years. Without a schedule tied to the source system, data goes stale silently, and residents cannot tell a current file from an old one.

Many Publishers, One Catalogue

Stewards in each department, reviewers, directors and the open data coordinator all touch a dataset. The catalogue needs consistent metadata, exactly one licence per dataset and a clear record of who approved what, and it must also feed AGESIC's national catalogue.

Our Approach: From Disclosure Rules to a Clickable Portal

01

Spec and Rules Research

Mapped 9 user roles, from data stewards and disclosure reviewers to public visitors and API developers, 42 screens across the staff console, the mobile-first public site and the developer portal, and the data model for publishing units, DCAT datasets, resources, submissions, disclosure rules, refresh runs, dashboards, API keys and dataset requests. Wrote down the rules the design follows: Ley 18.381 on access to public information, Ley 18.331 on personal data, AGESIC open data and licensing guidance, W3C DCAT metadata and WCAG 2.1 AA for the public site.

02

Clickable Demo on a Production UI Kit

Built 5 key staff screens on a production dashboard kit: the dashboard with KPIs, freshness donut, pipeline by stage and a needs-attention list that puts personal data reports first, the catalogue with filters and a quick view panel, dataset detail with metadata, licence, resources, schema, versions and refresh history, the publishing pipeline as a board or table, and the disclosure review workbench with column flags, a small-cells grid, an inspector panel and the decision modal. Actions run on local state.

03

What a Production Build Adds

Push to the national catalogue through its CKAN API, DCAT export in JSON-LD and RDF/XML, scheduled refresh from database views, GIS layers, SFTP and REST sources through Airflow or Dagster, PostgreSQL with PostGIS, an API gateway with keys and rate limits, Entra ID sign-in for staff and ID Uruguay for developers, and an audit record of every publication, suppression, approval, licence change and key action. Plus the remaining screens: the public site with explorer and dashboards, the chart builder, API, requests, reports and settings.

Why It Works: Review Before Release

Direct Identifiers Are Blocked

The workbench flags every column as a direct identifier, quasi-identifier, count of people, free text or lawfully public, with sample values and the pattern that triggered it. A cédula column is blocked from publication, while a licensed business name or premises address is marked lawfully public with a note.

Suppression Is Computed, Not Guessed

The small-cells grid highlights counts below the threshold and hatches the extra cells secondary suppression must hide. A toggle shows the published view with the "<5" marker, and the suppression summary names the rule version applied.

Every Decision Needs a Reason

The reviewer can clear, clear with changes, return to the steward or reject. Anything other than a clean clearance requires written reasons, which go to the steward with the record of the review.

Freshness and Delays Are Visible

Each dataset carries a fresh, due, overdue or failing chip against its update frequency, the dashboard counts them in a donut, and pipeline cards turn amber and then red as a submission waits, so stale data and stuck reviews surface on their own.

Related case studies

View all: GovTech
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab