No description
  • PHP 57.2%
  • JavaScript 25.3%
  • Vue 12.9%
  • Makefile 3.8%
  • Shell 0.8%
Find a file
Nextcloud bot 64faac1ff9
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-11 02:16:16 +00:00
.github ci: replace node workflow with the new npm_build 2026-05-20 10:42:17 +02:00
.tx
appinfo feat(deps): Add Nextcloud 35 support 2026-05-20 21:38:40 +02:00
cypress chore(eslint): fix 2026-05-18 19:46:48 +02:00
docs docs(spdx): Add SPDX header 2024-10-02 20:09:57 +02:00
l10n fix(l10n): Update translations from Transifex 2026-06-11 02:16:16 +00:00
lib fix(backend): Migrate to app config and dispatcher events 2025-09-01 10:42:04 +02:00
LICENSES ci(reuse): Add reuse check 2024-10-02 20:10:39 +02:00
src chore(eslint): fix 2026-05-18 19:46:48 +02:00
templates/settings build: migrate to Vite 2026-05-18 19:31:08 +02:00
tests fix: Update psalm level 2025-10-13 08:39:46 +02:00
vendor-bin chore(deps-dev): Bump nextcloud/coding-standard in /vendor-bin/csfixer 2026-05-30 01:04:00 +00:00
.gitattributes docs(spdx): Add SPDX header 2024-10-02 20:09:57 +02:00
.gitignore build: migrate to Vite 2026-05-18 19:31:08 +02:00
.l10nignore docs(spdx): Add SPDX header 2024-10-02 20:09:57 +02:00
.php-cs-fixer.dist.php ci: Introduce composer bin for better PHP 8.4 dependency handling 2025-01-15 17:00:34 +01:00
AUTHORS.md fix: avoid disabling user again when re-enabled... 2025-06-05 10:57:22 +02:00
CHANGELOG.md chore(release): Prepare 1.17.0 release 2026-05-20 18:43:50 +02:00
composer.json ci: Update psalm to 6.12 2025-06-05 12:11:35 +02:00
composer.lock chore(dev-deps): Bump nextcloud/ocp package 2026-05-06 17:50:29 +02:00
cypress.config.js chore(cypress): remove @cypress/browserify-preprocessor processing 2026-05-17 22:42:30 +02:00
eslint.config.mjs chore(eslint): migrate config to eslint 10 2026-05-18 19:45:23 +02:00
Makefile build: Adjust exclude list 2025-01-16 10:43:22 +01:00
package-lock.json chore(deps): Bump dompurify from 3.4.4 to 3.4.7 2026-06-01 14:31:27 +00:00
package.json chore(deps-dev): Bump cypress from 15.14.2 to 15.15.0 2026-05-23 01:04:18 +00:00
psalm.xml fix: Update psalm level 2025-10-13 08:39:46 +02:00
README.md fixup: add types to docs 2025-10-29 10:29:37 +01:00
REUSE.toml ci: Introduce composer bin for better PHP 8.4 dependency handling 2025-01-15 17:00:34 +01:00
stylelint.config.cjs build: migrate to Vite 2026-05-18 19:31:08 +02:00
tsconfig.json chore(cypress): add dummy tsconfig for Cypress 2026-05-17 22:42:30 +02:00
vite.config.js build: migrate to Vite 2026-05-18 19:31:08 +02:00

👤🗑 Account retention (formerly User retention)

REUSE status

Accounts are disabled or deleted when they did not log in within the given number of days. In case of deletion, this will also delete all files and other data associated with the account.

  • 🛂 Different retention possible for normal accounts and accounts of the guests app
  • Exclude accounts based on group memberships (default: admin group)
  • 🔑 Exclude accounts that never logged in (default: enabled)

As an administrator, click on your user icon, then navigate to Administration Settings -> Basic settings -> Account retention.

Screenshot of the admin settings

Configuration options

There are a few configuration options to be aware of, which can be set and retrieved via the occ command.

For example, to disable users after 10 days of inactivity:

occ config:app:set user_retention user_days_disable --type=integer --value=10
Configuration key Type Default value Description
user_days_disable integer 0 If greater than 0, disables users who have been inactive for the specified number of days.
user_days integer 0 If greater than 0, deletes users who have been inactive for the specified number of days.
guest_days_disable integer 0 If greater than 0, disables guest users who have been inactive for the specified number of days.
guest_days integer 0 If greater than 0, deletes guest users who have been inactive for the specified number of days.
reminder_days string '' (empty value) Comma-separated list of days before which reminder emails are sent about upcoming deactivation or deletion.
keep_users_without_login boolean yes When set to yes, preserves users who have never logged in.
excluded_groups array ["admin"] List of groups whose members are excluded from deactivation and deletion policies.

Further examples

🔐 Accounts that never logged in

By default, accounts that have never logged in at all, will be spared from removal.

In this case the number of days will start counting from the day on which the account has been seen for the first time by the app (first run of the background job after the account was created).

Example

Retention set to 30 days:

Account created Account logged in keep_users_without_login Cleaned up after
7th June 14th June yes/default 14th July
7th June 14th June no 14th July
7th June - yes/default -
7th June - no 7th July

📬 Sending reminders

It is also possible to send an email reminder to accounts (when an email is configured). To send a reminder 14 days after the last activity:

occ config:app:set user_retention reminder_days --value='14'

You can also provide multiple reminder days as a comma separated list:

occ config:app:set user_retention reminder_days --value='14,21,28'

Note: There is no validation of the reminder days against the retention days.