> For the complete documentation index, see [llms.txt](https://v2.dataos.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v2.dataos.info/operate/v1/data-developer/governance.md).

# Manage Data Product access

***

As a Data Developer, you define the governance that applies to your Data Product. This includes who can consume it, which rows and fields different consumers can access, and the identity the product uses when accessing its dependencies.

These controls apply at different stages:

* [Control what consumers can see](#control-what-consumers-can-see) by masking sensitive fields and filtering the rows available to each policy group in the semantic model of the Data Product.
* [Set the Data Product’s runtime identity](#set-the-data-products-runtime-identity) so it can access the Depots, Secrets, Compute, and other dependencies it needs.

### Control what consumers can see

Define semantic policies when building the product so that authorized consumers see only the data appropriate for them.

After DataOS authorizes a request, the Vulcan authorization plugin maps the user to a **policy group**, such as `analyst` or `executive`. The semantic model then applies the policy defined for that group.

A semantic policy can:

#### Mask fields

Use field masking to protect sensitive information, such as email addresses, customer identifiers, or other restricted fields.

Consumers can still query the semantic model, but the protected fields are returned using the masking rule defined for their policy group.

#### Filter rows

Use row filters to limit which records a policy group can query. For example, consumers may be restricted to a specific region, business unit, or customer segment.

You can also combine masking and row filters in the same policy or Leave a policy group unrestricted where full access is required.

### Set Data Product’s runtime identity

A Data Product may need to access Depots, Secrets, Compute, or other dependencies while it runs. Use an **ApplicationUser** through the `runAsUser` field when the product needs a stable runtime identity.

Coordinate the ApplicationUser and **Run As User** grant setup with the Tenant Admin and Operator.

To know more about [`runAsUser`](/operate/v1/access-model/runasuser-permissions.md)

### Operating practices

* Define masking and row filters before publishing the product.
* Test the product as each policy group to confirm that the expected masks and filters are applied.
* Test what happens when a user does not match a configured policy group.
* Document the purpose of each grant, policy group, mask, and row filter.
* Keep policy group names consistent between the authorization plugin and semantic model YAML.
* Treat changes to grants, masks, and filters as consumer-facing changes and communicate them before they take effect.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://v2.dataos.info/operate/v1/data-developer/governance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
