← All privacy impact assessments

PIA: Member types, group types and asking at first use

Amended 28 October 2026, built, not yet released: typing indicators are off unless a member turns them on. The typing indicator ("Sam is typing…" in group chat) now starts off for every new account, and every existing member's switch is set to off once, when this ships, including members who had turned it on; nothing sets it back again, and turning it on is one tap. It stays reciprocal: with it on, you see when others who also have it on are typing, and they see you; with it off, you neither show nor see. Shared displays (walls), profiles and members under 16 neither send nor see typing, whatever their switch says, and our database enforces that rather than the app. The one-time reset is a dated exception, for this switch only, to the rule that a settings tidy-up keeps stored values. Residual risks we accept: the name in a typing mark is chosen by the sender's app, so a member can make it look as if another member is typing (a name only, gone within seconds); a member removed from a group, or a modified app after switching off, can keep seeing typing until their connection to the chat next restarts or their sign-in refreshes, a matter of minutes; members of a group can see who has the switch on; and members who had chosen "on" lose that choice once, with no message in the app telling them. HQ's PIA-013 is the assessment.

Amended 22 October 2026, before release: staged sign-up. An authorised adult still needs a birth month on record showing 18 or over to found a group. A new group's assurance is declared. The invite step after founding uses the existing code and sends through the member's own apps; opening account creation later does not join anyone to a group.

Amended 4 October 2026. The create-group posture question and the onboarding member-type step are removed; groups start Standard and can be made Device-only from Privacy. The personal request ceiling no longer changes where a request is processed, because every request that reaches a model runs at Vertex global (cloud-inference §12).

Amended 22 October 2026 (round 2, item 1): the daily brief is on for every adult in a Standard group. An adult who said no gets it only after their app has shown privacy policy v3.13. Nobody under 18 is moved, and a Device-only group has no brief. Built, server and app, not yet released; it ships only with v3.13. See the amendment at the end of §4.4.

Amended 21 October 2026 (epic 001 D2): member types are removed. There is no member-type card, picker or suggestion in Settings any more, and no "Set by your type" or "Changed by you" label on a switch. Each setting is still the member's own switch, written on its own, exactly as §4.1 describes; nothing applies several at once. Nobody's settings were changed: each stays as it was. The app no longer reads or writes the stored type (users.stance and users.stance_version); the columns are kept, unchanged, for app versions that haven't updated, which still show the card until they do. Nothing in the app now sets the personal request ceiling, which only a Show less choice used to set: a value already written stays, and can only narrow the level that member's own requests run at. A child's page names no member type. Where this assessment describes member types, it describes the app before this change.

Amended 21 October 2026: a child's settings no longer wait for a tap. When a birth month first shows that an account is under 16, our database sets that member's quiet settings straight away: no message previews, no glance details, no typing shown to others, the last message not read aloud, and no detail on the lock screen. Until now the app set them only when the child tapped OK on the Young member card, which now only tells them what is set. It happens once per account: correcting a child's birth month later doesn't set them again, so anything changed since stays changed, and children already under 16 when this shipped were left as they were. Someone aged 16 or 17, and adults, get nothing.

Amended 20 October 2026 (epic 001 D0): group types are retired. A group isn't classified. It is created by its name alone: the "What kind of group is this?" cards are gone, setup has one fixed order and pre-ticks nothing, and no screen shows or changes a type. No word, icon, routine list or default in the app depends on it any more ("the group" everywhere, one home icon, one routines catalogue), and the app no longer reads the column or keeps it on the phone. A new group is stored with the neutral type, and since this change only an owner or admin can alter it. The one place the server used to return it (the invitation card) now returns the neutral value. A type already stored on a group is kept and is not rewritten, and it is no longer shown to anyone by the current app; installed app versions still show it until they update. Where this assessment describes the cards, the sensitive types or a type-derived display, it describes the app before that change.

