aboutsummaryrefslogtreecommitdiffstats
path: root/docs/MESHBAY_DESIGN.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/MESHBAY_DESIGN.md')
-rw-r--r--docs/MESHBAY_DESIGN.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md
index 0714e7e..44592d2 100644
--- a/docs/MESHBAY_DESIGN.md
+++ b/docs/MESHBAY_DESIGN.md
@@ -3411,6 +3411,37 @@ foreground service (`BackupService`) and the WebView reported visible, like a
cast (§11.3). Android 15 limits that type to six hours a day; the service stops
when told and the run carries on at the next opening.
+### 9.13 Contacts and messages backup (Android)
+
+The Android application sends a copy of the phone's **contacts** to a folder of
+a group, on the photo backup's terms (§9.12): a client feature over the upload
+path, additive, once a day, the page doing the sending and the phone handing
+bytes over by token (`/phonesync/<token>`, `phonesync/` in the Android
+package, `phone-sync.js` on the page). Messages follow the same design.
+
+**Only a group the person is alone in.** What a group's folder holds every
+member can read, and an address book is not the group's. The set-up offers
+only groups whose member list is this account and nobody invited, and every
+run asks the hub again before reading anything: somebody who joins later stops
+the backup (`not_private`, a lasting refusal said once) rather than reading
+every copy from then on. Any writable folder of that group is offered, not
+only the ones the Photos tab shows.
+
+**Where.** `<folder>/<account>-contacts/`, made if missing. Each copy is a new
+file named for when it was taken (`contacts-2026-10-10-0900.vcf`), never a
+replacement: restoring is importing the newest one, and an older one is there
+if a phone sync went wrong.
+
+**What.** The whole address book as the platform exports it, one vCard per
+contact through `ContactsContract.Contacts.CONTENT_VCARD_URI`, the format any
+phone imports. It is sent only when its SHA-256 differs from the last copy the
+node took; a day with no change sends nothing. The marker moves only on the
+node's acknowledgement, so a copy cut short is written again whole.
+
+**Unlike photos**, it runs on any network: a vCard file is small, and there is
+no first run of gigabytes to keep off mobile data. `READ_CONTACTS` is asked for
+when the person sets it up, never at start.
+
## 10. Filesystem portability
**exFAT and NTFS on Windows are the common case, not an edge case.** Most users are