sign-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev 528326727848
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 1da91c033c738ab74538d13d
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
src/lib/mydocs.ts
// The documents this browser created or opened as owner, kept on this device only (with their admin keys).
export interface MyDoc { id: string; key: string; title: string; at: number }
const KEY = "sign:docs";

export function myDocs(): MyDoc[] {
  try { return JSON.parse(localStorage.getItem(KEY) || "[]"); } catch { return []; }
}
/** Adds or updates a document, keeping when it was first remembered. Newest first. */
export function rememberDoc(d: MyDoc) {
  const list = myDocs();
  const prev = list.find((x) => x.id === d.id);
  const next = [{ ...d, at: prev?.at ?? d.at }, ...list.filter((x) => x.id !== d.id)];
  try { localStorage.setItem(KEY, JSON.stringify(next.slice(0, 100))); } catch { /* storage full or blocked */ }
}
export function docKey(id: string): string | null {
  return myDocs().find((d) => d.id === id)?.key ?? null;
}

Change history

Quality pass: phone signing, edit signers, copy to send again
5283267278 · 5 hours ago
Bounded source sync
15f0fa2e27 · 1 day ago
Bounded source sync
d3aa1ca65b · 1 day ago
Bounded source sync
8e2ca0b773 · 1 day ago
Bounded source sync
5cfa84715c · 1 day ago
Bounded source sync
c849e7b286 · 1 day ago
Bounded source sync
68c1cabe03 · 1 day ago
Bounded source sync
62ae8944f0 · 1 day ago
Bounded source sync
7ed54e7381 · 1 day ago