Planned, 10 October 2026: real notification preferences. This assessment holds the app's one notification preference today — the notification-detail preference of §4.1, which is recorded and still does nothing (§5 R4, §8). Two more are being added, and they will do something: muting one group's chat, and a switch for each kind of notification — chat; an action somebody asks of you; turns and routines; a person joining; the morning brief; and getting started. Not built. Each is one more of the member's own preferences, like the ones in §2's table: the member's own choice, readable and writable by them alone, deleted with their account, never read as agreement to anything and never a consent. Muting a group's chat is per member and per group; it stops that group's chat notifications and that group's turn-and-routine ones, and it does not stop the unread marks the member sees when they open the app.

Why these come first. The app is separately being changed so that it may send a member a small number of notifications they did not ask for — somebody gave them a task, a person joined, a suggestion in their first week. The rule that has always governed notifications here is that a member must be able to find the off switch again, so these switches ship before the notifications they govern, not after. Residual risk, accepted: the notification-detail preference of §4.1 stays a recorded choice with no effect, now sitting beside switches that do work, which may read as though it works too; §4.1's rule stands that no copy mentions it until the feature that reads it exists.

Status: Built on 30 September 2026, the same day this assessment was written; not yet released. Where this assessment disagrees with the plan it assesses, it says so and records what it recommends. Built: member types (§4.1, §4.5), the group types, choosing the group's level while creating it (§3), the daily brief becoming its own first-use consent purpose (§4.2–§4.4), and asking for consent the first time a member meets improvement traces, writing the brief on their phone, or the on-device assistant (§4.2). None of it has reached a phone yet. Written: 30 September 2026 · Last revised: 22 October 2026 (staged sign-up, before release); 21 October 2026 (member types removed; a child's settings set by our database; earlier: 20 October 2026, group types retired; 10 October 2026, planned notification switches) · 30 September 2026 Nothing here is legal advice. We have not taken legal advice at this stage; where a question needed a lawyer we took the more conservative reading and say so. Children's Code citations are to the exposure draft; section numbers may move on registration (due 10 December 2026).

As built, 30 September 2026. Every piece named above was built and merged the same day this assessment was written, matching the design in §§3, 4.1–4.5 with no deviation we found. None of it has reached a group or a member yet: database changes take effect at our next release, and each change also needs a member's phone to update to the app version built alongside it. Until both happen, the app keeps working exactly as this document describes "today".


1. Purpose and scope

Why: so that a new member makes one understandable choice about their own screens, and a group's creator makes two about the group, instead of meeting about 110 switches across 14 screens — without any of those choices switching on something that needs a person's consent.

The rule members are told:

The group sets the ceiling. You choose within it. The group's posture decides what our servers may open of shared content and where models run. Your member type decides what your own screens show and how far your own requests go. You can always be more private than the group for yourself; nobody can widen the group alone.

In scope:

Out of scope, and assessed elsewhere:

2. Data involved

Kind Whose Children's? Sensitive? Free text?
users.stance, users.stance_version — which member type was chosen, and under which version of the definitions. New value standard; new version 2 the member's own yes, for a 13–17-year-old member no no — closed list
The preference columns a member type writes: users.typing_indicator_enabled, users.glance_hide_details, the voice_read_chat_aloud row and the three tool rows in user_tool_settings (all existing), and users.notification_detail (new, boolean, default off) the member's own yes, as above no no
users.request_ceiling (new; assessed elsewhere) the member's own yes, as above no no
groups.type — the group's own description. New values Co-parents (shown as Two homes) and Carers (shown as Care team) the group's a group of type Two homes describes a child's family arrangement see below no — the pickers offer a closed list, but the column accepts any text
consents rows for a new purpose, daily_brief the member's own yes, for 16–17 no no
A user_tool_settings row, daily_brief, holding the brief's on/off answer under the new wording the member's own as above no no
On this phone only: whether the one-time "your settings look most like…" suggestion has been shown, and which first-use consent prompts have been shown the member's own as above no no

Two group types say something sensitive about the group, and we are adding them anyway. Two homes tells whoever can see the group's type that the children's parents live apart. Care team implies that someone in the group, or known to it, needs care — an inference towards health information. Both are stored exactly where every other group type is: on the group's own row, readable by its members. We add them because the people these groups are for asked for a name that fits them, and a group that has to call itself "Family" or "Group" to use the app is being asked to misdescribe itself. Three limits hold:

