# More resilient code with data masking in Apollo Client 3.12

DevFeed: [More resilient code with data masking in Apollo Client 3.12](<https://devfeed.tech/articles/more-resilient-code-with-data-masking-in-apollo-client-3-12-23460.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/more-resilient-code-with-data-masking-in-apollo-client-3-12>)

Author: Jerel Miller

Published: 2024-12-10T09:47:59Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [React](<https://devfeed.tech/topics/react.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [fragments](<https://devfeed.tech/tags/fragments.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>)

## AI overview

Apollo Client 3.12 introduces data masking, using GraphQL fragments to expose only the fields requested by each component. The article explains how this reduces implicit dependencies between components and describes colocated fragments, the useFragment hook, and enabling data masking.

## Source excerpt

We are excited to announce the release of Apollo Client 3.12, which primarily focuses on data masking. When building complex applications today, Apollo Client users are leveraging GraphQL fragments to make their applications more maintainable. Data masking leverages fragments to help you write more resilient and performant code. What is data masking? Data masking enforces that only the fields requested by a component in a query or fragment are available to it.