Boundaries between FE and BE

I would like to understand the boundaries of FE and BE of an Appsmith app so the security model is clearer.

For example, if we use current user email as a filter in sql query, will this be only residing in BE?

Obviously we don’t want users to be able to mess this from FE to peek other users data.

Please enlighten me on this a bit. Since I couldn’t find any documentations

Hi David,

Only Admin or Developer roles can modify an SQL queries. A good practice is to assign app viewer role to end users if you want to avoid modifications.

More details on access control can be found on this page

I’ll add a little more colour to what Vinod mentioned.

Appsmith’s backend system currently doesn’t store any information about the dynamic variables or the response data. It acts as a pure proxy system. This is to ensure that any private/confidential data is never logged or stored in Appsmith’s data stores. Hence, as a user, if you define a dynamic variable in your query, the frontend client evaluates these variables and sends them to the backend API server to perform the actual execution.

The Appsmith server only stores the configuration of the actions so that the SQL query body or custom API URLs are never exposed to the client in “view” mode. This protects the application as well since viewers cannot deduce the actual query being executed.

Hope this gives you a slightly better idea about the data model and why it is currently so.

1 Like