← All privacy impact assessments

PIA: Everyday records go back to ordinary text, and chat and photos keep their keys

Amended 1 November 2026 — Device-only retired (privacy-levels §3E). A Device-only group's everyday records were already ordinary text under this change, so its move to Standard changes how none of them are stored. What it sealed under the keys it used while Device-only stays sealed: our server is never given those keys, and nothing moves that content onto one it holds.

Status: Draft, written on 17 October 2026 before any of the code, because the change makes a group's everyday records less protected at rest than the previous design made them, and that is a decision to take with the reasoning in front of us rather than after. It assesses one change: from the app update released after 17 October 2026, the everyday records a group keeps — its tasks, its calendar, its shopping lists, its meal plans, the words in its baby tracker, its ceremonies, its games, its daily brief and each member's own plan — are stored as ordinary text in our Australian database, protected by the access rules on that database, by encryption in transit and by encryption of the disks and backups underneath it. Group chat, photos, captions, album names and comments, each member's own assistant conversation, forwarded email and the cards the assistant raises are not part of this change and stay encrypted exactly as they are today. Written: 17 October 2026 · Last revised: 17 October 2026 Nothing here is legal advice. Children's Code citations are to the exposure draft; section numbers may move on registration (due 10 Dec 2026).

This supersedes "Sealing the rest of a group's free text" (the second stage, written and built on 30 September 2026), which is kept in this register as the record of what was built then and why. Where the two disagree about what is encrypted, this one is the current design. The key design the second stage depended on is unchanged and is assessed separately: the split between the key our assistant server may be given and the key it is never given still exists, and chat and photos still use the key it is never given.

The claim to be careful with, stated before anything else. After this change, somebody who obtained a copy of our database would find a family's task titles, calendar, shopping lists, baby notes, ceremony posts and personal plans in the clear. Between 30 September 2026 and this change they would have found ciphertext for most of that. What protects those words from that moment on is not cryptography on a phone: it is who is allowed to run a query, enforced per group inside the database; the disks and backups being encrypted; and our own rule that nobody here reads a group's content. Two of those three are controls the database proves. The third is a promise. No copy anywhere in the app may say those records are encrypted on your phones, and the privacy policy, the promise register and the Privacy screen move in the same release as the code.


1. Purpose and scope

Why: so that a group can read its own records on any phone, on the first day, without a key ceremony — and so that the app stops showing a family the word "Encrypted" where a task's name should be.

The second stage sealed almost every word a group types. In use, three costs turned up that the design had treated as edge cases, and they are not edge cases in a two-phone household:

Set against that, the protection given up is real and §8 records it. The decision is that for everyday records the balance now favours a family that can always read its own records, with the words protected by access control rather than by a key on a phone; and that the records where the balance goes the other way — a group's private conversation and its photographs — keep their keys and get a better way to hold them, assessed separately.

In scope (the records that go back to ordinary text):

Out of scope, and covered elsewhere:

2. Data involved

2.1 What goes back to ordinary text

Kind Whose Children's? Sensitive? Free text?
group_tasks name, notes, the "why" line, blocked_reason, a pet as beneficiary_label the member who wrote it, often about another member or a child often ("Ada's physio forms") can be: health, school, money yes
task_completions.title — the frozen copy in history the same often as above copy
group_task_categories.label the group rarely rarely yes
group_schedule_events name, notes, location the member who wrote it often (a clinic, a school, a party) a place a child will be, at a time yes
shopping_lists and shopping_items words the group sometimes can reveal a medicine, a diet or an allergy yes
meal_plans name, title and introduction for a plan a group made the group rarely can reveal diet or allergy yes
baby_logs.notes and the free-text details inside a log; group_babies.notes; baby_shift_handoffs.note; baby_books.title; baby_care_guidance.subject and .source the household, about a baby always health information yes
baby_recent_summaries.summary and .cues written by a model from the notes above always as above model-written
ceremony_messages.body, ceremony_outcomes.text, a ceremony's display name members, including children often a child is an author family feelings, complaints yes
deal_cards and the words kept in game_ledger and deal_proposals; a group's prize list the group sometimes (a child's chores) no yes
group_brief_editions sentences written by a model from the records above often as their sources model-written
user_intentions text, reason, obstacle, timing and who it is for one member sometimes can be deeply personal yes

