Protected Populate

Protected Populate

By Strapi Community

An easy way to protect your GET populates from miss use. By protecting the endpoint from getting more data then you intended.

Latest version

v2.0.2

released May 28, 2025

npm install strapi-plugin-protected-populate

Strapi Protected Populate Plugin

Strapi Discord NPM Version Monthly download on NPM

Table of Contents

🚦 Current Status

For more information on contributing please see the contrib message below.

✨ Features

These are the primary features that are finished or currently being worked on:

  • Protected your Get request populates and fields
  • Allow you to protect routes per role

🤔 Motivation

The purpose of this plugin is to have a easy way to protect your get endpoints from getting to much information out of them. I made this plugin since I got sick and tired of writing complex policies to do this exact thing.

🖐 Requirements

Supported Strapi Versions: Plugin V2

Strapi VersionSupportedTested On
v4N/A
v5April 2023

Plutin V1

Strapi VersionSupportedTested On
v3N/A
<=v4.5.2N/A
v4.5.3/4.6.2December 2022
v4.7.0/4.7.1N/A
v4.8.0+April 2023
v5April 2023

This plugin will not work on any version older then v4.5.3 since I am using the on syntax for dynamic zones wat was added in that version

⏳ Installation

Install the plugin in your Strapi project or your Strapi plugin.

# Using Yarn (Recommended)
yarn add strapi-plugin-protected-populate

# Using npm
npm install strapi-plugin-protected-populate

🔧 Configuration

WIP

Config

standard config add the following config to your config/plugins.js

module.exports = () => {
  return {
    'protected-populate': {
      enabled: true,
    },
  };
};

enable auto populate will automatically populate all fields and populates if no ctx.query.populate / ctx.query.fields is found.

add the following config to your config/plugins.js

module.exports = () => {
  return {
    'protected-populate': {
      enabled: true,
      config: {
        ['auto-populate']: true,
      },
    },
  };
};

Contributing

Please open issues before making a pull request so that we can talk about what you want to change for the best results.

Migration

V1.0.0 to v1.1.0 choose what way you want to do the migration GUI or File change

GUI way

Go to the gui select all Media types and deselect them Update to v1.1.1 select all deselected Media

File change

Find all the media in fields and change them to populate

License

MIT

Submit your content

Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.

Submit
Submit your content