Home

undr

undr is an open specification and reference implementation for encoding, validating, and exchanging a class of data objects in distributed systems. It aims to provide a simple, language-agnostic way to represent interconnected data items, with an emphasis on readability, versioning, and offline resilience. The project seeks to be lightweight enough for client applications while offering enough structure to support reliable data synchronization across networks and devices.

In its data model, an undr object comprises an identifier, a type, a set of attributes, and

History and scope: undr emerged from a collaborative effort in the open-source community to address data interchange

Reception and status: reviewers note the clarity of the object model and the emphasis on evolution safeguards.

a
collection
of
relationships
to
other
objects.
Optional
metadata
and
a
version
field
enable
schema
evolution
and
conflict
detection.
The
specification
defines
a
minimal
JSON-based
representation,
with
optional
binary
variants
for
performance-sensitive
contexts.
Validation
can
be
performed
against
lightweight
schemas
or
against
a
sparse
vocabulary
of
common
types,
allowing
developers
to
start
simple
and
grow
definitions
as
needed.
The
format
is
designed
to
support
streaming
updates
and
delta
messages
to
minimize
bandwidth
requirements
during
synchronization.
in
loosely
coupled
services
and
edge
environments.
Public
drafts
circulated
in
the
late
2010s,
with
a
reference
implementation
released
for
multiple
languages.
While
not
as
widely
adopted
as
established
formats,
undr
has
found
niche
use
in
experimental
projects,
peer-to-peer
apps,
and
scenarios
where
a
compact,
schema-light
exchange
of
interconnected
objects
is
desirable.
Critics
point
to
a
modest
ecosystem
of
tooling
and
libraries.
Ongoing
work
focuses
on
expanding
validators,
improving
interoperability
with
other
data
interchange
standards,
and
growing
community-maintained
examples
and
tutorials.