๐Ÿ‘Ž Blocklists

Set what specific data needs to be obfuscated by the Helios SDK. Only data that matches an expression in the JSONPaths configured will be collected in a secret manner.

Control what data is obfuscated

When a blocklist is configured, only the service DTO nodes that match the JSONPath expressions in the list are obfuscated (JavaScript, Python) - The rest are left unchanged.

Example

{
    collection: 'users',
    metadata: {
        numberOfUsers: 2,
        lastUpdateDate: '2022-04-01T00:00:00.000Z'
    },
    users: [
        {
            id: 12345,
            name: 'John Smith',
            age: 36
        },
        {
            id: 67890,
            name: 'Alice Wilson',
            age: 42
        }
    ]
}

If the blocklist is [$.collection, $.metadata.*, $.users[*].id], the DTO above will be obfuscated to:

{
    collection: '1dc78f83',
    metadata: {
        numberOfUsers: '1a2c2084',
        lastUpdateDate: 'c6e6d6c3'
    },
    users: [
        {
            id: '2a1b7b2d',
            name: 'John Smith',
            age: 36
        },
        {
            id: '10862f4d',
            name: 'Alice Wilson',
            age: 42
        }
    ]
}

Additional blocklist capabilities (Python only)

The blocklist can also include (JSONPath expression, expected value) ordered pairs. If a DTO includes a node that matches one of these JSONPath expressions, and the node's value is equal to the corresponding expected value, the entire DTO will be obfuscated.