Introducing People & Messages: Private Collaboration With Your AI in the Room
Until now, ARMES has been a private space between you and your AI. Your agents, your context, your conversations. That relationship is powerful, and it's not going anywhere.
But ambition rarely lives in a vacuum. The projects that matter most tend to involve other people: a co-author, a teammate, a client, a study partner, an accountability buddy. And every time you needed to bring a human into the loop, you left ARMES to do it.
People & Messages change that. For the first time, you can find other ARMES users, connect with them, have private conversations, create group chats, and invite your AI agents right into the room so everyone benefits from on-demand AI help. All of it encrypted at rest. All of it under your control.
This is the foundation for human-to-human collaboration in ARMES, built on the same principle that defines everything else we ship: privacy first, power second, and honesty about both.
Privacy is the architecture, not the afterthought
Most social features start open and add privacy controls later. We went the other way.
Every ARMES user starts invisible. When you create an account, nobody can find you, message you, or even confirm you exist on the platform. There is no public directory, no suggested-friends list, no browse page. If someone wants to find you, they need to know your exact handle or email, and you have to have enabled that.
This is deliberate. We believe that in a tool where people bring their most consequential thinking, the default should be silence, not exposure. You opt into visibility at your own pace, on your own terms.
Here is how the layers work:
| Layer | What it is | The default |
|---|---|---|
| Identity | Your unique @handle | You choose it in Settings |
| Discoverability | Who can search for you | Unlisted (nobody) |
| Connections | Mutual friend-style links | None until you request or accept |
| Messaging | DMs and group chats | Only with connections |
| Agents | AI in the conversation | Only with everyone's consent |
Each layer requires the one before it. You cannot skip ahead. That means no cold DMs from strangers, no surprise agents, no passive exposure to people you have not chosen to connect with.
Your handle: a stable, private identity
Your @handle is your unique identifier across ARMES. It appears in conversations, in @mentions, and it is the primary way other people find you.
Unlike email, your handle reveals nothing personal. Unlike a display name, it is unique and stable, so when someone connects with @jess_designs, they know it is you every time. You set it once in Settings and it is yours. Format is simple: lowercase letters, numbers, and underscores, 3 to 30 characters, starting with a letter or number.
Discoverability, the question of who can even search for you, has three settings you pick from:
- Unlisted (the default) — you are completely invisible to search. You can still send connection requests if you know someone else's handle.
- By handle — someone who knows your exact @handle can find you.
- By handle or email — findable by your exact handle or your email address.
No matter what you choose, all lookups are exact-match only. There is no fuzzy search, no partial match, no directory to scroll through. Someone types your handle precisely or they get nothing.
Connections: the gate that keeps messaging consensual
Connections are the social graph, a mutual, friend-style link between two people. You request a connection; the other person accepts; now you can message each other.
Finding someone. Go to the People page, open the Find tab, and search by exact handle or email. If the person exists and their discoverability allows it, their profile card appears. If not, for any reason, the result is simply "not found." The app intentionally gives no hint about why someone is not found, whether they do not exist, are unlisted, or have blocked you. The response is always the same.
Requesting and accepting. Tap Connect to send a request. The other person sees it in their Requests tab and can Accept or Decline. If both of you send requests at the same time, the system auto-accepts. You are immediately connected.
Silent declines. If someone declines your request, you will never be told. From your perspective, the request stays pending. This prevents the social pressure and awkwardness of visible rejection. There is a seven-day cooldown before you can re-request the same person.
Blocking. Blocking someone is thorough. They can no longer find you, message you, or even confirm you exist. No notification is sent. Only the blocker can undo it.
The People page has four tabs to keep everything organized: Connections (your network, with a Message button on each one), Requests (incoming and outgoing), Find (the search), and Blocked (with an Unblock option).
DMs: private, encrypted, one-to-one
Once you are connected with someone, tap Message on their connection card and you are in a DM. Each pair of connected users shares a single conversation thread, so you never accidentally create duplicates.
DMs are the most private space in the app. Every message is encrypted at rest with a key unique to that conversation, using AES-256-GCM (authenticated encryption). The key itself is wrapped by a master key and stored securely. Content is decrypted only when you load the thread and is never written to logs or included in push notifications. Push shows only the sender's name and "New message."
The Privacy & Access panel (the shield icon in every DM) tells you exactly what that means in plain language: who can read the conversation, how it is protected, and what agents are present. We will come back to agents shortly.
If you remove a connection or someone blocks you, the DM thread freezes. You can still see the history, but neither side can send new messages until you reconnect.
Group chats: bring the team together
When a conversation involves more than two people, create a group. From the Messages inbox, tap New group, name it, select connections to invite, and choose a history policy:
- Full history — new members who join later can read everything from the start.
- From join only — new members only see messages sent after they join, enforced at the database level, not just hidden in the UI.
Invites go out immediately. Each invitee sees the invitation pinned at the top of their Messages inbox and can Accept or Decline.
Groups support up to 25 people and up to 5 agents. The group owner controls policies like whether members can invite others and whether members can add agents. Roles work how you would expect: Owner can do everything, Admin can manage members and agents, and Member can send messages and @mention.
Every group's Room Settings panel includes the same honest encryption note: "Messages are encrypted at rest with a key unique to this group. Only the members listed above can read them."
The part only ARMES can do: agents in the room
This is where collaboration in ARMES becomes something no other messaging tool offers. Your AI agents can join your conversations as transparent, visible participants.
An agent in a conversation works exactly like it does in your solo chats: it has context, it streams responses, and it follows its configured behavior. But now it is doing that inside a shared space where multiple humans can see and interact with it.
Adding an agent to a group. Open Room Settings, scroll to Agents, tap Add agent, and pick from your installed bots. If the bot supports multiple modes, choose one. The agent joins immediately and is visible to every member.
Adding an agent to a DM. DMs have a stricter consent model, because they are the most private space. When you add an agent, the other person sees a consent card and must explicitly Accept before the agent can read a single message. The app states it clearly: "The other person must approve before your agent can read this conversation."
Invoking an agent. Once an agent is in the room, anyone can @mention it by its slug: @research_bot can you summarize the last few messages? The composer autocompletes both human handles and agent slugs. Up to three agents can be invoked in a single message.
The agent streams its response in real time. You see a "thinking" indicator, then the reply appears word by word, clearly styled with an "Agent" badge so there is never any ambiguity about who is human and who is AI.
What agents see, and what they do not. Agent context is carefully scoped:
- Agents only see messages sent after they joined, never the history before them.
- Context is bounded: up to 30 messages or 8,000 characters, whichever comes first.
- Other participants are identified by display name and handle only, never by user ID or private information.
- Memory is forced off in shared conversations. The agent does not build cross-session memory from group or DM messages.
Every agent is a visible member. In both the group member list and the DM transparency panel, each agent shows its name, its @slug, who brought it, and the date it joined, because it can only see messages from that point forward. There are no hidden listeners. If an AI is in your conversation, you can see it, see who added it, and know exactly what it can access.
Reactions and reply threading
Conversations are not just walls of text. You can react to any message with one of six emoji: thumbs up, heart, laugh, surprised, sad, fire. Reactions are visible to everyone with a count and a highlight if you have reacted.
You can also quote-reply any message. Tap Reply on a message, and your response shows a preview of the original above your text. Tap the preview to scroll to the original. If the original was deleted, the preview honestly shows "Message deleted."
These small interactions make group conversations dramatically more usable. Threading keeps multiple topics from becoming noise, and reactions let you acknowledge a message without adding clutter.
Message controls: notifications, read receipts, deletion
Notification preferences are per-conversation. Set any thread to All (every message), Mentions (only when someone @mentions your handle), or Muted. This is especially useful in busy groups where you only need to respond when called on.
Read receipts update automatically when you open a thread, so others know you have seen the latest messages.
Deleting a message destroys the encrypted content permanently. Both sides see a "Message deleted" placeholder so the timeline stays coherent, but the actual data is gone. This is not a "hide" — the ciphertext is replaced with null. The content cannot be recovered.
How encryption works, and what it does not do
We believe in being honest about security rather than marketing it. Here is the straightforward truth.
Every conversation gets its own AES-256 data key at creation time. Every message is encrypted with AES-256-GCM using that key. Each conversation's messages are encrypted with a different key, so one conversation's breach cannot decrypt another. Messages are decrypted only when a participant loads the thread and are never stored in plaintext.
This is server-side encryption at rest, not end-to-end encryption. The server decrypts messages when you load them. The Transparency Panel and Room Settings say this plainly. We aspire to end-to-end encryption in the future, and the architecture is built to support it, but the current model is server-side. We will not pretend otherwise.
Because content is encrypted, server-side search is off for conversations. That is a trade-off we chose to make, and the app tells you about it.
Decrypted content lives in memory only on your device. When you close a thread, decrypted messages are not written to local storage. The inbox is cached for fast loading, but full message content is always fetched and decrypted fresh.
Reactions are not encrypted. They are treated as lightweight interaction signals, not content. Message metadata (mentions, timestamps, participant data) is also unencrypted. Only the message body is protected.
If someone reports a group, the app discloses clearly: "Reported content may be decrypted for admin review." That is the only circumstance where admin access to message content occurs, and it is stated upfront.
Real ways people will use this
- A team with a shared agent. Create a group, bring in your research agent, and now everyone can @mention it for summaries, fact-checks, or drafts, right where the conversation is happening.
- A creative partnership. You and a co-author share a group, add an editing agent, and both of you @mention it for feedback. Shared AI help, full transparency.
- A study group. Classmates create a group, add a research agent, and anyone can ask it to explain a concept. The answer is visible to everyone.
- A client DM. Message your client directly inside ARMES. When you need to draft a response, bring in your agent, with the client's explicit consent.
- An accountability partner. Daily check-ins over DM. Add a goal-tracking agent to keep you both honest.
- The privacy-first user. Stay unlisted, connect only with people you know, review the Transparency Panel to see exactly who has access, and use "From join only" history in groups. Full control over your social footprint.
Getting started
Setting up takes about two minutes:
- Claim your handle. Go to Settings, open the People section, and set your @handle.
- Enable discoverability. In the same section, choose "By handle" so people who know your handle can find you, or stay Unlisted if you prefer to send requests yourself.
- Find a friend. Open the People page, go to the Find tab, type their exact handle, and tap Connect.
- Start a conversation. Once they accept, tap Message on their connection card. You are in.
- Add an agent. In a DM, open the Privacy panel. In a group, open Room Settings. Tap Add agent and pick one of your bots.
Share your handle directly with the person you want to connect with. It is the fastest path.
This is just the beginning
People & Messages are the foundation. This is the first version of human-to-human collaboration in ARMES, and it is designed to grow. The privacy architecture, the connection graph, the conversation substrate, the agent integration model, they are all built for what comes next.
For now, this is a clean, private, encrypted way to bring other people into the ARMES experience you already rely on, and to bring your agents into the conversations where they can help everyone in the room.
Or start free — no credit card required. Same connections, same encrypted messages, same agents in the room.
Connect. Message. Bring your agents along.
Written by
ARMES Team
From the team building ARMES — private AI that puts every frontier model in one place.