Files
papers/lp-102-encrypted-sqlite-replication/lp-102-encrypted-sqlite-replication.tex
zeekay f4ee7a0525 Publish under the org, not a person
Bylines, paper authorship, correspondence addresses and the founder blurb under
each post named an individual. They name the organisation that published the
work instead: the brand on posts and pages, the research byline on papers, and
research@ in place of a personal address. Both are what these repositories
already used elsewhere — nothing new was coined.

Co-authors are untouched. Where a paper named someone else alongside, they stay
named; only the one byline changed. Bibliography entries, running heads,
PDF metadata and affiliations move with it, so a citation still resolves to
whoever the cited paper names.

Sample and fixture data uses the placeholder name these tests already use
elsewhere, so no assertion changed meaning.
2026-09-01 08:58:10 -07:00

89 lines
2.8 KiB
TeX

\documentclass[11pt,a4paper]{article}
\usepackage{../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{float}
\usepackage{enumitem}
\usepackage{array}
\usepackage{tabularx}
\input{../shared/lstlang}
\usetikzlibrary{arrows.meta,positioning,shapes.geometric,fit,calc}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
\lstset{
basicstyle=\ttfamily\scriptsize,
breaklines=true,
frame=single,
numbers=left,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue!70!black}\bfseries,
commentstyle=\color{green!50!black}\itshape,
stringstyle=\color{red!60!black},
showstringspaces=false,
}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{definition}{Definition}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}{Remark}[section]
\newtheorem{invariant}{Invariant}[section]
\title{LP-102: Encrypted SQLite Replication Standard\\(age + Replicate)}
\author{
Lux Research\thanks{Corresponding author: [email protected]}\\
\textit{Lux Industries}\\
\texttt{[email protected]}
}
\date{2026}
\begin{document}
\luxcoverpage
\begin{abstract}
We define the standard for durable, encrypted SQLite database replication
across the Lux ecosystem using age (X25519) encryption and continuous
WAL-based streaming to S3-compatible storage. Per-organization SQLite
databases running on Hanzo Base are the canonical data model for
application state in Lux services. Kubernetes pods are ephemeral.
Persistent Volume Claims fail. This proposal specifies an encrypted
replication layer---\texttt{hanzoai/replicate} (a Litestream fork with
age end-to-end encryption)---that provides sub-second WAL shipping to
S3-compatible object stores with per-principal key isolation derived
through HKDF from a master key held in KMS. The chain remains the source
of truth for securities and on-chain state; this standard addresses the
complementary durability requirement for application state: sessions,
preferences, audit logs, KYC documents, and compliance records. We
specify the encryption scheme, the replication protocol, the sidecar
deployment pattern, the key hierarchy, and the recovery procedure.
\end{abstract}
\tableofcontents
\newpage
%% ============================================================
\input{sections/01-introduction}
\input{sections/02-motivation}
\input{sections/03-specification}
\input{sections/04-architecture}
\input{sections/05-security-considerations}
\input{sections/06-reference-implementation}
\input{sections/07-post-quantum-security}
\input{sections/08-compatibility}
\input{sections/09-operational-considerations}
\input{sections/99-conclusion}
\end{document}