Strict necessity (s 38(2)(b)). This change collects nothing new and discloses nothing to anyone new. Every field above already exists, is already stored, and is already readable by the other members of the group; what changes is the form it is stored in and therefore who else could read it. No new column, table, provider or model call is added by it.

Not collected, and could have been: nothing is added. The change removes a wrapped data key and a key version from each record rather than adding anything to it.

2.2 What does not change

3. Flows and locations

Data Device Our database (Sydney) Our assistant server (Sydney) Model provider Region
An everyday record, written typed on the phone, saved as ordinary text stored as ordinary text; disks and backups encrypted not involved in a phone's write — Australia
An everyday record, read read as ordinary text by any signed-in member's phone per-group access rules decide who may select it reads it with the asking member's own access, inside their request — Australia
An everyday record, written by the assistant — stored as ordinary text writes it inside one member's request the words of the request go to the model as before model at the provider's global location
A record encrypted before this change a phone holding the key opens it as it does today, and writes the words back as ordinary text the record becomes ordinary text at that moment can still open it with the key copy it holds, inside a request as above Australia
Chat, photos, captions, albums, comments encrypted on the phone before they are sent ciphertext holds no key for them once a group's phones have moved them never read by our servers Australia
Logs — — outcomes, not words — —

3.1 The pattern an everyday record now follows

Step Where What happens
A member writes their phone the words are saved as ordinary text in the record's own columns. No data key is made, nothing is wrapped, and the record is marked as not encrypted
Another member reads their phone the words are there. A phone with no group key reads them like any other phone — the case that used to show a placeholder
The assistant reads or writes our assistant server inside one member's request, through that member's own access, as before. For a record that is ordinary text there is no key to open and so no key-use record; §6 and §8 say what that costs
A record encrypted earlier is opened the phone that holds the key the phone writes the words back into the ordinary columns and clears the encryption marks in the same step, so the record satisfies the database's own shape rules. It is a background pass over records a member was already reading: nothing is fetched for its own sake, and a failure is retried the next time that screen loads
Nothing re-encrypts — the jobs that used to encrypt older everyday records are removed, with the screens that started them, so an everyday record cannot become ciphertext again. The two jobs for chat and photos stay
Our database's own functions the database hold no key, as before. They can now compose a notice from a record's own words again, which the second stage had to stop them doing; nothing in this change asks them to

3.2 What our servers can read, and what records it

