> For the complete documentation index, see [llms.txt](https://atomic-blend.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atomic-blend.gitbook.io/docs/security/sharing-data-concept.md).

# Sharing Data Concept

## Overview

As of now, sharing data is not supported. However, following the same principle as we use in the single user encryption concept, we can also do it with shared keys amongst the users that needs sharing.

## Concept

To share an item, for the first time (for example, a list of tasks) :

* Generate a random shared data key and a salt
* Generate a random key vault key and salt
* encrypt the shared data key with the vault data key (so other admins can share the key to the user)
* encrypt the vault data key with the user data key (so he have access to the data)
* store the vault salt and encrypted shared data key in database
* re-encrypt all the items with the shared data key and sync with backend
* current admin user have access to the data AND can share the shared data key with anyone he wants

To add a new admin :

* add the new admin to the item
* he registers, then accepts the invite
* admin confirm the join (ie. encrypt the decrypted shared data (with his vault key) with the accepted user public key)
* the new admin have access to the shared item (he decodes the shared data key with his private key)

This is probably incomplete as of now, but it's just to give an idea on how it could work and reassure you that the platform have been designed to accommodate sharing and community stuff.

I've not gone into details of the sharing processes here but diagrams and documentation will be written here as we go.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://atomic-blend.gitbook.io/docs/security/sharing-data-concept.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
