> ## Documentation Index
> Fetch the complete documentation index at: https://developer.affinity.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Access

> How data visibility works in the Data Share

## Org-Wide Visibility

The Data Share provides **org-wide visibility** into your Affinity data. Unlike the Affinity
API, which enforces per-user access controls and permissions, the Data Share bypasses
application-level ACLs entirely.

This means that **all organization data is visible** to anyone with access to the share —
regardless of role-based access restrictions configured within Affinity.

> [!WARNING]
>
> Grant access to the share only to users who are authorized to view all organization data.
> There are no per-user or per-role visibility filters applied at the share level.

## What This Means in Practice

* **All records are included**: Persons, companies, opportunities, list entries, and
  associations are all visible in the share regardless of Affinity-level permissions.
* **Custom field values are included**: The `custom_fields` JSON column on entity tables
  contains all custom field values, including fields that may be restricted in the
  Affinity UI.
* **No row-level security**: Data Share views expose the full dataset. If you need to restrict
  access, apply platform-native access controls — Snowflake row access policies or Unity Catalog
  table ACLs on Databricks — or control share access at the account/role level.

## Email Subject Lines

The `subject` column on the `emails` table is NULL by default. Affinity encrypts email subject
lines at the application level, so the share does not include them unless an admin opts in.

To include them, an Affinity admin opens the Snowflake or Databricks configuration under
**Settings** → **Integrations** and selects **Include email subject lines**. The setting applies
to every data share the organization has. Turning it on for one Snowflake or Databricks
configuration includes subjects in all of them.

Subjects appear on the next refresh after the change is saved. Every email in the organization
gets a new `last_updated_at` at that point, so an incremental pull that filters on
`last_updated_at` picks up the subjects of older emails too. Selecting **Do not include email
subject lines** returns the column to NULL on the next refresh.

> [!NOTE]
>
> Including subject lines removes the application-level encryption for this share. The data
> stays encrypted at rest and in transit.

A subject stays NULL when a participant's privacy settings withhold it, even for an
organization that opted in. If a participant hides their emails after a subject was shared, the
subject returns to NULL on the next refresh and the email gets a new `last_updated_at`. If they
show their emails again, the subject comes back the same way.


## Related topics

- [Connect Your Account](https://developer.affinity.co/pages/data-share/setup.md)
- [Get all Lists a Team has access to](https://developer.affinity.co/api-reference/2026-09-17/teams/get-all-lists-a-team-has-access-to.md)
- [Overview](https://developer.affinity.co/pages/data-share/overview.md)
- [Authentication](https://developer.affinity.co/pages/mcp/authentication.md)
- [Opportunities](https://developer.affinity.co/pages/data-share/opportunities_v1_0.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.