Task report not showing process variables

Certified Associate Developer

I have a process task report which I pass process context to and get tasks for this process. All is well up until the point where I want to create a new column in the task report. I want to add a text field to the report from a record type variable that is used in the process. I keep getting nulls from the query, however the columnConfig shows the correct name of the column, so changes were made to the report.

  Discussion posts and replies are publicly visible

Parents Reply
  • 0
    Appian Employee
    in reply to erazemk6135

    Yeah it's definitely on our radar to improve this, since it would be convenient to allow for more granular control. However, I disagree that this has any security impacts. There are always multiple levels between accessing your data:

    1. Creating a Process Model
    2. Creating a Process Report
    3. Creating an Expression to query data from the process report
    4. Creating an Interface to expose the data

    All of these items are in full control of the low-code developer, so there would be no way to expose this information to users unless the developer made an explicit decision to show this information at the highest level (the interface level).

    Really this is no different than a low-code developer that queries data from a database, stores all the columns in a local variable, and then shows only a subset of the data on a grid.

Children
  • 0
    Certified Associate Developer
    in reply to Peter Lewis

    The concern about security isn't solely about the intentionality of data exposure but also encompasses the potential for oversight or error that could inadvertently lead to data being available when it shouldn't be. The principle of least privilege and data minimization isn't just a preventative measure against malicious actors but also a safeguard against accidental data exposure.

    Implementing more granular control at the data access level can serve as an additional layer of security, acting as a fail-safe to ensure that only necessary data is accessible at each point of the process, regardless of the developer's intentions or potential oversights. This approach aligns with the concept of defense in depth, where multiple layers of security controls increase the robustness of the system's privacy and security posture.

    Furthermore, while the analogy to querying a database and selectively showing data on a grid highlights the developer's role in data exposure control, it also underscores the importance of granular access controls at the data source level. Such controls not only reduce the risk of accidental overexposure but also streamline the development process by clearly defining what data is necessary and accessible for each application component, enhancing both security and development efficiency.

    In essence, while the development process does provide significant control over data exposure, enhancing granularity in data access control can further bolster security and privacy, reducing the reliance on the developer's vigilance alone to prevent data exposure.