Privado
  • Privado
  • Getting Started With Privado
    • Quick Start
    • Running a Scan
    • Understanding Results
    • Command Reference
    • Understanding privado.json
      • Sources
      • Processing
      • Data Flow
      • Collections
      • Violations
  • Understanding Rules
    • What are Rules?
    • Sources
    • Sinks
      • Understanding Sinks
      • Storages
      • Third Parties
      • Leakages
      • Internal APIs
    • Collections
    • Policies
  • Tutorials
    • How to scan a repository using Privado
  • Customizing Privado
    • Add a new Source
    • Add a new Leakage Sink
    • Add a new Storage Sink
    • Add a new Third Party Sink
    • Add a new Policy
  • ROPA Report
    • Generating ROPA Report
  • Play Store Data Safety Report
    • Generate Play Store Data Safety Report
    • Uploading results to Play Store
  • Extra
    • Configurations
    • Contributing through GitHub
  • About Privado
    • LICENSING
    • Privacy Policy
    • Security
Powered by GitBook
On this page
Edit on GitHub
  1. Getting Started With Privado
  2. Understanding privado.json

Data Flow

Data flows are the journey of a data element within the codebase. It maps out the journey of a data element from a source to a sink detected via static code analysis.

A data flow result consists of the following structure:

{
    "dataFlow": {
        "third_parties": <DataFlow>,
        "leakages": <DataFlow>,
        "storages": <DataFlow>,
        "internal_apis": <DataFlow>,
        "miscellaneous": <DataFlow>
    }
}

The structure of all data flow representations is similar. As an example, the following is the structure of a storage sink:

{
    "storages": [
        "sourceId": "string",
        "sinks": [
            {
                "sinkType": "string",
                "id": "string",
                "name": "string",
                "isSensitive": "boolean",
                "paths": [
                    {
                        "pathId": "string",
                        "path": [
                            {
                                "sample": "string",
                                "lineNumber": "int",
                                "columnNumber": "int",
                                "fileName": "string",
                                "excerpt": "string"
                            }
                        ]
                    }
                ]
            }
        ]
    ]
}

The parameters of the results are explained below:

Field

Description

third_parties

Third parties that are consuming data elements

leakages

Leakages that are consuming data elements

storages

Databases that are consuming data elements

internal_apis

Internal APIs that are consuming data elements

miscellaneous

Miscellaneous data flows

The parameters of a data flow results are explained below:

Field

Description

sourceId

ID of the source which is processed

sinks

A list of sinks that are detected in a particular type of sink

sinkType

The type of sink

sinks.Id

ID of the sink

name

Name of the sink

isSensitive

Boolean value indicating if the data element is sensitive

paths

A list of paths defining the data flow of the element

pathId

Unique ID of the path

path

An occurrence of a data element

sample

name of the entity in which the data element is processed

lineNumber

Line number of the occurance

columnNumber

Column number of the occurance

fileName

Name of the file where the occurrence is detected

excerpt

A dump of the code around the occurrence

PreviousProcessingNextCollections

Last updated 2 years ago