Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add operate category #147

Merged
merged 57 commits into from
Sep 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
ea8e63c
feat: add files to operate
vinzlange Jun 26, 2023
44ab00c
feat: old structur to new structur
vinzlange Jun 30, 2023
32a3a49
fix: main link to scenario table
vinzlange Jun 30, 2023
dd3b3ad
fix: scenario table
vinzlange Jun 30, 2023
c96ec97
fix: prettier error
vinzlange Jun 30, 2023
a407a90
fix: main subchapter pages
vinzlange Sep 11, 2023
5637511
Merge branch 'main' into feature/add-operate-category
vinzlange Sep 11, 2023
e300845
feat: change file and link names
vinzlange Sep 18, 2023
ff4c259
fix: unpublish scenario tables
vinzlange Sep 19, 2023
4cc2cc2
feat: adding Requesting one-time consents
vinzlange Sep 19, 2023
6c07806
feat: add Requesting one-time consents
vinzlange Sep 19, 2023
e7a2aa4
fix: require links
vinzlange Sep 19, 2023
235ec9b
fix: broken links
vinzlange Sep 19, 2023
09f4e47
fix: remove emty redirect_from
vinzlange Sep 19, 2023
7a8cdfe
fix: toc error
vinzlange Sep 21, 2023
82394b4
fix: navigation highlight
vinzlange Sep 21, 2023
005a1c5
fix: missing highlights in navigation
vinzlange Sep 21, 2023
ec831c4
fix: integrate link
stnmtz Sep 21, 2023
063617a
fix: broken link for integrate/connector-api
stnmtz Sep 21, 2023
bd406f0
fix: backslash after privacy mail
stnmtz Sep 21, 2023
a82e868
fix: position of getting started
stnmtz Sep 21, 2023
0f45f4d
chore: rename connector tutorial
stnmtz Sep 21, 2023
742da66
feat: update naming
vinzlange Sep 22, 2023
bc0b7ae
feat: add Integrate landingpage
vinzlange Sep 22, 2023
9c7b60e
feat: update naming
vinzlange Sep 22, 2023
c478cd2
feat: rework explore introduction
vinzlange Sep 22, 2023
e9ab735
fix: update landingpages
vinzlange Sep 22, 2023
99a65f9
fix: remove wrong Link
vinzlange Sep 25, 2023
3fe1d74
feat: update
vinzlange Sep 25, 2023
aface2c
feat: add warning of change
vinzlange Sep 25, 2023
24744af
fix: typo
vinzlange Sep 25, 2023
9021a6d
fix: prettier error
vinzlange Sep 25, 2023
32e1e41
chore: use lowercase enmeshed
stnmtz Sep 27, 2023
54c69de
chore: lowercase enmeshed
stnmtz Sep 27, 2023
32beedf
chore: lowercase enmeshed
stnmtz Sep 27, 2023
2ddf0e5
feat: disable properties
stnmtz Sep 27, 2023
91158de
fix: disable pagination
stnmtz Sep 27, 2023
1953313
fix: remove images of overview page
stnmtz Sep 27, 2023
e454212
chore: rename some scenarios
stnmtz Sep 27, 2023
0f727fd
chore: rename
stnmtz Sep 27, 2023
0d66445
chore: lowercase enmeshed
stnmtz Sep 27, 2023
79737f6
chore: rename
stnmtz Sep 27, 2023
e4b06d8
chore: rename
stnmtz Sep 27, 2023
16f9082
chore: unpublish pages
stnmtz Sep 27, 2023
cd346c8
chore: rename category
stnmtz Sep 27, 2023
18cfb67
chore: update navigation
stnmtz Sep 27, 2023
a32ee33
chore: use lowercase enmeshed
stnmtz Sep 27, 2023
6954dbe
fix: do not show event introduction
stnmtz Sep 27, 2023
b0ae315
chore: move texts within runtime
stnmtz Sep 27, 2023
1f16b37
fix: update excel
vinzlange Sep 27, 2023
aad5ff3
fix: broken link
vinzlange Sep 27, 2023
eb73213
fix: prettier
vinzlange Sep 27, 2023
d4ccbfa
feat: change use case naming
vinzlange Sep 28, 2023
7922dd2
feat: add emty description for use-cases
vinzlange Sep 28, 2023
ad0395c
feat: add navigation sidebar to use-cases
vinzlange Sep 28, 2023
e248500
feat: unpublish non DONE use-cases
vinzlange Sep 28, 2023
38553df
Merge branch 'main' into feature/add-operate-category
vinzlange Sep 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ contact_links:
about: Open bug reports and feature requests.
- name: Enmeshed Discussions
url: https://github.com/nmshd/feedback/discussions
about: Share your feedback with the Enmeshed team.
about: Share your feedback with the enmeshed team.
1 change: 0 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ group :jekyll_plugins do
gem "jemoji"
gem "jekyll-include-cache"
gem "jekyll-algolia"
gem "jekyll-redirect-from"
gem "jekyll-remote-theme"
gem 'jekyll-redirect-from'
end
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# documentation

This is the source code of the Enmeshed Documentation hosted at [enmeshed.eu](https://enmeshed.eu).
This is the source code of the enmeshed documentation hosted at [enmeshed.eu](https://enmeshed.eu).

## Purpose of this documentation

This documentation is meant as an overarching documentation for the whole Enmeshed open source project. It describes overarching concepts whereas the individual repositories provide technical documentation for the respective source code or functionality.
This documentation is meant as an overarching documentation for the whole enmeshed open source project. It describes overarching concepts whereas the individual repositories provide technical documentation for the respective source code or functionality.

## Documentation guidelines

Expand Down
41 changes: 22 additions & 19 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Enmeshed
title: enmeshed
email: info@enmeshed.eu
description: >- # this means to ignore newlines until "baseurl:"
Enmeshed is a home of various open source components, making the digital life
Expand Down Expand Up @@ -77,6 +77,9 @@ collections:
docs_integrate:
output: true
permalink: /:collection/:path
docs_operate:
output: true
permalink: /:collection/:path
docs_scenarios:
output: true
permalink: /:collection/:path
Expand All @@ -87,7 +90,7 @@ collections:
author:
name: "Enmeshed Team"
avatar: "/assets/images/Logo.svg"
bio: "The official Enmeshed Team"
bio: "The official enmeshed Team"
links:
- label: "Website"
icon: "fas fa-fw fa-link"
Expand Down Expand Up @@ -129,16 +132,6 @@ defaults:
comments: false
share: true
related: true
# use
- scope:
path: ""
type: docs_use
values:
layout: single
author_profile: false
sidebar:
- title: "Use Enmeshed"
nav: "docs_use"
# explore
- scope:
path: ""
Expand All @@ -147,7 +140,7 @@ defaults:
layout: single
author_profile: false
sidebar:
- title: "Explore Enmeshed"
- title: "Explore enmeshed"
nav: "docs_explore"
# integrate
- scope:
Expand All @@ -157,8 +150,18 @@ defaults:
layout: single
author_profile: false
sidebar:
- title: "Integrate Enmeshed"
- title: "Integrate enmeshed"
nav: "docs_integrate"
# operate
- scope:
path: ""
type: docs_operate
values:
layout: single
author_profile: false
sidebar:
- title: "Operate enmeshed"
nav: "docs_operate"
# _pages
- scope:
path: "_pages"
Expand All @@ -167,16 +170,16 @@ defaults:
layout: single
author_profile: false

# scenarios
# use
- scope:
path: ""
type: docs_scenarios
type: docs_use
values:
layout: single
author_profile: false
sidebar:
- title: "Scenarios Enmeshed"
nav: "docs_scenarios"
- title: "Use enmeshed"
nav: "docs_use"

# use-cases
- scope:
Expand All @@ -186,7 +189,7 @@ defaults:
layout: single
author_profile: false
sidebar:
- title: "Use-Cases Enmeshed"
- title: "Use-Cases enmeshed"
nav: "docs_use-cases"

# see https://mmistakes.github.io/minimal-mistakes/docs/configuration/#archive-settings for category/tags configuration
Expand Down
141 changes: 73 additions & 68 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
main:
- title: "Use"
url: /use/basics
url: /use
- title: "Explore"
url: /explore
- title: "Integrate"
url: /integrate
- title: "Operate"
url: /operate
- title: "Contribute"
url: /contribute
- title: "Blog"
Expand All @@ -13,14 +15,10 @@ main:
docs_explore:
- title: First things first
children:
- title: "Introduction"
url: /explore
- title: "How does enmeshed work?"
url: /explore/how_does_enmeshed_work
- title: "Example Scenarios"
url: /explore/example-scenarios
- title: "Features"
url: /explore/features
- title: "Use Cases"
url: /explore/use-cases
# - title: "Screens"
# url: /explore/screens
- title: "Frequently Asked Questions"
Expand Down Expand Up @@ -59,7 +57,7 @@ docs_explore:

- title: Expert Corner
children:
- title: "Enmeshed Addresses"
- title: "Addresses"
url: /explore/addresses
- title: "Runtime"
url: /explore/runtime
Expand All @@ -71,80 +69,87 @@ docs_explore:
docs_use:
- title: Getting Started
children:
- title: "Basics"
url: /use/basics
- title: "Security Recommendations for Apps and End-Users"
url: /use/security-recommendations

- title: Scenarios
children:
- title: "App-Scenarios"
url: /use/app-scenarios
- title: "Install the App"
url: /use/install-the-app
- title: "Secure device setup"
url: /use/secure-device-setup

docs_integrate:
- title: Getting Started
children:
- title: "Basics"
url: /integrate/basics
- title: "Connector Tutorial"
url: /integrate/connector-tutorial
- title: "Connector Modules"
url: /integrate/connector-modules
- title: "Access the Connector"
url: /integrate/access-the-connector
- title: "Integration example"
url: /integrate/integration-example
#- title: "Event introduction"
# url: /integrate/event-introduction
- title: "Use Cases"
url: /integrate/use-cases

- title: Setting up the Connector
- title: Manage Requests
children:
- title: "Installation"
url: /integrate/connector-installation
- title: "Configuration"
url: /integrate/connector-configuration
- title: "Troubleshooting"
url: /integrate/connector-setup-troubleshooting
- title: "Error Codes"
url: /integrate/error-codes
- title: "Helm Chart"
url: /integrate/helm-chart

- title: REST API
- title: "Requests over Templates"
url: /integrate/requests-over-templates
- title: "Requests over Messages"
url: /integrate/requests-over-messages
- title: Manage attributes of others
children:
- title: "API Documentation"
url: /integrate/connector-api

- title: Scenarios
- title: "Request persistent consent of peer"
url: /integrate/request-persistent-consent-of-peer
- title: Basic communication
children:
- title: "Connector-Scenarios"
url: /integrate/connector-scenarios

- title: Programming
- title: "Sending Messages"
url: /integrate/sending-messages
- title: Requesting consent of users
children:
- title: "Connector SDKs"
url: /integrate/connector-sdks
- title: "Custom Connector Modules"
url: /integrate/custom-connector-modules
- title: "Requesting one-time consents"
url: /integrate/requesting-one-time-consents
- title: Data Model
children:
- title: "Data Model Overview"
url: /integrate/data-model-overview
- title: "Connector Events"
url: /integrate/connector-events
- title: "Migrate to v2"
url: /integrate/connector-migration-v2
- title: "Requests and RequestItems"
url: /integrate/requests-and-requestitems
- title: "Attribute Values"
url: /integrate/attribute-values
- title: Troubleshooting
children:
- title: "Error Codes"
url: /integrate/error-codes
#- title: "FAQ"
# url: /integrate/faq
#- title: "Support"
# url: /integrate/support

docs_operate:
- title: Connector Setup
children:
- title: "Setup with Docker Compose"
url: /operate/setup-with-docker-compose
- title: "Setup with Helm Charts"
url: /operate/setup-with-helm-charts
- title: "Configuration"
url: /operate/configuration
- title: "Modules"
url: /operate/modules

- title: Operations
- title: Connector Operations
children:
- title: "Connector Operations"
url: /integrate/connector-operations
- title: "Overview of Connector operations"
url: /operate/overview-of-connector-operations
- title: "Security Considerations"
url: /integrate/connector-security
url: /operate/security-considerations
- title: "Privacy Considerations"
url: /integrate/connector-privacy
url: /operate/privacy-considerations
- title: "Performance Considerations"
url: /integrate/connector-performance

- title: Data Model
url: /operate/performance-considerations
- title: Troubleshooting
children:
- title: "Overview"
url: /integrate/data-model-overview
- title: "Request Items"
url: /integrate/data-model-request-items
- title: "Attribute Values"
url: /integrate/data-model-attribute-values

docs_scenarios:

docs_use-cases:
- title: "Troubleshooting Guide"
url: /operate/troubleshooting-guide
#- title: "FAQ"
# url: /operate/faq
- title: "Support"
url: /operate/support
55 changes: 55 additions & 0 deletions _docs_explore/01-how_does_enmeshed_work.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: "How does enmeshed work?"
permalink: /explore/how_does_enmeshed_work
toc: true
---

Enmeshed introduces an overarching solution, securely connecting users and organizations without the use of decentralized technologies like blockchains. However, it makes use of the decentralized mindset, like decentralized identities.

Mature technologies and architectures are used as a base for enmeshed. In combination with state-of-the-art encryption technologies, a complete web stack is used for all features, making enmeshed a very powerful yet portable and modular stack for solving many challenges within various scenarios and industries.

Enmeshed consists of three main components using different layers to communicate between:

## Components

- [App]({% link _docs_explore/50-app.md %}): Mobile and desktop software client for end users or small companies
- [Backbone]({% link _docs_explore/51-backbone.md %}): A central communication component routing messages between identities without having access to the payload
- [Connector]({% link _docs_explore/52-connector.md %}): Client for organizations which is hosted on-site with integration capabilities for business systems

## Layers

- [Backbone Layer]({% link _docs_explore/41-backbone-layer.md %}): Secured, zero-knowledge synchronization layer between App-to-Backbone or Connector-to-Backbone with cross-device capabilities and postal services
- [Transport Layer]({% link _docs_explore/42-transport-layer.md %}): Cross-identity secure communication tunnel App-to-App, App-to-Connector or Connector-to-Connector
- [Consumption Layer]({% link _docs_explore/43-consumption-layer.md %}): Cross-identity payload definitions and normalized data structures (schemas), as well as single-identity business logic implementation and data structures, either for persons or organizational identities.
- [Integration Layer]({% link _docs_explore/44-integration-layer.md %}): Single-identity integration logic to integrate existing business systems primarily for organizational identities.
- [User-Experience Layer]({% link _docs_explore/45-user-experience-layer.md %}): The user experience for enmeshed related features primarily for end users.

The following high-level picture shows the whole ensemble of enmeshed components and layers:

![High level architecture diagram of enmeshed components and layers]({{ '/assets/images/explore/layers.png' | relative_url }}){: .align-center}

The "Zero Knowledge Border" marks the area where data is encrypted or pseudonymized to a point that the Backbone operator has no chance of accessing personal data. The secure communication between identities happens within the [Transport Layer]({% link _docs_explore/42-transport-layer.md %}) based on a normalized enmeshed schema.

## Enmeshed App

End-users are able to install the [enmeshed App]({% link _docs_explore/50-app.md %}) from their favorite app stores for free. It is also available to download for various desktop operating systems.

The App provides the user experience for the user's digital identity. With it, the user can access the features of the transport, content and consumption layers.

It is possible to use multiple identities with the same App. It is also possible to use multiple Apps with one identity.

## Enmeshed Backbone

The [enmeshed Backbone]({% link _docs_explore/51-backbone.md %}) provides the foundation to communicate between the components on the backbone layer. It hosts the central services which are required for a seamless experience across identities and the devices of one identity.

It is an encrypted storage layer for all kind of information. Although the messages, files, tokens, etc. have a certain expiry date, the data is stored on the backbone until this expiry date. Thus, the backbone acts as a data-access, backup and synchronization helper for the identities.

Due to the fact that devices of end-users are not always online, a "technical recipient" needs to be introduced which receives the (encrypted) messages from senders and stores them. The recipients are notified automatically by push channels.

The Backbone is based on a microservice architecture and is highly virtualized with Docker containers. It is thus quite capable to scale vertically and horizontally.

## Enmeshed Connector

The client for organizations is the [enmeshed Connector]({% link _docs_explore/52-connector.md %}). It acts with a separate digital identity of the organization within the network of the organization. Thus, it is in the hands of the corresponding IT department and can be set up next to the organization's business systems using the majority of the features.

The Connector is hosted by a single Docker container and provides a REST API for all features of the transport layer. It can thus be perfectly used for integration purposes. The Connector transparently encrypts or decrypts the respective payload, synchronizes with the Backbone and keeps track of the enmeshed data.
Loading