Login
You're viewing the social.telemetrydeck.com public feed.
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:28 PM

    🧵

    The world needs a secure, open source alternative to Facebook private posting (i.e. to friends only), but nothing on the fediverse really fills the need today, alas. At the Fediforum in June, I gave a short presentation on FriendSafe, a social media system I've written that supports private posting. It's a proof of concept that works today, but it would need major UX work and a security review before it's really ready for widespread use. It has a few other features I haven't seen in other social media yet, and which I'd love to see added to other projects.

    In this thread is that 10-slide presentation, one slide per post. The text in the slides is the same as the text in the posts. The presentation is focused on FriendSafe, but I'm also just trying to get these ideas out there.

    Let's start a conversation. Specifically, how can we move forward to get secure private posting ASAP, with full mobile support, etc.? I think this is critical to let people exit FB.

    @fediforum

    #fediforum #SocialMedia #privacy

    💬 2🔄 12⭐ 10

Replies

  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:29 PM

    1) SECURE, FEDERATED PRIVATE POSTING WITH FRIENDSAFE

    Q: Why yet another federated system?!

    A: None exist with needed privacy features, alas:

    - Posting to friends only, à la FB
    - E2ee with (some) metadata protection
    - Full mobile support
    - Reply controls

    So, I dusted off this project from a few years ago.

    *** Note that I would much rather another more fully-developed project add these features, but I haven’t seen any with them.

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:30 PM

    2) LIMITS OF EXISTING PRIVATE-POSTING SOLUTIONS

    - Friendica, Hubzilla: closest, but limited mobile support, limited e2ee
    - ActivityPub: no e2ee yet, no reply controls, very public*
    - Veilid, SimpleX: possibly, but not much development yet
    - Matrix: more chat than posting, no reply controls, no metadata protection

    Please tell me if I missed any!

    *E2ee in ActivityPub has recently been roughly specified, uses MLS, ready for implementors

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:31 PM

    3) FEATURES UNIQUE (?) TO FRIENDSAFE AMONG FEDERATED SOCIAL MEDIA SYSTEMS

    - E2ee and (some) metadata protection to allow use of untrusted servers
    - Very flexible theme support, allowing third-party themes and full layout control
    - Reply controls, potentially
    - “Anonymous” replies (still seen by original poster)
    - Long-press emoji to magnify-- every app should have this!
    - Tracks read vs. unread posts and replies, can view e.g. only unread posts, or only posts with unread replies

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:33 PM

    4) E2EE AND (SOME) METADATA PROTECTION IN FRIENDSAFE

    - Uses custom protocol, working title: Private Group Message Protocol (PGMP)

    - PGMP is fairly simple and is documented

    - Metadata protection is critical for hiding your social graph; this is important for e.g. activists who want to protect their contacts

    - I would much rather use an existing protocol, but none existed yet to do this (I asked around)

    - Metadata protection comes from onion-like routing, but uses one-to-many asynchronous messages rather than one-to-one synchronous connections (like Tor)

    - Efficient delivery-- only need to upload encrypted message once to send to many recipients

    - Metadata protection is imperfect! Metadata is still visible if attacker controls all servers along the delivery path (think large state-sponsored attacks), or potentially from traffic fingerprinting; this could be improved by adding more servers and longer delivery paths, plus random padding/delays/etc. to mitigate fingerprinting

    Image attached toot
    💬 1🔄 0⭐ 2
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:33 PM

    4b) (cont'd) E2EE AND (SOME) METADATA PROTECTION IN FRIENDSAFE

    - Current e2ee could be improved by adding ratchets to PGMP, both hop-by-hop and end-to-end

    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:34 PM

    5) *** VERY FLEXIBLE THEME SUPPORT ***

    - Themes include HTML template sets for full layout support!
    - UX designers can create themes, users can download/share them
    - Current theme uses side-by-side post layout, but another theme could do e.g. infinite scroll if wanted
    - Would auto-check all templates for security
    - Could standardize template data fields on e.g. property names from schema.org

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:35 PM

    6) REPLY CONTROLS, POTENTIALLY

    - All replies to a post are sent back through OP’s device, allowing full reply controls

    - This is also a weakness, due to the lack of good background process support in iOS and Android: reply delivery is delayed until OP is connected to server

    - Problem could be mitigated by allowing a trusted always-on device to forward replies to recipients

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:36 PM

    7) PRIVATE POSTING MEANS EASIER MODERATION!

    - The only people a user interacts with are their friends and their FoF
    - Presumably, the friend in the middle could mediate conflicts by warning/blocking abusers, etc.

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:37 PM

    8) ANONYMOUS* REPLIES TO POSTS

    - Can reply “anonymously” to a friend’s post
    - OP still sees who you are, but no one else does

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:38 PM

    9) NEXT STEPS

    - Everything here could be improved if there is interest
    - Needs more themes
    - Needs some UX expertise and a security review
    - Other delivery protocols could be plugged in if they support this API:
    send_message(msg, recipient_list)
    - Currently uses Google Firebase for push notifications, but could move to Unified Push
    - Currently sends posts to all friends, but could add support for flexible recipient lists
    - Again, I would love to see other tools add these features instead of creating yet another social media system

    Image attached toot
    💬 1🔄 0⭐ 1
  • James M.jamesmarshall@sfba.social
    Jul 26, 2025, 10:39 PM

    10) FURTHER INFO

    To get FriendSafe app:
    - Android users: friendsafe.net/friendsafe-andr
    - iPhone users: contact me to get on beta list

    Currently running PGMP servers:
    - wss://friendsafe.net/fs-go
    - wss://friendsafe.net/fs

    james@jmarshall.com
    @jamesmarshall@ sfba.social

    Image attached toot
    💬 0🔄 0⭐ 1
  • 💬 1🔄 0⭐ 0
  • James M.jamesmarshall@sfba.social
    Jul 27, 2025, 6:11 PM

    @varx interesting, thanks for the link. I like Cavern's design priorities. Minor thought-- have you considered using push notifications rather than periodic polling of friends' servers? Or do I understand that correctly? It would cut down the latency of conversations, though not when client devices aren't listening (my app has that same problem).

    Anyway, yes, glad to see more people thinking about all this.

    💬 1🔄 0⭐ 0
  • Jul 29, 2025, 2:05 AM

    @jamesmarshall The main self-imposed constraint here (a perhaps quixotic one) is that a Cavern server isn't anything fancier than a generic HTTP server—no custom server software. All the smarts are in the client.

    *But*, this means there's nowhere to push to! So polling is the only option, at least for the baseline protocol.

    My intention is to add some sort of push/subscription/notification option on top of all that that individual journals could opt into, but polling would always be the fallback.

    💬 0🔄 0⭐ 0