Thank you for helping test Rootkin™ before we launch to the public. This guide walks you through the full feature set in short, focused sessions — and explains how to report anything that looks wrong.
Guide version: v3.0 · May 2026 · app v1.21+
What you're testing
Rootkin is a private family genealogy app. You create a family tree, add people with names, dates, photos, and stories, link them together as parents/children/spouses/siblings, and share the tree with family members who can view or help build it.
Two features matter most, and this round of testing leans hard on them:
Voice memories — short audio stories attached to a person, transcribed automatically, given an AI-suggested title, and searchable across the tree. This is the heart of Rootkin.
Describe your family by voice — instead of filling in a form, you can just talk: "My grandmother was Rosa Delgado, born 1931 in Manila; her son is my dad, Marco." Rootkin parses what you say into people and relationships for you to review.
Please give both of these a real workout — Sessions 3 and 6 below cover them in depth.
Unlike Ancestry or MyHeritage, your tree is private to the people you invite — no global database, no DNA kits, no ads. The goal is "the family tree app your whole family will actually use."
You're testing a pre-release build. Most things should work, but you'll likely find rough edges. That's the point.
Want a feature-by-feature reference as you go? The Help center has short walkthroughs (and videos, as they land) for every feature this guide covers.
How to install
iPhone / iPad
Open the invitation email you received from TestFlight. Tap the link to accept.
If you don't have TestFlight on your device, the invitation will prompt you to install it from the App Store first.
Once TestFlight is installed, open it and tap Install next to Rootkin.
Open the app from your home screen. You'll see a small orange dot next to the app name in TestFlight while the beta is active — that's normal.
Android phone / tablet
Open the invitation email from Google Play Internal Testing. Tap the link on your Android device.
Accept the invitation. This enrolls your Google account as a tester.
Tap Download it on Google Play in the email, or open Play Store and search "Rootkin."
Install and open as you would any Play Store app.
Web
If you'd rather not install anything, the app also runs in a browser at app.rootkin.app. Most features work the same as native; differences (notifications, photo picker on iOS Safari) are called out as you reach them.
Don't see the invitation email? Check spam, then email support@rootkin.family and I'll resend.
How to report anything weird
If anything looks wrong — a crash, a button that does nothing, text that's cut off, a confusing flow — please report it. Even if you're not sure it's a bug, flag it. The goal is to catch things before public launch.
There are two ways to report, depending on your device. Pick whichever is easier — you don't need to do both.
iPhone / iPad — the fast way (TestFlight)
If you installed Rootkin through TestFlight, it has a built-in feedback tool that's the quickest way to flag something — especially a crash:
Take a screenshot while the problem is on screen (hold Side + Volume Up). TestFlight will offer a Share Beta Feedback prompt — tap it.
Mark up the screenshot if you like, type a sentence about what went wrong, and tap Submit.
If the app crashed, just reopen it — TestFlight asks if you want to send the crash, so tap Send and add a note.
Why this is the easy path: TestFlight automatically attaches your device model, iOS version, app build number, and a full crash log if there was one — so you don't have to type any of that. Add a sentence about what you were doing and you're done. It lands directly in my feedback dashboard.
One thing to know: TestFlight feedback is one-way, so if it's something we'll need to go back and forth on, email (below) is better.
Android, web, or anytime you'd rather email
TestFlight feedback is iPhone/iPad only. On Android or the web — or any time you'd prefer a normal reply you can respond to — email support@rootkin.family with subject "Rootkin bug: [short description]" and include:
Device: iPhone 14 / Pixel 7 / iPad Air / Chrome on Mac / etc.
OS / browser: (iOS: Settings → General → About;
Android: Settings → About phone;
Web: paste the browser version)
App version: Settings → About (e.g. v1.21.0)
What I did: ...
What happened: ...
What I expected:
...
Screenshot / screen recording attached (if possible)
iOS: hold Side + Volume Up
Android: hold Power + Volume Down
Web: your OS screenshot tool
Small things are fine — "the back arrow on the Edit screen didn't work" is a great report.
Testing sessions
Each session below takes 5–15 minutes. You don't have to do them all in one sitting, but please try to get through Sessions 1–6. Sessions 7–10 are shorter, and 11–14 are optional poking around.
Session 1 — Create your account and first tree
Goal: Get signed in and create a family tree you own.
Open the app. Tap Create account.
Enter your email, a display name (like "Mom" or your first name), and a password. Tap Sign up.
Expected: You're taken into the app. No tree exists yet, so you'll see a prompt to create one.
Tap Create a new tree. Give it a name like "Smith Family" and an optional description. Tap Create.
Expected: You're taken to the Home tab with your new tree selected at the top.
Sign out from Settings → expand the Account section → Sign Out. Sign back in with the same email and password.
Expected: Your tree is still there.
Try the Forgot password? link from the sign-in screen. Enter your email. You should receive a reset link by email (check spam). The link goes to auth.rootkin.app — that's our domain, not a phishing site.
☐ Sign-up works
☐ Sign-in works
☐ Sign-out works
☐ Password reset email arrives and the reset link works
Goal: Build a small family tree with 5–10 people. Use real family members — it's more fun and you'll notice bugs faster when the data means something to you.
Tap the People tab at the bottom. Tap the + button (or Add Person).
Add yourself first. First name, last name, date of birth, place of birth. Leave death date blank. Tap Save.
Expected: You land on your person detail page. Back arrow returns to the People list with you in it.
Add your parents. For each: first name, last name, date of birth, place of birth. If a grandparent has died, add their date of death too.
Add one or two grandparents.
Add a sibling and at least one living nephew/niece or child if applicable.
Go back to People and use the search bar at the top to find someone by name.
Expected: Search filters the list as you type.
Tap one of your people, tap Edit (top right), change their middle name or add something to the Notes field, and Save.
Expected: The change is reflected immediately when you return to the detail page.
If you'd rather describe several family members at once instead of filling them in one by one, the ✨ Describe your family button (in the top-right of Add Person and Edit Person) is the fast path. That's the next session.
☐ Add Person saves correctly
☐ Dates (birth, death) save and display correctly
☐ Search works on the People list
☐ Edit Person saves correctly
☐ Deleting a person works (try it on a test entry you added)
Session 3 — Describe your family by voice expanded
Goal: Try the voice parser. You record a short spoken description of your family (or type one) and Rootkin fills in the form for you — names, dates, places, and relationships. You always review and edit before saving; this is a faster way to build the tree, never a shortcut around your judgment. This is one of Rootkin's two signature features — please give it a real workout.
Where to find it
Open Add Person or Edit Person. In the top-right of the header, tap the ✨ button. (On Add Person there's also a "Describe your family" card inside the Family section.)
Expected: A bottom sheet slides up titled "Describe your family" with a big Tap to record mic button and an "or type instead" option below it.
Mic-first capture
Tap the mic. Grant microphone permission the first time.
Speak naturally — for example: "This is Sarah Lloyd, my wife. She was born June 12, 1982 in Boston. We have a daughter, Emma, born March 3, 2015." Recording stops automatically after 60 seconds, or tap to stop sooner.
The sheet shows a brief recording / parsing state, then a review screen.
Expected: A review screen with a chip for each thing Rootkin found — Sarah as a spouse, Emma as a child, with their dates and places. Each chip has a ✓ (accept) and ✕ (reject). Tap Apply at the bottom to push the accepted values into the form. The audio itself is not saved as a memory — it's transcribed, parsed, and discarded.
Deeper relationships new
The parser is no longer limited to immediate family. One description can lay out a whole branch — grandparents, in-laws, aunts and uncles, cousins, nieces and nephews.
Open ✨ Describe your family and try something multi-generational: "My grandfather Walter Lloyd was born in 1940. His daughter is my mother, Janet. Janet's sister is my aunt Carol, and Carol's son is my cousin Ben."
Expected: All five people appear, connected correctly across generations. People who aren't directly attached to the person you started from show up in an Extended family relationships section so you can see the whole branch before saving.
Adoptive and step relationships new
Try a description that names a non-biological tie: "My adoptive father is Greg Mason. My stepsister is Dana."
Expected: The relationships are tagged as adoptive / step rather than biological. If a name lands as the wrong relationship type, that's worth reporting.
Type fallback
Open ✨ Describe your family again. Choose "type instead," type or paste a description, and tap Parse.
Expected: Same result as voice. Useful when you can't talk out loud, or want to dictate with your OS keyboard.
Check what Rootkin heard
On the review screen, expand the Show transcript panel.
Expected: You see the exact text Rootkin transcribed from your voice (or what you typed). If a chip looks wrong, this tells you whether the mistake was in hearing you or in interpreting you — please note which in any bug report.
Proper-name accuracy
One of the most important things to catch: does the parser preserve family names exactly as you said or typed them?
Try names with accents, hyphens, or non-English characters: "My mother is María José Hernández-Ruiz. My uncle is Dmytro Kovalenko."
Expected: "María" stays "María," not "Maria." Hyphenated surnames stay hyphenated. A garbled or anglicized name is a bug — please report it with exactly what you said and what landed in the form.
Confidence and disambiguation
Watch the chip colors — green chips are high-confidence; yellow ones are flagged for you to double-check. Use Confirm high-confidence to accept the green ones in one tap, or Confirm all.
Describe someone who already exists in your tree. Rootkin should flag the chip as a possible match to that existing person, and let you confirm the match or keep it as a new person.
Edge cases
Type something that isn't a family description ("banana bread recipe"). The sheet should stay open with a polite "couldn't identify any family relationships" message. No crash.
Try a long sibling list ("I have brothers Tom, Dick, Harry, John, Mike, and Bill"). All six should appear.
Try a relationship with no name ("I have a sister"). Expect an unnamed sibling chip flagged low-confidence, prompting you to fill in the name.
Edit Person specifically
Open an existing person (one you added in Session 2) and tap Edit, then ✨. Use it to add family to that person — for example, on your dad's profile: "My dad's brother is Uncle Steve, born 1958 in Chicago."
Expected: An Uncle / Sibling relationship is added, interpreted relative to the person you're editing. Existing fields aren't overwritten unless the parser returned a high-confidence value — and even then they're shown for review, not silently merged.
☐ ✨ button is on the header of both Add Person and Edit Person
☐ Mic capture records, parses, and shows a review screen within a few seconds
Goal: Connect the people you've added. Parents, children, spouses, siblings.
Tap on yourself in the People list. On your detail page, look for Add Relationship.
Add your mother as a parent. Tap Add Relationship, pick "Parent," pick her from the list, Save.
Expected: She appears in the Relationships section of your detail page, labeled "Mother" (if gender is set) or "Parent." The picker shows the person's full name (first + middle + last + suffix) so you can tell duplicate first names apart.
Go to her detail page. She should now show you as a child.
Add your father the same way. Then add your parents as spouses to each other.
Add a sibling relationship — pick a brother or sister, choose "Sibling."
If you have kids, add one as your child.
☐ Adding a parent shows the reciprocal child relationship
☐ Adding a spouse shows up on both partners' pages
☐ Sibling relationships work both directions
☐ Removing a relationship (try it on a test connection) works cleanly
☐ The person picker shows full disambiguating names
Goal: Upload photos for three different people, caption them, set when they were taken, and try the photo timeline. Include at least one HEIC photo from an iPhone if you have one.
Add a photo
Open any person's detail page. Scroll to the Photos section and tap Add Photo.
Expected: An "Add Photo" sheet offers Take Photo and Choose from Library. Grant camera / photo-library permission the first time.
Pick a photo from your library on one person. On another person, use Take Photo and snap a picture.
Expected: Each photo uploads and appears in the grid within a few seconds. If the photo carries an embedded date, the "date taken" field is pre-filled for you.
Tap a photo to open it full-screen. Pinch to zoom, swipe between photos.
Captions and dates new
In the full-screen view, tap Add caption, type a sentence, and save. Reopen the photo — the caption should still be there. Tap Edit caption to change it.
Tap Add date (or Edit date) and set when the photo was taken — useful for scanned old photos. A partial date (just a year, or month + year) is fine.
Expected: The "date taken" is separate from when you uploaded the photo. If the photo is of someone with a known birth date, you may see their age at the time of the photo.
The Photos tab
Go to the Photos tab at the bottom. You should see every photo across the tree in a grid, with a + button to add more.
Switch the sort between Recently added and Date taken.
Expected: "Date taken" groups photos under decade headings ("1990s," "2010s," and "No date yet" for undated ones).
Delete a test photo you added. An Undo bar appears for about 8 seconds before it's gone for good.
HEIC on web
iPhones save photos as HEIC by default. The web app converts HEIC in-browser before upload — please test it if you have any HEIC photos handy.
Open app.rootkin.app in your laptop browser. Sign in, open a person's profile, click Add Photo, and pick a HEIC file (AirDrop or sync it to your laptop first).
Expected: A brief "Converting…" message, then the photo lands as a normal JPEG. No "Unsupported file type" error. The first conversion can take a couple of seconds while it loads the conversion library.
☐ "Take Photo" and "Choose from Library" both work
☐ Photos upload and appear in the grid
☐ Full-screen viewer works (pinch to zoom, swipe between)
☐ Captions save and can be edited
☐ "Date taken" saves; an embedded photo date is pre-filled when present
☐ Photos tab grid and the Add Photo button work
☐ "Date taken" sort groups photos by decade
☐ Deleting a photo shows an 8-second Undo bar
☐ HEIC upload from the web app converts and lands as a normal photo
Goal: Record at least one voice memory, try the prompt library for inspiration, frame it with "Set the scene," check the AI-suggested title, and confirm offline robustness. This is the most important session — voice memories are the heart of Rootkin.
Record & transcribe
On a person's detail page, scroll to the Voice Memories section and tap Add Memory — or use the + button on the Memories tab and pick who the memory is about.
Expected: The very first time you ever record, a consent screen titled "Before you record" appears. Tick "I have consent from everyone whose voice is on this recording" and tap I Agree — Continue. After that first time you won't see the full screen again — just a one-line reminder above the recorder.
Tap Record and tell a short 30–60 second story about that person — a childhood memory, a trait they're known for, anything. You can Pause / Resume, and Retake 30s to redo the last stretch. Tap Stop when done.
Expected: The recording saves immediately and a short details card appears — Title, Narrator, who it's "also about," Topics, and about-when / about-where. You can fill any of these in now or tap Skip. Done stays disabled until the upload and transcription finish.
Return to the person's detail page. The new memory shows a "Transcribing…" indicator for 30–60 seconds, then flips to "Ready."
Read the transcript carefully. Watch especially for proper names — Filipino, Polish, or other family names the app may not know.
Expected: Names are left exactly as you said them, even if they look misspelled. If the app "corrected" a family name to a common English spelling, that's a bug — please report it with the word you actually spoke.
Tap Add Memory again and this time try Upload file instead of recording. Pick any audio file under 10 minutes.
Expected: The uploaded file transcribes the same way as a live recording.
AI-suggested titles new
Rootkin names each memory from what was actually said, instead of a generic "Memory from…" label.
Once a memory is "Ready," open it and look at its title — it should reflect the content of the story.
Below the title, try Regenerate for a fresh title, and Try another title to cycle through the alternates Rootkin already suggested.
Edit the title by hand. Once you've typed your own, Rootkin should stop suggesting and keep yours.
Expected: Suggested titles are short and specific. A title that invents details not in the story, or that's awkward or generic, is worth flagging. (You can turn this off under Settings → Display → "Auto-suggest memory titles.")
Prompt library
If you don't know what to say, Rootkin has a curated library of story prompts ("What's a smell that always makes you think of them?"). They're a way to get the family talking.
Open the Memories tab and tap Browse voice prompts. (You can also reach prompts from Add Memory on a person's page.)
Expected: A scrollable list with filter chips at the top. Filtering by any chip narrows the list.
Tap a prompt you like. The recorder opens with the prompt shown above the record button.
Record a memory using the prompt and finish it.
Expected: The memory is saved with the prompt attached; the memory detail page shows which prompt inspired it.
Set the scene new
After a memory is recorded, you can tell Rootkin who's speaking and what the memory is about. It reads your description alongside the recording's transcript to suggest a narrator, subject, topics, date, and place.
Open a memory you recorded without filling in the details card. You should see a Set the scene banner near the top.
Tap it. A sheet opens — record a short spoken description ("This is my mom talking about her father, around 1985 in Detroit"), or type one, then tap Parse.
Review the chips it proposes — Narrator, About, Topics, When, Where — using the per-chip ✓ / ✕, plus Confirm high-confidence and Confirm all. Tap Apply.
Expected: The accepted values become the memory's narrator / subject / topics / date / place, and the "Set the scene" banner goes away. Expand Show transcript in the sheet to see what Rootkin heard.
Playback
Open a "Ready" memory to reach the player. Play, pause, and tap the waveform to scrub. Try the ±15-second skip buttons and the playback-speed control.
Long-press the waveform to drop a bookmark, then find it in the bookmarks panel.
If you recorded a memory in the web app, open that same memory on your iPhone and confirm it plays. (Web and phone recordings use different audio formats; Rootkin converts web recordings so iPhones can play them.)
Tap Edit transcript, fix a word, and save. The edit should persist when you return.
Expected: Playback is smooth on every device. If audio ever fails to load, the player shows "Couldn't load the audio" with a Retry button — not an endless spinner.
Offline robustness
Voice memories must survive bad networks — capture is local first; upload is best-effort in the background.
Turn on airplane mode. Record a memory and finish it.
Expected: The memory shows up in the person's list immediately with a "pending upload" indicator — no spinner-of-doom. A Pending Uploads list is reachable from Settings → Maintenance.
Turn airplane mode off. Wait 10–30 seconds.
Expected: The memory uploads in the background and transcription kicks in. Quitting and reopening the app should not lose the queued item.
Delete
Delete a test memory. Right after you confirm, an Undo bar appears at the bottom for about 8 seconds.
Expected: Tapping Undo within those 8 seconds keeps the memory; letting the bar run out deletes it for good.
☐ Consent screen appears the first time you ever record; a one-line reminder thereafter
☐ Recording captures audio; Pause / Resume / Retake 30s / Stop all work
☐ The post-recording details card appears; Skip and Done behave
☐ Transcript appears within ~1 minute and reads cleanly
☐ Proper names are preserved as-spoken — not "corrected"
☐ The upload-an-audio-file path works
☐ AI-suggested title reflects the story; Regenerate and Try another title work
☐ A hand-typed title is not overwritten by suggestions
☐ Prompt library is reachable; filter chips narrow the list; a chosen prompt pre-fills the recorder
☐ "Set the scene" banner appears on un-framed memories; the sheet parses and Apply writes the fields
☐ Playback works (play, pause, scrub, ±15s skip, speed, bookmarks)
☐ A memory recorded on the web plays back on an iPhone
☐ "Couldn't load the audio" shows a Retry button — never an endless spinner
☐ Transcript editing saves
☐ Recording offline saves locally and shows a pending-upload indicator
☐ Going back online drains the queue; pending uploads survive an app restart
Goal: Visualize your tree and navigate it. This is the feature most family members react to first.
Diagram and Outline views
Tap the Tree tab. In the top-right you'll see a Diagram | Outline toggle.
Expected:Diagram is the connected family-tree chart with lines between parents, children, and spouses. Outline is an indented list view — each generation nested under the one above. Switching between them is instant.
In Diagram view, pinch to zoom and drag to pan. In Outline view, collapse and expand branches.
Tap any person — a single tap opens their detail page. Long-press a person to get a quick-add strip (+ Parent / + Spouse / + Child / + Sibling, and ✨ Describe your family).
Filters and focus
Try the view filters: Everyone, Ancestors, Descendants, Family. The last three ask you to pick a focus person.
To make those filters default to you, go to Settings → Tree Management → Who am I? and pick yourself. Back on the Tree tab, the filters now center on you automatically.
Centered layout & PDF export new
In Settings → Display, turn on Center parents over children, then return to the Diagram view.
Expected: Each parent or couple sits centered above their children. It's off by default — toggle it back if you prefer the original even-row layout, and tell me which you like better.
On the Tree tab, tap the PDF button. Choose a single-page or multi-page (tiled) export and a page orientation, then generate it.
Expected: A PDF of the current tree view is produced and offered to share / save. Multi-page mode tiles a large tree across several sheets so you can print it as a poster.
☐ Diagram | Outline toggle switches views
☐ Diagram: pinch-to-zoom and pan work; Outline: collapse / expand works
☐ Single tap opens a person; long-press opens the quick-add strip
☐ Tree filters (Everyone / Ancestors / Descendants / Family) work
☐ "Who am I?" sets the default focus for filtered views
☐ "Center parents over children" visibly changes the diagram layout
☐ PDF export produces a shareable file matching the current view
Session 8 — Home, Quick Record & reminders updated
Goal: Make sure the home screen shows the right stuff, that you can record a memory in one tap, and that birthday/anniversary reminders fire.
Home content
Go to the Home tab.
Expected: You see your tree name at the top (with a share-invite chip next to it), a horizontal Quick Record strip, sections for Upcoming Birthdays and Upcoming Anniversaries, and a recent activity feed.
Quick Record new
The horizontal strip near the top of Home is a one-tap recorder launcher for the people you record about most. You can pin up to 8 people; empty slots are filled with recency-weighted suggestions.
From the People tab (or a person's detail page), tap the ⭐ to pin two or three people. You can also long-press a PersonCard to pin.
Go back to Home. Pinned people appear first in the Quick Record strip; unpinned slots show suggestions based on who you've recorded about recently.
Tap one of the strip items.
Expected: The recorder opens with that person pre-selected as the subject. Save a quick memory; it lands on their detail page.
Try pinning a 9th person — you should be told you've reached the cap.
Unpin one of the people from the strip itself (long-press → unpin) and confirm an auto-suggestion takes the slot.
Reminders
If you added anyone with a birthday in the next 30 days, check that they appear under Upcoming Birthdays.
If you added spouses with a marriage date, check that their anniversary shows under Upcoming Anniversaries.
Look at the activity feed. It should show recent changes with timestamps.
Go to Settings and expand Notifications (mobile only; notifications are hidden on web). Turn on Birthday & Anniversary Reminders if it isn't already.
Expected: When the toggle is on, a "Remind me" row of chips appears with options Day of, 1d, 3d, 7d. The summary line below the chips reflects your selection.
Pick at least "Day of" and "1d." Toggle "On This Day" Remembrances on — sends reminders for deceased relatives' birthdays and death anniversaries plus historical wedding anniversaries.
Set Activity Digest to daily or weekly.
Tap Send Test Notification. A sample anniversary reminder fires in ~5 seconds, including the traditional gift theme for the year.
Tap Send Test Digest Notification. You get a sample digest in ~5 seconds with real recent-activity counts.
☐ Quick Record strip is visible on Home and pinned people appear first
☐ Pin cap of 8 is enforced
☐ Tapping a strip item opens the recorder with that subject pre-set
☐ Auto-suggestions fill empty slots based on recent activity
☐ Upcoming Birthdays reflects real people with upcoming birthdays
☐ Upcoming Anniversaries works if marriage dates exist
☐ Activity feed shows recent actions
☐ Day-of / 1d / 3d / 7d chips let you pick multiple reminder windows
☐ Test Notification fires with a traditional-gift anniversary line
☐ Test Digest Notification fires with a realistic count
Goal: Confirm sharing works end to end. Invitations are now reachable from three places, and editors (not just owners) can create them. You'll need a second person — ideally another tester — to accept your invite.
Where to invite from
From Home, tap the share-invite chip next to your tree name.
Or open Settings and, in the Invite section, tap Invite family to [your tree].
Or open Settings → Tree Management → Members and use the invite control there.
Expected: Each opens the same share flow. The system share sheet copies a link or sends through Messages / Mail / etc. The invite is good for 7 days.
Send and join
In the invite sheet, pick the role you want them to have (Owner / Editor / Viewer — Editor is the default and is right for most family members). Optionally enter their Name or Email in the field — both are accepted; the field is not email-only.
Send the invite via your preferred channel.
The family member taps the link or enters the 8-character code. They can sign up and join in one flow — they don't have to already be a member.
Expected: They land in your tree with the role you chose.
As the owner, open Settings → Tree Management → Members. The new member is listed with their role.
Have the new Editor add a person to the tree on their device.
Expected: The person appears on your device in real time (within a few seconds).
Try changing their role to Viewer, then back. Try the Remove button on a test account.
Have an editor (not the owner) try to invite someone via Home or Members.
Expected: Editors can create invitations now (used to be owner-only). Viewers cannot. Only owners can change roles or remove members.
☐ All three invite entry points open the same sheet
☐ Invitee field accepts a name or email — not email-only
☐ A non-member who taps the link can sign up and join in one flow
☐ Invitee is added with the role chosen by the inviter
☐ Viewer can see but not edit; Editor can add/edit but not delete; Owner can do everything
☐ Editor can create invitations (no longer owner-only)
☐ Real-time sync: changes by one member appear on others' devices
Goal: Walk through the Settings tab top to bottom. Settings is organized into collapsible sections to keep the screen short.
Open the Settings tab. Top-to-bottom layout:
Profile — avatar, display name, email.
Current Tree — current tree, member count.
Invite — invite family to this tree, or share Rootkin.
Display — toggles affecting how the tree renders.
Notifications — birthday / anniversary reminders and digests.
Tree Management — switching, members, import / export, copy.
Maintenance — pending uploads, cleanup, reset help tips.
Child Mode — subtitle reads On / Off / Not set up.
Privacy — child protection and the memory-archive email.
Account — sign out, delete account.
About — app version next to the title.
Expected: Tapping a collapsed header toggles it open / closed with a quick animation.
Display
Toggle Show photos in tree off, then open the Tree tab — person cards show initials. Toggle back on.
Toggle Show full birthdates in tree off — cards switch to year only.
Toggle Compact tree nodes on — cards switch to a smaller layout.
Confirm Center parents over children (covered in Session 7) and Auto-suggest memory titles (covered in Session 6) both live here.
Tree Management
Several entry points are tested in other sessions — this confirms they live here:
Switch Tree, Create New Tree, Who am I?, Members.
Export GEDCOM — tap it. The app generates a .ged file (standard genealogy format) and prompts you to share it. Email it to yourself and open it in a text editor — you should see readable data for all your people and relationships.
Import GEDCOMnew — if you have a .ged file from Ancestry, MyHeritage, FamilySearch, or another genealogy app, tap Import GEDCOM and pick it. People and relationships from the file are added to your tree; exact-match duplicates are merged rather than doubled.
Copy this treenew — makes a structure-only copy of the tree (people and relationships, no photos or memories) into a brand-new tree you own. Owners can also allow editors to copy.
Maintenance
Pending Uploads — lists any voice memories still waiting to upload (see Session 6).
Clean Up Orphan Records — tap it. On a healthy tree: "No orphan records found." If anything is dangling, the tool lists what it found and cleaned.
Reset help tips — clears the one-time coach marks so they show again.
Child Mode
Child Mode locks the app into a read-only view so kids (or anyone you hand the phone to) can browse without editing. Exiting requires a 4-digit PIN. (This is different from Child Protection in the Privacy section, which hides children's photos and details from viewers — see Session 11.)
Expand Child Mode → Set Up Child Mode. Enter a PIN twice, tap Save & Turn On.
Try to add a person, edit, delete a photo, or record a memory — all blocked. A banner sits at the top of the app.
Tap the banner, enter your PIN to exit. Try Change PIN and Remove PIN (both require the current PIN).
Privacy
Child Protection — covered in Session 11.
Email me a copy of every memory I record — covered in Session 12. Confirm the toggle is here.
Account
Sign Out — already covered in Session 1.
Delete my account — tap to see the confirmation modal. Please do not actually complete deletion on your main test account — it permanently deletes you, every tree you own, and everything in them. Use a throwaway account if you want to verify the flow.
Expected: The preview modal lists owned trees that would be deleted plus trees you'd just be removed from. Cancel safely at any point.
About
Expand About. Confirm the version (e.g., v1.21.0) — that's the number to include in any bug report.
☐ All Settings sections collapse and expand smoothly
☐ Display toggles persist across app restarts and visibly change the tree
☐ GEDCOM export produces a readable file
☐ GEDCOM import adds people and relationships without duplicating exact matches
☐ Copy this tree produces a new structure-only tree you own
☐ Pending Uploads and orphan cleanup return sensible results
☐ Child Mode setup, lockout, and PIN management work
☐ Delete-account modal previews accurate scope
☐ Version number in About matches what you'd report
Goal: Confirm that photos and identifying details of children in your tree are hidden from viewers who haven't been approved — and that the protection holds at the data layer, not just in the UI. You'll need a second test account for this session (sign up with a spare email, then invite it to your tree as a Viewer).
Part 1 — Enable protection and add a test child
Go to Settings → Privacy → Child Protection. Confirm "Protect photos and info for children" is on (it's on by default).
Check the visibility policy under "Who can see protected children?" The default is "Only close relatives" (auto-derived: parents, step-parents, siblings, grandparents, aunts / uncles). The other options are "Anyone I've added to this tree" and "Only specific people I pick, per child."
People tab → add a test person with a date of birth that makes them under 18 (e.g., January 1, 2015).
Expected: A banner on the detail page notes the person is protected — non-approved viewers see only initials, no photos, no dates. The tree node shows initials and a lock icon.
Part 2 — What an unauthorized viewer sees
Invite the second account as Viewer if you haven't. With the default "Only close relatives" policy, a plain Viewer is not a close relative, so they should be blocked.
On the second device (or a private browser session), open the tree as the Viewer and navigate to the protected person.
Expected: Initials only — no full name, no DOB, no birthplace. A silhouette where a photo would be. Tapping the lock icon explains the photos are protected by the family.
From the second account, try to upload a photo to the protected person.
Expected: Blocked.
Part 3 — Protected gallery on the Photos tab
Add a photo to the protected child (from the owner account). Open the Photos tab as the owner.
Expected: The photo loads correctly in the grid — no broken-image or "Unsupported format" placeholder.
Part 4 — The security test
Skip if dev tools aren't your thing. If you can run it, this is the most valuable check.
Signed in as the unauthorized account in a desktop browser, open dev tools (F12) → Network. Navigate to the protected person. Look for a Firestore request to a path containing private/identity.
Expected: 403 Permission Denied — not a redacted response. The data never reaches the client.
Try copying a protected photo's URL into a new private tab as the unauthorized account.
Expected: The photo doesn't load. Storage rules block direct URL access for protected photos.
Part 5 — Manual override
From the owner account, add another person with no DOB — they aren't auto-flagged. On their detail page, open the protection override and turn on "Protect regardless of age."
Expected: Immediately treated as protected.
Go back to your test child (2015 DOB). Use the override to set "Don't protect this person."
Expected: Protection lifted. The second account can now see them in full.
Part 6 — Protector assignment
Re-enable protection on the test child. On their detail page, find the Protectors row and add the second test account as a Protector.
Expected: The second account can now manage that specific child's privacy settings — but not anyone else's.
☐ Person with DOB under 18 is auto-flagged as protected
☐ Banner and lock icon appear on profile and tree node
☐ Unauthorized viewer sees initials only — no name, dates, or photos
☐ Upload to a protected person is blocked for an unauthorized viewer
Goal: Confirm that the tree owner's email address gets a backup copy of every voice memory automatically, and a weekly digest. This is the simplest backup tier — it just guarantees you'll have your own audio + transcripts, even if something happens to the app or your account.
Confirm Settings → Privacy → "Email me a copy of every memory I record" is on (it's on by default).
You should be the tree owner for this. Make sure your email address on file (Settings → Profile) is one you actually check.
Record a short voice memory (Session 6 covers the flow).
Wait ~1 minute for the memory to finish transcribing.
Expected: An email arrives at the owner's address from archive@updates.rootkin.family with the memory's audio attached (or linked) plus the transcript and metadata (subject person, who recorded, when, the prompt if any). Subject line names the memory.
On the memory detail page in the app, scroll to find the Archive email status row — it should show "Sent" with a timestamp, or "Pending / Failed" if the send didn't succeed yet.
Try a memory with no transcript yet (record something noisy / in a foreign language so transcription fails). The archive email should still arrive — with audio only and a note that transcription wasn't available.
If you've recorded several memories this week, you should also receive a weekly digest email rolling them up. Digest cadence is once-per-week per tree.
☐ Per-memory archive email arrives within a couple minutes of "Ready"
☐ Email contains the audio (attachment or link), transcript, and metadata
☐ Memory detail page shows the archive-email status row
☐ Failed transcription still produces an audio-only archive
☐ Weekly digest email arrives once memories accumulate
A few features are planned for public launch or shortly after. Please don't report these as bugs:
Paid subscriptions. The tier system (Free / Family / Heritage) isn't live yet — during testing, everything is unlocked.
In-app purchases. No payment flow is enabled. You can't accidentally be charged.
Public search. Trees are private by design — there's no "find people in other trees." Intentional.
DNA integration. We don't do DNA and don't plan to.
Multi-turn refinement. One Parse per session. To revise, re-open ✨ Describe your family, re-describe, and re-parse — it replaces the previous parse. Conversational refinement is on the roadmap, not in this build.
Cloud-storage backup tiers. Beyond the per-memory email archive (Session 12), full cloud-storage / Drive / Dropbox backup is planned for later tiers and isn't in this build.
Thank you
You're the difference between a launch that feels polished and one that feels janky. Every small thing you flag now is a thing a future user doesn't hit.
If you want to keep testing between formal rounds, just keep using the app as your real family tree. Issues you run into organically are the most valuable ones.