Skip to content

Table: federation_user_keys

This table references:

  • user(ref) via column user_ref
  • user(ref) via column rotated_by_user_ref
ColumnTypeNullableNotes
user_refbigintnoReferences user(ref)
versionintegerno
algorithmtextnoDefault 'naclbox-x25519-v1'::text
public_keybyteano
private_key_encbyteano
is_currentbooleanno
created_attimestampnoDefault now()
retained_untiltimestampyes
rotated_attimestampyes
rotated_by_user_refbigintyesReferences user(ref)
  • CONSTRAINT federation_user_keys_current_xor_retained CHECK ((((is_current = true) AND (retained_until IS NULL)) OR ((is_current = false) AND (retained_until IS NOT NULL))))
  • CONSTRAINT federation_user_keys_private_key_enc_check CHECK ((octet_length(private_key_enc) >= 13))
  • CONSTRAINT federation_user_keys_public_key_check CHECK ((octet_length(public_key) = 32))
  • CONSTRAINT federation_user_keys_version_check CHECK ((version >= 1))
CREATE TABLE public.federation_user_keys (
user_ref bigint NOT NULL,
version integer NOT NULL,
algorithm text DEFAULT 'naclbox-x25519-v1'::text NOT NULL,
public_key bytea NOT NULL,
private_key_enc bytea NOT NULL,
is_current boolean NOT NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
retained_until timestamp with time zone,
rotated_at timestamp with time zone,
rotated_by_user_ref bigint,
CONSTRAINT federation_user_keys_current_xor_retained CHECK ((((is_current = true) AND (retained_until IS NULL)) OR ((is_current = false) AND (retained_until IS NOT NULL)))),
CONSTRAINT federation_user_keys_private_key_enc_check CHECK ((octet_length(private_key_enc) >= 13)),
CONSTRAINT federation_user_keys_public_key_check CHECK ((octet_length(public_key) = 32)),
CONSTRAINT federation_user_keys_version_check CHECK ((version >= 1))
);

Please see the schema overview for context. This document was last regenerated on 2026-07-26T08:25:29.520Z.