MLU-1 documentation › Secure release printing

Secure release printing

Software 3.4 · optional feature, off by default · reviewed 2026-08-12

How it works

Workstations print to one queue instead of to a printer. The job stops on the unit. The person walks to whichever device they like, identifies themselves, picks the job from the panel or from the release page, and it prints there. Nothing sits in an output tray waiting for the wrong person to pick it up, and the sixty per cent of jobs that are sent twice or regretted are never printed at all.

Enable it after meters are working, never at the same time. Release printing is the visible feature; meter collection is the one the contract depends on. If both are switched on in one afternoon and something breaks, you will spend the day on the wrong one.

The hold queue

One queue per site. It is a normal raw or IPP target, so workstations need no software beyond a printer definition pointing at the unit.

Protocols acceptedRaw 9100 and IPP 631. Both feed the same queue.
DriverThe driver of the most capable device in the pool, installed on workstations as usual. The unit does not convert between page description languages.
PoolsDevices are grouped into a pool; a job may be released on any device in its pool.
At restJob data is encrypted on the unit with a key generated at first boot and held only there. A stolen unit yields nothing; a replaced unit loses the queue.
AccountingReleased jobs are recorded against the user and the device: pages, colour, duplex, size.
mluctl release enable
mluctl release pool add "HQ floor 2" --devices 10.20.4.31,10.20.4.32,10.20.4.35
mluctl release pool list
mluctl queue list --user <login>

Identifying the user

Three methods, and they can run together. Whichever is used, the identity must match the owner recorded on the job, which comes from the workstation.

MethodNeedsNotes
PIN at the device panelNothing extraSimplest. Four to eight digits, set by the user on the release page, stored hashed.
Card at a readerA reader attached to the deviceFastest in practice. The first card tap is bound to an account once, using a one-time PIN.
Release pageA browser on any deviceThe fallback, and what you use while training a floor.

Where a directory is configured, accounts and card numbers are looked up there; otherwise the unit keeps its own list of users. Mixed setups work, and a local account always wins over a directory account with the same name, so that a broken directory cannot lock the floor out of its printing.

Retention and limits

SettingDefaultMaximumWhy
Hold time24 h72 hLonger and the queue fills with jobs nobody will collect.
Job size200 MB1 GBA single badly generated PDF can be larger than the day’s entire print volume.
Queue size8 GB (MLU-1)60 GB (MLU-1P)Beyond this, the oldest jobs are dropped and alert MLU-401 is raised.
Jobs per user40200Catches a loop on a workstation before it fills the disk.
Re-print after releaseallowed for 2 h24 hConvenient, and the second copy is still accounted for.
mluctl release limits show
mluctl release limits set --hold 48h --max-job 400MB --max-user-jobs 60

Releasing at a different device

Any device in the same pool, any time, with no action from an administrator. Across pools it needs a deliberate move, because the driver may not match the target.

  1. Check what the job needs: mluctl queue show <job-id> lists page description language, colour, size and finishing.
  2. Move it: mluctl queue move <job-id> --pool "HQ floor 3".
  3. If the target pool cannot do what the job asks — A3 on an A4-only pool, stapling on a device with no finisher — the move is refused with a reason rather than silently degraded.
Colour policy travels with the pool, not the job. Moving a colour job into a mono-only pool does not convert it. It is refused, and the user is told to re-send. Automatic conversion produced grey invoices for three months at one site before we removed it in 3.2.

When the unit is unavailable

The failure mode is visible and boring: workstations queue locally, because the target is not answering, and nothing prints until the unit is back. Jobs already held are still there afterwards, as long as the unit itself is the one that comes back.