[Enhancement]: Per-Library Permissions for Users #2251

Open
opened 2026-02-20 02:14:09 -05:00 by deekerman · 2 comments
Owner

Originally created by @sydlexius on GitHub (Jun 29, 2024).

Type of Enhancement

Server Backend

Describe the Feature/Enhancement

Currently access permissions are limited to all or a subset of libraries, as well as the potential to limit access via tags. The challenge is that the metadata I have for my books libraries doesn't match my audiobooks, so it's nearly impossible to use a global set of tags across all libraries. Would it be possible to have more fine-grained control over the access users have, such as rulesets per-library?

Why would this be helpful?

Metadata sources (Audible, Google/Open Books, etc) don't all use the same tag names, and hence it can be difficult to configure access for a user across all libraries using the hodge-podge of tag names. Manually re-tagging items is fairly cumbersome for large libraries as well.

Future Implementation (Screenshot)

Apologies, as I'm not a UI/UX person, but I would imagine that perhaps instead of an input box that contains all of the libraries a user could access, that instead the list of libraries could be enumerated with perhaps a checkbox to the left of the library name to enable/disable access, the name of the library, and then an (optional) entry box to the right to select tags that can restrict access, finally with a last checkbox to allow inversion of the rules. Ex:

[E] Library     Tags Accessible to User        Invert
[x] Audiobooks  [Kids                        ] [ ]
[x] Books       [Childrens                   ] [ ]
[ ] Podcasts    [                            ] [ ]

Audiobookshelf Server Version

v2.10.1

Current Implementation (Screenshot)

image

Originally created by @sydlexius on GitHub (Jun 29, 2024). ### Type of Enhancement Server Backend ### Describe the Feature/Enhancement Currently access permissions are limited to all or a subset of libraries, as well as the potential to limit access via tags. The challenge is that the metadata I have for my books libraries doesn't match my audiobooks, so it's nearly impossible to use a global set of tags across all libraries. Would it be possible to have more fine-grained control over the access users have, such as rulesets per-library? ### Why would this be helpful? Metadata sources (Audible, Google/Open Books, etc) don't all use the same tag names, and hence it can be difficult to configure access for a user across all libraries using the hodge-podge of tag names. Manually re-tagging items is fairly cumbersome for large libraries as well. ### Future Implementation (Screenshot) Apologies, as I'm not a UI/UX person, but I would imagine that perhaps instead of an input box that contains all of the libraries a user could access, that instead the list of libraries could be enumerated with perhaps a checkbox to the left of the library name to enable/disable access, the name of the library, and then an (optional) entry box to the right to select tags that can restrict access, finally with a last checkbox to allow inversion of the rules. Ex: ``` [E] Library Tags Accessible to User Invert [x] Audiobooks [Kids ] [ ] [x] Books [Childrens ] [ ] [ ] Podcasts [ ] [ ] ``` ### Audiobookshelf Server Version v2.10.1 ### Current Implementation (Screenshot) ![image](https://github.com/advplyr/audiobookshelf/assets/1031594/1036dc9b-4f64-4035-b130-4b655c8cd4d9)
Author
Owner

@ZLoth commented on GitHub (Jul 7, 2024):

This is a primary reason why I have multiple libraries instead of a single library. In addition to the "Explicit" setting for books, it allows me to turn off libraries for certain people.

@ZLoth commented on GitHub (Jul 7, 2024): This is a primary reason why I have multiple libraries instead of a single library. In addition to the "Explicit" setting for books, it allows me to turn off libraries for certain people.
Author
Owner

@andrew-hill commented on GitHub (Jan 28, 2026):

I think more useful than the "tags" for separating content within a library would be to allow limiting based on collections in a similar way to tags. As the original issue report says, tags are a bit inconsistent, and matching/updating metadata could break this. A curated Collection would be (for me) a simpler way of ensuring a child can access a curated list, while an adult has the full library. And avoids the need to switch libraries, since most clients only present the contents of one library at a time.

@andrew-hill commented on GitHub (Jan 28, 2026): I think more useful than the "tags" for separating content within a library would be to allow limiting based on collections in a similar way to tags. As the original issue report says, tags are a bit inconsistent, and matching/updating metadata could break this. A curated Collection would be (for me) a simpler way of ensuring a child can access a curated list, while an adult has the full library. And avoids the need to switch libraries, since most clients only present the contents of one library at a time.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/audiobookshelf#2251
No description provided.