Why each item is necessary. The member type and its version are the least that can answer "what did this member choose, against which list" — without the version, a later release that adds a setting would silently reclassify every member who chose under the earlier one. The preference columns already exist, except notification_detail, which is added so that the member types can record the choice before the feature it governs exists (see R4). The group type is the group's own description and is needed to show the group's own name for itself.

Not collected, and could have been:

3. Flows and locations

Data Device Supabase (Sydney) Our assistant server Model provider Region
Member type and version chosen here stored on the member's own row not read never sent Australia
Preference columns shown here stored on the member's own rows the request ceiling only (assessed elsewhere) never sent Australia
Group type chosen here stored on the group's row not read never sent Australia
daily_brief answer and its consent row asked here stored read per request, through the member's own session, to decide whether this member's opening the app may cause an edition the brief's own flow (its assessment) as that assessment says
Suggestion and prompt "shown" markers stored on this phone — — — the phone

Nothing in this assessment sends anything to a model. Choosing a posture during onboarding goes through the existing privacy-level procedure, whose flows are assessed in the privacy levels assessment.

Starting a group at Phones only. Today a new group is always created at Australia; its first device then makes the group's key and, at Australia, offers our server a copy wrapped under our key service. A group that later moves to Phones only rotates its key so that the server's copy stops opening anything new. We recommend that the posture chosen while creating a group is applied as the group is created, so a group that starts at Phones only never offers our server a copy of its key at all. A group that chooses Global is created at Australia and then widened through the existing proposal, because a widening needs the recorded overseas-processing consent and the announcement that only exist once the group does.

4. Legal basis and consents

4.1 A member type is a preference, never a consent

A member type writes only the member's own non-consent preferences, one at a time through each setting's own writer, and records which type was chosen. It writes no consent row, and no setting that is marked as consent-class can ever be a member of a type: the list of settings a type may cover is worked out from our settings map, which excludes every consent-class setting, so a setting that becomes consent-class later drops out of the types automatically. This is the draft Code's unbundling rule (s 14(3)(b)) applied: a person cannot agree to the assistant, the brief, voice, Mail Sifter or improvement traces by picking "Show more".

Since 21 October 2026 there are no member types (epic 001 D2). What this section required of them holds without them: each preference is written only by its own switch, one at a time, and no code that writes a preference writes a consent. A test fails if any app file names the removed type code or writes users.stance.

A group type is not a consent either, and never applies a posture. It may recommend one on the next screen. The recommendation is never wider than Australia, so a highlighted choice can never be the one that needs a consent (§6).

4.2 Asking at first use

Each consent is asked the first time the member meets the feature it governs, not in a list during onboarding:

Consent Asked when Who gives it
The daily brief (new purpose daily_brief) the member's first visit to Home after the change (§4.4) the member
Voice on this phone when pairing a phone for voice: the existing voice disclosure, and the choice to use only on-phone transcription, shown neutrally the member; the group's own voice switch stays an admin's consent, announced, as today
Improvement traces from Settings, where the switch lives the member
Writing the brief on this phone; the on-device assistant from Settings, where each switch lives the member
Mail Sifter; the group's overseas processing when an admin turns them on, as today an admin, for the group, announced

How a prompt looks, as a rule, with our position taken without legal advice: each consent is its own moment on the screen; the switch starts off; the two answers are equal in size and weight ("Turn on" and "Not now"); the wording says what is sent, to whom, where and for how long, and how to turn it off; there is no "accept all", no "recommended", and no social-proof line ("most people…", "people like you…"). Every prompt's words are tested for those phrases. "Not now" writes nothing to the consent record — a consent record is a record of acts, and a person who has not agreed has not acted. This phone remembers that the prompt was shown so that it is not shown on every visit; "Your choices" in Settings lists the feature as not turned on, with a way to turn it on.

