# Meeting Place

> Toolkits for building messaging applications that provide safe and secure methods to discover, connect, and communicate with individuals, businesses, and AI agents.

Meeting Place is an implementation of Affinidi Messaging that leverages the DIDComm v2.1 protocol, built on top of Decentralised Identifiers (DIDs). Unlike traditional identifiers such as email addresses or phone numbers, DIDs act as both the identity and the communication endpoint, enabling secure, private, and anonymous connections between parties. This approach gives users full control over their identity while ensuring confidentiality and integrity in message exchange.

## Key features

- Support for multiple digital identities, ensuring privacy and anonymity across different interactions.

- Secure, customisable invitations for connecting with others, enabling privacy-preserving discovery.

- Spam reduction by requiring user consent before establishing a connection.

- End-to-end encrypted communication using DIDComm v2.1.

- Seamless integration with Self-Sovereign Identity (SSI), including Verifiable Credentials and Presentations.

## Key components

### Identity

Unlike traditional chat apps that use email or phone numbers, Meeting Place allows users to maintain multiple identities for different contexts. Each connection, whether direct or in a group, creates a unique set of DIDs, enhancing privacy by separating identity contexts.

Each connection established with another participant, whether direct or in a group chat, generates a unique set of Decentralised Identifiers (DIDs). This dynamic DID assignment enhances user privacy by separating identity contexts across different interactions.

Example:

- Alice and Bob connect directly using professional identities for a project.

- A a unique set of DIDs is generated for each participant and for the secure channel.

- Later, Alice joins a separate group chat for another project using the same professional identity.

- A new DID is created for Alice in this context and another for the group channel.

This approach prevents identity reuse across conversations, improving privacy.

### Discovery

The Control Plane API enables discovery and secure channel creation using DIDComm v2.1. Participants can publish a connection offer or invitation with one of their identities (e.g., gaming persona) for direct or group chat.

An invitation includes a description, validity, and optional vCard details.

Other participants claim the invitation using a passphrase, sending a connection request to the publisher. The publisher must approve the request before a secure channel is created.

When the channel is established, the system generates:

- Channel DID to establish the connection.

- DIDs for each participant using their selected identity.

  [Deploy Control Plane API](/products/affinidi-elements/affinidi-messaging/meeting-place/deployment-options/control-plane-open-sourced.md) locally from source.

## Meeting Place SDKs

The Meeting Place SDK includes modular packages that can be used independently. For example, you can use only the Mediator SDK to enable DIDComm-based messaging without integrating the full Meeting Place app via the Chat SDK.

    [

        Chat

Built on top of the core Meeting Place SDK that utilises Decentralised Identifier (DID) and DIDComm Messaging v2.1 protocol to send secure and private messages with end-to-end encryption.

    ](/dev-tools/meeting-place/chat.md)

    [

        Core

The core package implementing the Control Plane and Mediator SDK, including managing multiple digital identities for better privacy and anonymity in digital interactions.

    ](/dev-tools/meeting-place/core.md)

    [

        Mediator

Enables participants to connect and authenticate with mediators, such as the DIDComm mediator, to send messages and connection offers. Mediator does not store permanently the messages and the content is not visible to the mediator.

    ](/dev-tools/meeting-place/mediator.md)

    [

        Credentials

A Dart SDK for exchanging Relationship cards (R-Cards), Verifiable Relationship Credentials (VRCs), and optionally proving human liveness without sharing biometric data via Human Zero Knowledge Proof (Human ZKP) . Built on DIDComm v2.1 and W3C Verifiable Credentials.

    ](/dev-tools/meeting-place/credentials.md)

    [

        Control Plane

Enables participants to publish connection offers, allowing other participants to connect and communicate with them securely. It is an interface that integrates with the Affinidi Meeting Place API service.

    ](/dev-tools/meeting-place/control-plane.md)

The Meeting Place SDK also leverages other Affinidi open-source SDKs, such as [DIDComm for Dart](https://github.com/affinidi/affinidi-didcomm-dart), which sends DIDComm messages, and [SSI for Dart](https://github.com/affinidi/affinidi-ssi-dart), which manages decentralised identity and associated cryptographic keys.

## What’s next

  [Integrate Meeting Place into your Flutter project](/products/affinidi-elements/affinidi-messaging/integration-guides/meeting-place.md)

  [Explore different deployment options of DIDComm Mediator](/products/affinidi-elements/affinidi-messaging/didcomm-mediator/deployment-options.md)

  [Run Affinidi Meeting Place Reference App for Flutter](/products/affinidi-elements/affinidi-messaging/meeting-place/run-reference-app.md)


## Pages in this section

- [Deployment options](/products/affinidi-elements/affinidi-messaging/meeting-place/deployment-options.md): List of deployment options available to integrate with Meeting Place.



- [Run reference app](/products/affinidi-elements/affinidi-messaging/meeting-place/run-reference-app.md): Run the reference app locally to explore and learn more about Meeting Place.