Before this change, our assistant server could open an everyday record only by unwrapping the group's key, which it did inside one member's request, after writing a record of the attempt, with an hourly ceiling. After it, an everyday record needs no key, so none of those three controls applies to it: the server reads the words the same way it reads a date. What remains is the access rule on the table (it reads with the asking member's own access, so it can reach only what that member can reach), our own code keeping those reads inside a request, and our rule that nobody here reads a group's content. The key-use record still exists and still covers what is still encrypted: chat and photos where a copy of the key is held, forwarded email, the assistant's cards.

3.3 Records encrypted before the change

Eleven groups hold encrypted everyday records today. Nothing of theirs becomes unreadable:

3.4 Device-only groups

Device-only still means: no assistant, no daily brief, no voice, no model call of any kind, and no copy of the group's key for our servers. It no longer means that a group's everyday words are unreadable to us at rest, because they are no longer encrypted. For a Device-only group this is the largest change in this document, and §8 records it as accepted. The copy that describes the level moves in the same release.

3.5 The encrypted columns stay for now

The columns the second stage added — the sealed copy of each field, the wrapped data key, the key version — stay in the database, unused for new records, until a later release removes them. Two reasons: a record encrypted before this change still needs them until a phone opens it, and an app version from before this change still writes them. They hold ciphertext, not words, and nothing reads them for a record that is ordinary text.

4. Legal basis and consents

5. Risks and mitigations

Risk Who is harmed Mitigation Structural or conventional? Residual
Somebody obtains a copy of our database — a breach, a mistaken query, a backup — and reads a family's task titles, calendar, shopping lists, baby notes, ceremony posts and plans in the clear every member; every child named in a record per-group access rules inside the database rather than in application code; disks and backups encrypted, with the backup key held outside our cloud providers; no public role on any of these tables; our rule that nobody here reads a group's content structural as to access and storage; conventional as to anybody with legitimate database access the words themselves. Before this change the same copy yielded ciphertext for most of them. This is the risk the change accepts, and §8 states it in those words
A member of our own team reads a group's records in production because nothing cryptographic stops them every member of that group our rule that nobody reads group content in production, which is written down and applies to diagnosis as well as curiosity; metadata-only diagnosis; the register of permitted queries against member tables conventional, with a written record a person with production access can read everyday records. The key copy made this true for most records already, inside a request; it is now true without one
Our assistant server reads more than the request needed, and no key-use record marks it the group it reads with the asking member's own access, so it cannot reach another group; our own code keeps the reads inside the request; the reads that still open a key are still recorded conventional for everyday records, structural as to another group's records an everyday read leaves no key-use trace at all. The nightly comparison of key use covers what is still encrypted
A group with no phone holding its key is left with records it cannot read, and we have removed the way to encrypt more that group every reader keeps the step that opens an encrypted record; the key still reaches a new phone through the ordinary admission flow; the write-back makes the problem shrink rather than grow conventional (the readers are code) a group that lost every keyed phone keeps unreadable records; nothing in this change recovers them
The write-back leaves a record half-converted — words restored but still marked encrypted, or the reverse the group the database's own shape rules refuse a half-done record for the tables that can express it, and the write-back writes the words and clears every encryption mark in one statement; the records with no shape rule are written the same way structural where the shape rule exists; conventional elsewhere a record whose write-back failed stays encrypted and is retried; it is never left readable-but-marked
A record a member deleted is still in a backup made while it was ciphertext, and in one made after the member backups expire on their schedule, at most 90 days for our own nightly copy structural as to expiry up to 90 days, as before, except that the newer copies hold words rather than ciphertext
Copy somewhere in the app still tells a member their everyday records are encrypted on their phones every member reading it the promise register, the privacy policy and the per-surface privacy copy move in the same release; the scan that refuses overclaiming privacy copy runs over every one of those modules conventional, test-pinned a module nobody noticed. The release lists the surfaces it changed, and the scan fails a new module that is not in it
A later change quietly encrypts an everyday record again, and a phone without the key sees a placeholder the group the jobs that encrypted older everyday records are removed with their screens, and the write path no longer has a sealing step to reinstate conventional (code and its tests) a future change could add one back; this document is the reason not to

6. Structural versus conventional

The useful way to read this section is as a before-and-after, because the change moves one property from the first column to the second.

Structural, after this change

Conventional, and pinned by automated checks where we can

What moved, said plainly: before this change, "somebody with a copy of our database cannot read a family's everyday words" was a property cryptography held. After it, the equivalent sentence is "somebody who can run a query as a member of that group can read them, and nobody else should be able to run one" — which access control holds, and which a key does not. Both are legitimate designs. Confusing the two is the mistake this register exists to catch, so: after this change the app's at-rest protection for everyday records is access control, not encryption on a phone.

7. Best interests of the child

Children are plainly involved: the baby tracker is a record about a child, a child's own posts appear in a ceremony, a child's chores appear in the games, and a child who holds an account writes tasks and reads the calendar.

8. Residual risk we accept

9. Review trigger

10. Checklist against exposure draft s 38(2)

s 38(2) Requires Answered in
(a) the nature, scope, context, flow and purposes of the handling of children's personal information §§1–3
(b) why the collection is strictly necessary §2.1 — nothing new is collected
(c) how the collection is lawful and fair §4
(d) whether the handling is consistent with the best interests of the child, with reasoning §7
(e) how the entity complies with this Code and the Act §§4 and 6
(f) the risk of harm to children §§5 and 7

s 38(3): this assessment was written before the change was built. s 39: it is listed on the published register.

11. Sources