Two layers, from 10 October 2026. The daily brief's prompt and the two on-phone prompts (the briefing written on this phone, and the assistant on this phone) now keep on the screen what the choice turns on: what it does, who receives what and where (shown), the important limit (shown — for the brief, that another member's brief can still mention tasks assigned to you; for the phone's own model, that the group's shared briefing is still written on our servers, or that a change you confirm is saved to your group), and how to turn it off (shown). How long a paragraph is kept, that your own line is written on this phone, what is not saved, how rough a phone's model can be, and that we ask again in twelve months open under "How it's handled", one tap away on the same card and above both answers (one tap). No fact was added or removed, so the wording versions moved (daily brief 2.1; each on-phone prompt 1.1) and an earlier yes still counts: nobody is asked again. We accept the shorter card under our principle of being useful first, with informed opt-in. The young member's own AI prompt and the prompt for improvement traces are unchanged and show everything.

Age. A person under 16 is not offered the brief, the assistant, voice or Mail Sifter at all, so there is nothing for them to consent to. A 16- or 17-year-old is asked like any adult member, in the same neutral way.

4.3 The daily brief becomes a consent purpose

Until now the daily brief has been on for every adult member unless they turned it off, and turning it on or off recorded no act in our consent record. We have decided to make it a consent purpose, daily_brief, recorded like the others, and lapsing after twelve months like the others. New members start with it off and are asked on Home.

What a member's answer controls needs saying plainly, because the brief is now one paragraph written for the whole group from the group's shared records. A member's consent decides whether their opening the app may cause the group's brief to be written, and whether they see it. It does not stop the brief being written for the group when another member who has agreed opens the app, and a task assigned to the member who said no can still appear in it — just as that member cannot stop another member reading the group's task list. We say this in the prompt's own words.

The new answer is recorded under a new setting (daily_brief) whose absence means "never asked", rather than by changing the meaning of the existing setting, whose absence has always meant "on". Reusing the old setting would have required writing an answer for every existing member, which our own rule forbids: no migration writes a preference or a consent.

4.4 Existing members: "keeps running until they answer" — our reasoning

We decided that existing members are asked once, on their next visit to Home, and that the brief keeps running for them until they answer. We examined whether that is defensible rather than assuming it.

For it:

  1. It is the state they are in and were told about. The brief has been on by default and described in the privacy policy and on the app's AI page. Continuing it for a short period changes nothing a member was told.
  2. Turning it off unasked is also a change made without their act. Our rule is that nobody's settings change without their own act. Stopping a feature someone uses, on the day an update arrives, is a change of that kind in the other direction.
  3. The question is asked at the moment it matters. A member's opening of Home is what causes an edition and what shows one, and the prompt is shown on that same visit.

Against it:

  1. Continuing is not consent. A member who has not answered has not agreed to anything, and our consent record must not say they have. It will not: nothing is written for them.
  2. Indefinitely is not a transition. A member who dismisses or ignores the prompt forever would keep causing processing under a purpose we now say needs consent, and "Your choices" would show it as never given while it runs. That contradiction is exactly what the consent record exists to prevent.
  3. 16- and 17-year-olds. Our children's assessment says the assistant and AI features are off for a young person until their own consent. A carry-over that keeps an AI feature running for a 16-year-old who never agreed would contradict it.

Our finding. "Keeps running until they answer" is defensible as a bounded transition with three conditions, and not otherwise:

All three conditions are adopted (30 September 2026): the carry-over ends 30 days after the change reaches members, nothing is recorded as consent, and it does not apply to anyone under 18.

Amended 22 October 2026 (round 2, item 1): on for every adult in a Standard group. The founder decided (Q1, 22 October 2026) that the brief has no switch for adults in a Standard group. It is assessed in the PIA-001 round-2 addendum §1, approved with conditions 1-1 to 1-7.

What is built: our server's half. Not yet released.

What is built: the app's half (23 October 2026). Not yet released.

Residual, accepted (founder, Q1): an adult who said no gets the brief after seeing one notice, and has no switch to turn it off again.

4.5 Existing member-type choices

