The server Retention, holds and export
Retention, holds and export
On this page
A minimum of days
retentionDays of the drive’s settings (Settings → Storage, for who may configure): nothing made fewer days ago is deleted for good, by anyone or by the trash emptying itself. It may still go to the trash, and come back; emptying the trash leaves it there, and deleting it says 409 retained.
// Nothing deleted for good before seven years, by anyone or by the trash.
await client.saveSettings({ retentionDays: 7 * 365 });
// A case: this folder and all in it out of reach of the trash until released.
await client.hold(folder.id, 'Case 2026-114');
await client.release(folder.id);A legal hold
- Put on hold, in the details, for who may configure: neither it nor anything in it may go to the trash or be deleted, by anyone, until it is released. Asked to, the answer is
409 on-hold. - New versions may still come: the ones before stay, as they always do.
- The details say who held it and why; the activity has
heldandreleased, andonChangeis told them.
Everything of a person
Settings → Language → Download my data makes a .zip of what one owns, at its places, and a rebofiles-export.json beside it: every entry of theirs, what is shared with them, their comments, what they did, their settings. GET /export gives the same; ?user= another person’s, for who may configure.
import { downloadZip } from '@rebofiles/drive';
const exported = await client.exportPerson(); // one's own; another's for who may configure
const { pack, ...rest } = exported;
await downloadZip({ pack: async () => pack, urls: client.urls }, [], {
name: 'my-data',
extra: [{ path: 'rebofiles-export.json', text: JSON.stringify(rest, null, 2) }],
});Of another person, the export gives what they own and did, as the drive keeps it; their bytes are read from the storage by your server, as byRoles lets no one but them download them.