{
  "slug": "private-family-photo-sharing",
  "publicDir": "family-sharing",
  "question": "How do I share family photos privately with my family?",
  "method": "primary-docs",
  "checkedAt": "2026-10-26",
  "tools": {
    "python": "3.9.6 (urllib, the fetcher in check.py)",
    "curl": "8.7.1",
    "sips": "sips-316 on macOS 27.0.1",
    "exiftool": "13.55"
  },
  "properties": {
    "viewer_account": "Does a relative need an account to open the album?",
    "app_or_browser": "Does the viewer need the vendor's app, or does a browser work?",
    "access_model": "Is access by invitation, by link, or both?",
    "resolution": "What resolution does the vendor say it keeps?"
  },
  "inputs": [
    "https://about.fb.com/news/2021/11/update-on-use-of-face-recognition/",
    "https://apps.apple.com/us/app/whatsapp-messenger/id310633997",
    "https://family-album.com/en",
    "https://family-album.com/en/premium",
    "https://family-album.com/en/terms",
    "https://faq.whatsapp.com/",
    "https://images-assets.nasa.gov/image/KSC-20220119-PH-CSH01_0011/KSC-20220119-PH-CSH01_0011~orig.jpg",
    "https://policies.google.com/privacy?hl=en",
    "https://support.apple.com/en-us/108314",
    "https://support.google.com/mail/answer/6584?hl=en",
    "https://support.google.com/photos/answer/15235862?hl=en",
    "https://support.google.com/photos/answer/6128838?hl=en",
    "https://support.google.com/photos/answer/6131416?hl=en&co=GENIE.Platform%3DAndroid",
    "https://support.google.com/photos/answer/6220791?hl=en",
    "https://support.google.com/photos/answer/9312312?hl=en",
    "https://support.google.com/photos/answer/9789702?hl=en",
    "https://www.facebook.com/help/1629740080681586",
    "https://www.law.cornell.edu/uscode/text/15/6502",
    "https://www.viallo.app/"
  ],
  "results": [
    {
      "option": "Viallo",
      "property": "viewer_account",
      "value": "No account",
      "quotes": [
        "Anyone with the link can view your photos immediately - no account needed."
      ],
      "url": "https://www.viallo.app/"
    },
    {
      "option": "Viallo",
      "property": "app_or_browser",
      "value": "Any browser, no app",
      "quotes": [
        "Opens on any phone, any browser."
      ],
      "url": "https://www.viallo.app/"
    },
    {
      "option": "Viallo",
      "property": "access_model",
      "value": "Private link, or a direct share to a Viallo user",
      "quotes": [
        "Generate a private link and send it to anyone, or share directly with other Viallo users."
      ],
      "url": "https://www.viallo.app/"
    },
    {
      "option": "Viallo",
      "property": "resolution",
      "value": "Originals kept at full resolution",
      "quotes": [
        "Originals kept at full resolution."
      ],
      "url": "https://www.viallo.app/"
    },
    {
      "option": "Google Photos",
      "property": "viewer_account",
      "value": "No Google Account needed to receive a link",
      "quotes": [
        "If your contact doesn't have a Google Account, you can send them a link or share using another app instead."
      ],
      "url": "https://support.google.com/photos/answer/6131416?hl=en&co=GENIE.Platform%3DAndroid"
    },
    {
      "option": "Google Photos",
      "property": "app_or_browser",
      "value": "No Google Photos app needed",
      "quotes": [
        "You can share photos, videos, albums, and highlight videos with any of your contacts, even if they don't use the Google Photos app."
      ],
      "url": "https://support.google.com/photos/answer/6131416?hl=en&co=GENIE.Platform%3DAndroid"
    },
    {
      "option": "Google Photos",
      "property": "access_model",
      "value": "Link or specific people",
      "quotes": [
        "You can share your albums through a link or directly with someone."
      ],
      "url": "https://support.google.com/photos/answer/9789702?hl=en"
    },
    {
      "option": "Google Photos",
      "property": "resolution",
      "value": "Set by the owner: Original quality keeps it; Storage saver resizes above 16 MP",
      "quotes": [
        "Photos and videos are stored in the same resolution that you took them with no change to their quality.",
        "Photos are compressed to save space. If a photo is larger than 16 MP, it'll be resized to 16 MP."
      ],
      "url": "https://support.google.com/photos/answer/6220791?hl=en"
    },
    {
      "option": "iCloud Shared Albums",
      "property": "viewer_account",
      "value": "No Apple Account, for albums created in iOS 27 or later",
      "quotes": [
        "Friends and family will be able to join and contribute their own photos on the web, even without an Apple Account or Apple device."
      ],
      "url": "https://support.apple.com/en-us/108314"
    },
    {
      "option": "iCloud Shared Albums",
      "property": "app_or_browser",
      "value": "Any device with the link, for albums created in iOS 27 or later",
      "quotes": [
        "You can join a shared album that someone created in iOS 27, iPadOS 27, visionOS 27, or later by opening the link to the album on an Apple or non-Apple device."
      ],
      "url": "https://support.apple.com/en-us/108314"
    },
    {
      "option": "iCloud Shared Albums",
      "property": "access_model",
      "value": "Owner chooses: invited or approved people only, or anyone with the link",
      "quotes": [
        "The album owner can choose in the album's Sharing Options to only allow people they invite or approve to access or allow anyone with the link to join without approval"
      ],
      "url": "https://support.apple.com/en-us/108314"
    },
    {
      "option": "iCloud Shared Albums",
      "property": "resolution",
      "value": "Full resolution from iOS 27",
      "quotes": [
        "Starting in iOS 27, iPadOS 27, macOS 27, Shared Albums adds support for full-resolution sharing"
      ],
      "url": "https://support.apple.com/en-us/108314"
    },
    {
      "option": "FamilyAlbum",
      "property": "viewer_account",
      "value": "An account; the album admin can register it for a browser viewer",
      "quotes": [
        "the User shall agree to the terms and conditions of the TOU and register an account as prescribed by the Company",
        "an account of a Browser-version Browsing User, as defined below, may be registered by the Admin User rather than by the Browser-version Browsing User him/herself"
      ],
      "url": "https://family-album.com/en/terms"
    },
    {
      "option": "FamilyAlbum",
      "property": "app_or_browser",
      "value": "The app, or a browser version for viewers the admin invites",
      "quotes": [
        "referring to the Browsing Users who are invited by the Admin User as Browser-version Browsing Users"
      ],
      "url": "https://family-album.com/en/terms"
    },
    {
      "option": "FamilyAlbum",
      "property": "access_model",
      "value": "Invitation only",
      "quotes": [
        "Only family members you invite can see your album."
      ],
      "url": "https://family-album.com/en"
    },
    {
      "option": "FamilyAlbum",
      "property": "resolution",
      "value": "Not stated for photos; videos 1280 x 720 or 1920 x 1080 by paid plan",
      "quotes": [
        "Max Resolution Premium Family Pro 1920 x 1080 Premium Family 1280 x 720"
      ],
      "url": "https://family-album.com/en/premium",
      "note": "The premium page states a maximum resolution for videos only; no readable FamilyAlbum page states one for photos."
    },
    {
      "option": "WhatsApp",
      "property": "viewer_account",
      "value": "A WhatsApp account on a phone number",
      "quotes": [
        "All you need is your phone number - no usernames or logins needed."
      ],
      "url": "https://apps.apple.com/us/app/whatsapp-messenger/id310633997",
      "note": "WhatsApp's own description in its App Store listing."
    },
    {
      "option": "WhatsApp",
      "property": "app_or_browser",
      "value": "Not checked",
      "quotes": [],
      "url": "https://faq.whatsapp.com/",
      "note": "faq.whatsapp.com and www.whatsapp.com answered HTTP 400 to curl on 2026-10-26."
    },
    {
      "option": "WhatsApp",
      "property": "access_model",
      "value": "Not checked",
      "quotes": [],
      "url": "https://faq.whatsapp.com/",
      "note": "Same: no readable WhatsApp help page."
    },
    {
      "option": "WhatsApp",
      "property": "resolution",
      "value": "Not checked",
      "quotes": [],
      "url": "https://faq.whatsapp.com/",
      "note": "Same: no readable WhatsApp help page."
    },
    {
      "option": "Facebook private groups",
      "property": "viewer_account",
      "value": "Not checked",
      "quotes": [],
      "url": "https://www.facebook.com/help/1629740080681586",
      "note": "facebook.com/help answered HTTP 400 to curl on 2026-10-26, mbasic.facebook.com too."
    },
    {
      "option": "Facebook private groups",
      "property": "app_or_browser",
      "value": "Not checked",
      "quotes": [],
      "url": "https://www.facebook.com/help/1629740080681586",
      "note": "facebook.com/help answered HTTP 400 to curl on 2026-10-26, mbasic.facebook.com too."
    },
    {
      "option": "Facebook private groups",
      "property": "access_model",
      "value": "Not checked",
      "quotes": [],
      "url": "https://www.facebook.com/help/1629740080681586",
      "note": "facebook.com/help answered HTTP 400 to curl on 2026-10-26, mbasic.facebook.com too."
    },
    {
      "option": "Facebook private groups",
      "property": "resolution",
      "value": "Not checked",
      "quotes": [],
      "url": "https://www.facebook.com/help/1629740080681586",
      "note": "facebook.com/help answered HTTP 400 to curl on 2026-10-26, mbasic.facebook.com too."
    }
  ],
  "sources": [
    {
      "id": "google_link_after_removal",
      "post_use": "removing someone from a Google Photos album does not stop the link",
      "quotes": [
        "If you remove someone from a shared album, but have link sharing turned on, anyone with the original link can still view the album."
      ],
      "url": "https://support.google.com/photos/answer/9789702?hl=en"
    },
    {
      "id": "google_face_groups",
      "post_use": "Google Photos groups faces, and the owner can turn it off",
      "quotes": [
        "To easily search and manage your photos, you can apply a label to people or pets that appear in photos grouped by Google Photos.",
        "You can start or stop grouping photos based on faces that appear in your photos"
      ],
      "url": "https://support.google.com/photos/answer/6128838?hl=en"
    },
    {
      "id": "google_text_search",
      "post_use": "Google Photos searches text inside photos",
      "quotes": [
        "exact-text matches in filenames, camera models, captions, or text within photos"
      ],
      "url": "https://support.google.com/photos/answer/15235862?hl=en"
    },
    {
      "id": "google_no_photo_ads",
      "post_use": "Google says it does not personalise ads from Google Photos content unless the user opts in",
      "quotes": [
        "We don't show you personalized ads based on your content from Drive, Gmail, or Google Photos, unless you choose to make data from these services available to other Google services that support personalized ads."
      ],
      "url": "https://policies.google.com/privacy?hl=en"
    },
    {
      "id": "google_15gb",
      "post_use": "15 GB free per Google Account",
      "quotes": [
        "Each Google Account comes with up to 15 GB of storage. You can use this for: Gmail Google Drive Google Photos"
      ],
      "url": "https://support.google.com/photos/answer/9312312?hl=en"
    },
    {
      "id": "meta_face_recognition",
      "post_use": "Meta shut down Face Recognition on Facebook in November 2021",
      "quotes": [
        "We're shutting down the Face Recognition system on Facebook.",
        "People who've opted in will no longer be automatically recognized in photos and videos"
      ],
      "url": "https://about.fb.com/news/2021/11/update-on-use-of-face-recognition/"
    },
    {
      "id": "familyalbum_free",
      "post_use": "FamilyAlbum describes its free version as having no fees or storage limits",
      "quotes": [
        "Upload your family photos and videos at high speed, with no fees or storage limits."
      ],
      "url": "https://family-album.com/en"
    },
    {
      "id": "gmail_25mb",
      "post_use": "Gmail personal attachment limit",
      "quotes": [
        "For personal Gmail accounts, the limit is 25 MB."
      ],
      "url": "https://support.google.com/mail/answer/6584?hl=en"
    },
    {
      "id": "coppa",
      "post_use": "COPPA consent duty",
      "quotes": [
        "It is unlawful for an operator of a website or online service directed to children",
        "to obtain verifiable parental consent for the collection, use, or disclosure of personal information from children"
      ],
      "url": "https://www.law.cornell.edu/uscode/text/15/6502"
    }
  ],
  "lab": [
    {
      "id": "gmail_attachment_count",
      "what": "How many test photos fit in one 25 MB Gmail attachment limit (25,000,000 bytes)",
      "recipe": "NASA public-domain photo KSC-20220119-PH-CSH01_0011, cropped to 5120 x 3840 with sips, resized to 4032 x 3024 JPEG at quality 90 and to 8064 x 6048 HEIC, metadata replaced with exiftool",
      "source": "https://images-assets.nasa.gov/image/KSC-20220119-PH-CSH01_0011/KSC-20220119-PH-CSH01_0011~orig.jpg",
      "files": [
        {
          "name": "photo-12mp.jpg",
          "pixels": "3024 x 4032",
          "bytes": 4903332,
          "bytes_display": "4,903,332",
          "sha256": "f067462c22d00aaeed2e216ae80ec61d96d398ccf0a566e0ab659f6d3f6a1b91",
          "per_25mb": 5
        },
        {
          "name": "photo-48mp.heic",
          "pixels": "6048 x 8064",
          "bytes": 7085973,
          "bytes_display": "7,085,973",
          "sha256": "ab731ee397c9ed7ae556e29fc64c9e834cc3f02a70b77927d0fbb23e64f1c0a5",
          "per_25mb": 3
        }
      ]
    }
  ],
  "notes": {
    "network": "The checking machine exited to the internet in Germany, so pages that localise by location served euro prices. No US price was read from a web page; the post's Viallo prices come from packages/shared/src/subscription/currency.ts (usd 6.99 and 17.99 monthly).",
    "whatsapp": "faq.whatsapp.com, www.whatsapp.com and blog.whatsapp.com answered HTTP 400 to curl. Only the App Store listing, whose description WhatsApp writes, could be read.",
    "facebook": "facebook.com/help and mbasic.facebook.com/help answered HTTP 400 to curl; no Facebook help page about group photos was read, so the post compares nothing about Facebook groups cell by cell.",
    "familyalbum": "help.family-album.com answers HTTP 403. The terms of use, the home page and the premium page were readable.",
    "quote_matching": "Pages are reduced to text (scripts and tags removed, entities decoded, curly quotes and dashes mapped to ASCII, whitespace collapsed) and each quote must appear in that text, case-insensitive.",
    "google_variant": "Google serves an Android and a computer variant of answer 6131416; the cited URL selects the Android one, which carries both quotes."
  }
}
