Drupal is a registered trademark of Dries Buytaert
drupal 11.4.0 Update released for Drupal core (11.4.0)! drupal 10.6.12 Update released for Drupal core (10.6.12)! drupal 11.3.13 Update released for Drupal core (11.3.13)! drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)!

private_node

No security coverage
View on drupal.org

CONTENTS OF THIS FILE
---------------------

* Introduction
* Requirements
* Installation
* Configuration
* How it works
* Maintainers

INTRODUCTION
------------

Private Node lets content authors restrict who can see an individual node.
A node can be marked private and made visible only to:

* The node's author (always), and
* Any specific, hand-picked list of other users.

This is completely independent of Drupal core's Draft/Published (content
moderation) workflow. A private node can still be a Draft or Published;
"private" is an additional visibility restriction layered on top, not a
replacement for the moderation state. Everything you already rely on for
Draft/Published continues to work exactly as before.

* For a full description of the module, visit the project page:
https://www.drupal.org/project/private_node

* To submit bug reports and feature suggestions, or track changes:
https://www.drupal.org/project/issues/private_node

REQUIREMENTS
------------

This module requires no modules outside of Drupal core (Node, User).

INSTALLATION
------------

Install as you would normally install a contributed Drupal module. See:
https://www.drupal.org/docs/extending-drupal/installing-modules for
further information.

CONFIGURATION
-------------

1. Enable the module.
2. Go to Administration > Configuration > Content > Private Node
(/admin/config/content/private-node) and select which content types
should support the privacy option.
3. Go to Administration > People > Permissions and grant:
- "Mark content as private" to any role that should be able to make
their own content private (e.g. Authenticated user).
- "Bypass private node restrictions" to roles that should always be
able to see everything regardless of privacy (e.g. Administrator).
4. Edit a node of an enabled content type. A "Content privacy" pane
appears alongside the other sidebar options (Authoring information,
etc.) where the author can check "Make this content private" and,
optionally, list additional users to share it with.

HOW IT WORKS
------------

Private Node uses Drupal's native node access grants API
(hook_node_access_records() / hook_node_grants()) -- the same underlying
system core and other access-control modules use. Because of this:

* Private nodes are hidden from Views listings, the default content view,
core search, and any other query tagged 'node_access', not only from
their own canonical page.
* Nodes that are never marked private are completely unaffected; this
module adds no overhead or restriction to normal, public content.
* After installing, uninstalling, or bulk-changing privacy settings
outside of the normal node edit form, you may need to rebuild
permissions at Administration > Reports > Status report (or via
`drush php-eval 'node_access_rebuild();'`), the same as with any module
that implements node access grants.

Editing and deleting a private node is additionally restricted, on top of
normal node permissions, to the owner, any explicitly shared users, and
users with the bypass permission.

MAINTAINERS
-----------

Current maintainers:
* Sumit Thakur - https://www.drupal.org/u/sumit_thakur

Activity

Total releases
1
First release
Jul 2026
Latest release
12 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Jul 3, 2026