Difference between revisions of "ACL"

From Ethora iOS & Android ERC-20 & NFT tokenized community platform
Jump to navigation Jump to search
Line 1: Line 1:
Access Control List - default privileges for Owners, Apps and Users.
Access Control List - explanation of privileges for Owners, Apps and Users.
 
== ACL table for Ethora platform ==
Access Rights table.  
{| class="wikitable"
{| class="wikitable"
|'''actions/entities'''
|'''actions/entities'''
Line 251: Line 254:
|TRUE (self)
|TRUE (self)
|}
|}
== Global vs Application-specific user privileges ==
Definitions:
*  '''Network''': Dappros Platform infrastructure that shares the same Application, Blockchain and Chat infrastructure (servers). By default, all Applications run on the same Network unless their Owners have made arrangements to host on their own dedicated Network.
=== Users and Applications ===
Users can login into any Apps within the same Network.
Users can read information from any Apps / entities within the same Network (see ACL table above - all TRUE applies to all apps within the Network)
Users write updates apply to user accounts across all Applications within the same Network (as User profile is global, once User updates their profile in one Application, it updates across the whole Network and is reflected in all Applications)
=== Files ===
Files and IPFS content is accessible across all Applications within the same Network.
This means that files content and attachments created in one Application are accessible by the users of other Applications within the same Network (provided that the IPFS link is known to them, and also that no end-to-end encryption is enforced by the specific Application that has been used to store the file).
=== Chat rooms ===
Chat rooms are accessible across the same Network. Rooms don't belong to any particular Application context.
Different Applications within the same Network are expected to allow their Users to join, read and rite into any chat Rooms within the same Network.
Only difference across Applications in relation to the chat rooms may be the local Application settings such as "Official" rooms that are sticky, or any local UI, message parsing and notification settings.
=== Tokens (Items and Coins) ===
All tokens such as Items (NFT) and Coins (ERC-20) are accessible to all Applications across the Network.
Applications should display Balances and Transactions of the users showing their global balances.
Note: Applications (in their own UI) may choose to filter out certain transactions if they aren't useful for their users. For example, any technical transactions generated by the platform or other Applications.
Note: Applications (in their own UI) may choose to modify the display of the tokens or balances, for example they can choose to call the DP Coin in their own name, for example "<Application name> Coin".
=== Gamification / Rewards ===
All Applications, when created, by default receive 10,000 DP Coins into their balance from the Platform (directly or via the Reward Station smart contract).
All Applications reward users with 5 Coins for every DAU (activity during a 24h period). 
Note: this means same user can receive multiple rewards for their daily activity from multiple Applications if they log in via different Applications during the same day.
Note: Applications may display "DP Coin" in their own name in user balances and transactions, for example "<Application name> Coin", in order to avoid confusing users in the ecosystems which aren't aware of how the infrastructure works and who don't want to be overloaded with technical / token economy complexities.
Users may also receive other DP Coin rewards and transfers, for example the "crypto likes" from other users for their content, direct transfers, payments for Items, bots interactions etc. In all of these cases their transactions and their balance is the same globally across all Applications of the same Network, however the display name for "DP Coin" may vary from Application to Application.

Revision as of 11:53, 6 June 2022

Access Control List - explanation of privileges for Owners, Apps and Users.

ACL table for Ethora platform

Access Rights table.

