mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
89 lines
2.8 KiB
TeX
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}
|