A member who chose Reserved or Open under the first version keeps that choice, and is measured against the first version's own list — never against the new one — so nobody reads as having changed their settings because we changed the definitions. The names they see become Show less and Show more, which describe the same direction. Once, they are shown a suggestion: "Your settings look most like Standard. Keep them, or choose a type." Keeping them writes nothing. The first version's "show message text in notifications" setting has controlled nothing since chat notifications stopped carrying message text; its old values are never read as agreement to the new notification-detail preference, which starts off for everyone.

4.6 Postures chosen in onboarding

Choosing Global while creating a group uses the existing procedure: an admin proposes it, the number of confirmations the database requires is met (a group of one completes at once), the overseas-processing consent is recorded and lapses after twelve months, and the change is announced in the group's chat. Global, including baby records is not offered in onboarding; it is under Advanced, where a guardian's confirmation is required if a child is in the group. Choosing Phones only is a narrowing and needs one tap.

5. Risks and mitigations

Risk Who is harmed Mitigation Structural or conventional? Residual
R1 A member picks "Show more" believing it switches on the assistant or the brief, and is surprised later — or a type is built that does switch one on the member; the group The list of settings a type covers is derived from the settings map and excludes consent-class settings; a test fails if any type touches one Test-pinned (derived list plus a test) A future change to the settings map that wrongly marks a consent as non-consent
R2 A preset writes a preference over a setting the group has settled — for example, turning on "read the last message aloud" in a Phones-only group the group Applying a type skips every setting the group's level or the member's age has settled; today's code does not pass the group's level when applying, and the design fixes that first Conventional (the app decides), test-pinned A copy of the app older than the fix can still write the setting until it updates
R3 A member chose under the first version and is shown as "Custom" when nothing they did changed the member Classification against the version they chose; new settings are offered, never applied Test-pinned —
R4 The new notification-detail preference is shown and does nothing, like the old message-preview switch (amended 29 October 2026: the message-preview switch is live again, from policy v3.15, and controls text in notifications for groups whose chat isn't encrypted (notification previews); notification_detail is still read by nothing until a notification extension ships) the member The column is added so a type can record it; no switch is shown and no copy mentions it until the feature that reads it exists Conventional A member type records a preference that has no effect for some months
R5 Copy promises "your own requests stay in Australia" before our server keeps it the member; everyone reading the policy The ceiling's server enforcement ships, and is verified, before any screen or policy mentions it; the Show-less explanation is rendered only when a flag set by that release is on Conventional, with a copy test —
R6 A Two homes or Care team type reveals a family's separation or someone's need for care to someone it should not a child in a separated family; the person cared for Stored on the group's row, readable by its members; never read by our assistant server or sent to a model; shown to an email invitee only as the inviter's own choice Structural for members (row security); test-pinned for "no model" Reduced, 20 October 2026: nothing new is stored, the current app shows no type, and an invitee is sent the neutral value; a value already stored stays on the row, readable by members through an old app version
R7 A group type quietly changes what a group may use, or who may join the group The type is description only; nothing in the database or on our server reads it to decide anything. Since 20 October 2026 it suggests no children-allowed default either: every new group starts undecided, enforced by the server, and the first decision is an admin's inside Add a child (child accounts §7) Structural (nothing reads it); test-pinned —
R8 A creator is steered into Global by the screen's design the group The highlighted posture is never wider than Australia; Global needs its own tap and the existing consent; global-including-baby is not offered in onboarding Conventional, test-pinned —
R9 A consent prompt pressures the member ("most families turn this on") the member Neutral wording rules, equal buttons, switch off, no "accept all"; every prompt's words scanned for pressure phrases Test-pinned A pressuring design that uses no listed phrase
R10 The daily-brief carry-over runs indefinitely for members who never answer the member A 30-day end date (recommended, §4.4); nothing written as consent; not for anyone under 18 Conventional If the end date is not adopted: §8
R11 A 16- or 17-year-old is treated as an adult for AI features the young person The young-person rule is built on our server (children's assessment §5.3): every AI route refuses an account under 18 until the member turns AI features on themselves, failing closed Structural (our server), from the day it is released Before release, a 16- or 17-year-old has the adult defaults
R12 A copy of the app that predates the change overwrites a Standard choice with an older one the member Older copies read "standard" as "not chosen yet" and only write when the member taps a type; the member sees their own tap Conventional Possible for a member using an old copy on a second phone
R13 Starting a group at Phones only after the server already holds a copy of its key the group Apply the chosen posture when the group is created; where that is not available, lock and rotate the key at once Structural (no copy offered) where applied at creation A group created by an older copy of the app starts at Australia

A finding about 16- and 17-year-olds. Our children's assessment describes 16- and 17-year-olds as having the full app with the assistant and voice off by default until their own consent, and the plan this assessment covers calls that an existing rule. We checked: nothing enforces it. Our assistant server refuses only accounts under 16, and the app treats a 16-year-old as an adult. The "Young member (16+)" card must not say that AI is off until they choose, until that rule is built on our server first. We record this so the gap is fixed rather than described. Built 30 September 2026, not yet released: the rule will be enforced by our server once released — see the children's assessment, §5.3.

6. Structural versus conventional

Property How it is held Kind
No member type, and nothing that applies several settings at once (since 21 October 2026) The type code is deleted; each preference has only its own switch and writer; a scan fails if any app file names the type code or writes users.stance Test-pinned
"Custom" is never stored, and "standard" is never stored with version 1 A database check on users.stance refuses both Structural
Only the member can change their own member type The existing row rule on users: a member updates only their own row Structural
Nothing is gated on the member type No app file reads users.stance or users.stance_version at all since 21 October 2026; a source scan fails if one does Test-pinned
A group type never applies a posture or changes eligibility Nothing in the database or on our server reads groups.type to decide anything; the posture step is a separate screen that requires its own tap Conventional; test-pinned by scans that no database function, assistant-server file or edge function reads groups.type, and that no app source names the old vocabulary
A group's posture can be widened only with the recorded consent and the required confirmations The existing privacy-level procedure, whose functions refuse a direct write Structural
A group created at Phones only never offers our server its key The group is created at that level; the key copy is offered only after reading a non-Phones-only level from the group's row Structural once built
The recommended posture is never wider than Australia Data in the group-type table plus a test Test-pinned
A member's own daily-brief answer decides whether their opening the app causes an edition Our server reads the answer per request through the member's own session, and an unreadable answer is treated as off Structural on our server once built
New members start with the brief off The new setting's absence means off on our server Structural once built
A daily-brief consent lapses after twelve months and the brief stops The nightly consent sweep writes the lapse and turns the setting off Structural
Consent prompts are neutral and unbundled Wording rules and a phrase scan Test-pinned
Old "message preview" values are never read as notification-detail consent Separate columns; the new one starts off. Amended 29 October 2026: the message-preview column is read again, for its own switch only, and existing values are honoured Structural
Young member (under 16) preferences Our database writes them when a birth month first makes the account under 16, with no member-type step; the app shows them as settled Structural (since 21 October 2026)
AI off for 16- and 17-year-olds until their own consent Our server reads the member's age and their own setting on every AI request, failing closed Structural (built 30 September 2026)

7. Best interests of the child

Children appear here in three ways: as members who hold an account (13–17), as the subject of a group's type (a child with two homes), and as the reason a group is a New baby group.

8. Residual risk we accept

9. Review trigger

10. Checklist against exposure draft s 38(2)

s 38(2) Requires Answered in
(a) nature, scope, context, flow and purposes §§1–3
(b) why collection is strictly necessary §2, per item
(c) lawful and fair means §4
(d) best interests of the child §7
(e) how the entity complies with the Code and the Act §4, §6
(f) risk of harm to children §5, §7

11. Sources

Primary: exposure draft of the Children's Online Privacy Code (ss 13, 14(3)(b), 15–17, 20, 33, 38–39) — https://www.oaic.gov.au/__data/assets/pdf_file/0020/262631/Exposure-Draft-Childrens-Online-Privacy-Code.pdf

Our own code and documents: