Skip to content

Create docs page for ephemeral_verifications.adoc #187

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

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,81 @@
= Ephemeral verifications

TBD
== Understand the basics

In Decidim, there are mainly two types of participants:

- One-time participants: Users who access the platform for a single action, such as voting in participatory budgets, and don't return.
- Recurrent participants: Users who engage regularly in different participatory processes.

For one-time participants, the registration and verification process can be a barrier, leading to incomplete participation. To address this, Decidim introduces the Ephemeral Verification Method, allowing users to verify their identity and participate without registering an account.

=== Purpose

The Ephemeral Verification Method is designed to streamline participation for one-time users by enabling direct verification without requiring account creation. **This feature is intended for limited durations** **during a specific participatory process**, such as a voting phase of participatory budgeting.

Check warning on line 14 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('is designed'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('is designed').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 14, "column": 35}}}, "severity": "INFO"}

Check warning on line 14 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('is intended'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('is intended').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 14, "column": 177}}}, "severity": "INFO"}

=== How it works?

This feature allows participants to participate without registering on the platform, by verifying their identity with the system chosen by the organisation. The key features are:

- **Direct Verification Without Registration:** Participants can verify themselves and complete their action without signing up.
- **Configurable at a component level:** Administrators can enable or disable ephemeral verification for specific components, as all the authorizations methods works.

Check warning on line 21 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.WordList] Use 'turn off' or 'off' instead of 'disable'. Raw Output: {"message": "[Google.WordList] Use 'turn off' or 'off' instead of 'disable'.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 21, "column": 71}}}, "severity": "WARNING"}
- **Ephemeral session**: A temporary session is opened when participants are verified. This session will only allow participants to complete actions in the specific component. If the ephemeral user wants to quit the component, the session will be closed.

Check warning on line 22 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('is opened'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('is opened').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 22, "column": 46}}}, "severity": "INFO"}

Check warning on line 22 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('are verified'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('are verified').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 22, "column": 74}}}, "severity": "INFO"}

Check warning on line 22 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Will] Avoid using 'will'. Raw Output: {"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 22, "column": 101}}}, "severity": "WARNING"}

Check warning on line 22 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Will] Avoid using 'will'. Raw Output: {"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 22, "column": 240}}}, "severity": "WARNING"}

Check warning on line 22 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('be closed'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('be closed').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 22, "column": 245}}}, "severity": "INFO"}
- **Focus mode:** A focus mode is enabled when doing the restricted action by ephemeral, so we keep the participant focus on the main action.

Check warning on line 23 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Passive] In general, use active voice instead of passive voice ('is enabled'). Raw Output: {"message": "[Google.Passive] In general, use active voice instead of passive voice ('is enabled').", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 23, "column": 32}}}, "severity": "INFO"}

Check warning on line 23 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.We] Try to avoid using first-person plural like 'we'. Raw Output: {"message": "[Google.We] Try to avoid using first-person plural like 'we'.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 23, "column": 93}}}, "severity": "WARNING"}
- **Link to an Existing Verification Method:** Ephemeral verification must be linked to a pre-existing verification method (for example an organizational census).
- **Revoking Prior Verifications:** When enabling ephemeral verification, all previous verifications are revoked to prevent verification conflicts.
- **Retrieving the ephemeral session**. So ephemeral participants can verify again and logging with the ephemeral session. So they can see their votes and modify it.

== Configuration

To enable Ephemeral Verification you need to follow these steps:

1. Access to the system panel.
2. Enable the ephemeral-verification method.
3. Link it to an existing verification method (for example organization census).
4. Go to the admin dashboard.
5. Enable the ephemeral-verification permissions in a component.
6. Confirm the action, which will revoke all current verifications.
7. Great! You have enabled the ephemeral verification for a specific component.

Check failure on line 38 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Exclamation] Don't use exclamation points in text. Raw Output: {"message": "[Google.Exclamation] Don't use exclamation points in text.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 38, "column": 4}}}, "severity": "ERROR"}

== Examples

To better understand how this feature works, we explain the different flows and edge-cases as follows:

=== Flow 1: Unregistered visitant

1. As an unregistered visitant, I click on the restricted action
2. Then, I’m Prompted with verification form and I filled it with my data
3. So, I’m successfully verified
4. Then, a temporary session is open
5. And I gain access to the restricted action
6. When I completed the task (i.e. voting in a participatory budget). Then I can quit the focus mode and the temporary session will be closed.

Check failure on line 51 in docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc

View workflow job for this annotation

GitHub Actions / prose

[vale] reported by reviewdog 🐶 [Google.Latin] Use 'that is' instead of 'i.e.'. Raw Output: {"message": "[Google.Latin] Use 'that is' instead of 'i.e.'.", "location": {"path": "docs/en/modules/admin/pages/participants/authorizations/ephemeral_verifications.adoc", "range": {"start": {"line": 51, "column": 31}}}, "severity": "ERROR"}

=== Flow 2: Registered participant with logged-in session

1. As a registered participant logged in, I click on the restricted action
2. Then, I'm prompted with the verification form and I filled it with my data
3. So, I’m successfully verified
4. Then I gain access to the restricted action
5. Then, the verification is saved in my profile

=== Edge cases

==== Flow 3: Preventing Verification Conflicts

1. As a visitor, I attempt to verify using the data of a registered participant who has already been verified.
2. The system detects a verification conflict.
3. Then, I’m prevented from proceeding with the verification.

==== Flow 4: Merging Ephemeral and Registered Accounts

1. As an ephemeral user, who has completed the voting process. And closed their ephemeral session.
2. Register on the platform.
3. Attempt to verify yourself using the same personal information.
4. The system retrieves and merges your ephemeral user data with your new registered account.
5. You can now view and edit your votes.

=== How does the ephemeral session work?

1. This session will only allow you to make actions in the specific component. If the ephemeral user wants to quit the component, the session will be closed.
2. The session will be closed after a time of inactivity.
3. The session can be retrieved. That means, that if I try to verify again using the same data, then my session will be retrieved, and I will be able to view and edit my votes.
Loading