actions/entities owner app user
app.create TRUE (self) FALSE FALSE
app.delete TRUE (self) FALSE FALSE
app.getByAppName TRUE (self) FALSE FALSE
app.getById TRUE (self) FALSE FALSE
app.getLogoByAppName TRUE TRUE TRUE
app.put TRUE (self)
files.delete TRUE (self) TRUE (self) TRUE (self)
files.get TRUE (self) TRUE (self) TRUE (self)
files.post TRUE (self) TRUE (self) TRUE (self)
tokens.count TRUE (self)
tokens.create TRUE (self) TRUE (self) TRUE (self)
tokens.delete TRUE (self) TRUE (self) TRUE (self)
tokens.graph TRUE (self) TRUE (self) TRUE (self)
tokens.ctrl.history TRUE (self) TRUE (self) TRUE (self)
tokens.ctrl.itemsBurn TRUE (self) FALSE TRUE (self)
tokens.ctrl.itemsCreate TRUE (self) TRUE (self) TRUE (self)
tokens.ctrl.itemsTransfer TRUE (self) FALSE TRUE (self)
tokens.ctrl.mint TRUE (self) TRUE (self) TRUE (self)
tokens.ctrl.transfer TRUE (self) TRUE (self) TRUE (self)
user.ctrl.actions TRUE (self) TRUE (self) TRUE (self)
user.ctrl.addFile ipfs ipfs ipfs
user.ctrl.addImage ipfs ipfs ipfs
user.ctrl.changePassword TRUE (self) FALSE TRUE (self)
user.ctrl.checkEmail TRUE TRUE TRUE
user.ctrl.count TRUE (self)
user.ctrl.create TRUE (self)
user.ctrl.delete TRUE (self)
user.ctrl.deleteEmails TRUE (self) TRUE (self)
user.ctrl.forgot TRUE (self) TRUE (self)
user.ctrl.get TRUE (self)
user.ctrl.getEmails TRUE (self) TRUE (self)
user.ctrl.getFile ipfs ipfs ipfs
user.ctrl.graph TRUE (self)
user.ctrl.login TRUE (self) TRUE (self)
user.ctrl.postEmails user.ctrl.postEmails user.ctrl.postEmails
user.ctrl.postTag TRUE TRUE TRUE
user.ctrl.profile TRUE (self) TRUE (self) TRUE (self)
user.ctrl.put TRUE (self) TRUE (self)
user.ctrl.putTag TRUE TRUE TRUE
user.ctrl.restoreXmpp TRUE (self) TRUE (self)
user.ctrl.search TRUE TRUE TRUE
wallet.ctrl.appId TRUE (self)
wallets.ctrl.getBalanceByToken TRUE TRUE TRUE
wallets.ctrl.getBalanceEther TRUE TRUE TRUE
wallets.ctrl.updateDefaultToken TRUE (self) TRUE (self) TRUE (self)

Global vs Application-specific user privileges

Definitions:

  • Network: Dappros Platform infrastructure that shares the same Application, Blockchain and Chat infrastructure (servers). By default, all Applications run on the same Network unless their Owners have made arrangements to host on their own dedicated Network.

Users and Applications

Users can login into any Apps within the same Network.

Users can read information from any Apps / entities within the same Network (see ACL table above - all TRUE applies to all apps within the Network)

Users write updates apply to user accounts across all Applications within the same Network (as User profile is global, once User updates their profile in one Application, it updates across the whole Network and is reflected in all Applications)

Files

Files and IPFS content is accessible across all Applications within the same Network.

This means that files content and attachments created in one Application are accessible by the users of other Applications within the same Network (provided that the IPFS link is known to them, and also that no end-to-end encryption is enforced by the specific Application that has been used to store the file).

Chat rooms

Chat rooms are accessible across the same Network. Rooms don't belong to any particular Application context.

Different Applications within the same Network are expected to allow their Users to join, read and rite into any chat Rooms within the same Network.

Only difference across Applications in relation to the chat rooms may be the local Application settings such as "Official" rooms that are sticky, or any local UI, message parsing and notification settings.

Tokens (Items and Coins)

All tokens such as Items (NFT) and Coins (ERC-20) are accessible to all Applications across the Network.

Applications should display Balances and Transactions of the users showing their global balances.

Note: Applications (in their own UI) may choose to filter out certain transactions if they aren't useful for their users. For example, any technical transactions generated by the platform or other Applications.

Note: Applications (in their own UI) may choose to modify the display of the tokens or balances, for example they can choose to call the DP Coin in their own name, for example "<Application name> Coin".

Gamification / Rewards

All Applications, when created, by default receive 10,000 DP Coins into their balance from the Platform (directly or via the Reward Station smart contract).

All Applications reward users with 5 Coins for every DAU (activity during a 24h period).

Note: this means same user can receive multiple rewards for their daily activity from multiple Applications if they log in via different Applications during the same day.

Note: Applications may display "DP Coin" in their own name in user balances and transactions, for example "<Application name> Coin", in order to avoid confusing users in the ecosystems which aren't aware of how the infrastructure works and who don't want to be overloaded with technical / token economy complexities.

Users may also receive other DP Coin rewards and transfers, for example the "crypto likes" from other users for their content, direct transfers, payments for Items, bots interactions etc. In all of these cases their transactions and their balance is the same globally across all Applications of the same Network, however the display name for "DP Coin" may vary from Application to Application.