Self-hosted remote desktop for education computer labs: why campus licensing and student records change the design
When licensed lab software only runs on machines inside the campus, students who need it from home have no good option unless the access path is designed for them. For most campus IT teams, Apache Guacamole is the usual starting point: a clientless gateway that publishes RDP, VNC or SSH sessions to lab hosts or VDI pools through an HTML5 browser, so students do not need a VPN or a client installed on personal devices. Guacamole's web application handles the interface and authentication, while the guacd daemon loads the protocol plugins that reach the lab machines. RustDesk has a narrower role here. Its open-source server runs hbbs and hbbr, which suits attended support by staff, but it is not the default choice for giving a large student population scheduled access to lab images.
The design is shaped less by the protocol than by three things the campus already owns. First, session logs and recordings can reveal which students used which records-bearing systems, so FERPA's rules on school officials, legitimate educational interest and disclosure logging (34 CFR 99.31 and 99.32) apply to the gateway's audit trail. Second, some programs enroll minors, which brings COPPA into play for any operator collecting children's personal information. Third, per-seat licenses for engineering, design or statistics software usually limit concurrent use, so the gateway must enforce the license terms through session limits and scheduling rather than leaving that to the lab software. Confirm with each vendor whether their license permits remote or hosted use and how concurrency is counted before you publish anything.
Start by listing which lab applications, which student populations and which institutional data each session can touch, then map that list against your identity provider and the Guacamole authentication extensions your campus will use. Ask any implementation partner how connection permissions, session time limits and recording retention will be set per course, and what the gateway logs will show an auditor. Settle the answers before choosing a hosting pattern, because they determine whether a single lab pool or separate VDI pools per program is the right structure.
Which education requirements shape the remote lab design
This table maps four education-related requirements to the parts of a Guacamole lab build they affect: identity, logging, retention and vendor access. Read each row as a design question to answer before pilot, and use the last column to see where schools most often fall short. The main takeaway is that FERPA and GLBA apply to the gateway itself, not just the lab machines behind it.
| Requirement | What it means for the Guacamole build | Evidence to prepare |
|---|---|---|
| FERPA school official and contractor access (34 CFR 99.31) | A vendor running or supporting the lab can only be treated as a school official if the institution keeps direct control over the records and limits redisclosure. Give each vendor a named account with lab-only connection permissions, not shared logins. | Signed agreement stating direct control and redisclosure limits, per-vendor account list, and connection permission exports |
| FERPA disclosure logging (34 CFR 99.32) | Each access to student records through a lab session should be traceable to a person, time and purpose. Guacamole's history and the session recording extension help, but confirm they capture what your records officer needs and how long they are kept. | Access logs retained for as long as the records are kept, with session recordings mapped to user identities |
| FERPA access limited to legitimate interest (34 CFR 99.31(a)(1)(ii)) | Use connection permissions and directory groups so each student or staff member reaches only the labs and images assigned to their course. Test this with the identity provider groups, not only with the admin console. | Group-to-connection mapping, periodic permission reviews, and test results showing unassigned users are denied |
| GLBA Safeguards Rule for Title IV institutions (16 CFR 314.4(c)(5)) | Multi-factor authentication applies to anyone accessing an information system that holds covered data, which can include a lab gateway that reaches administrative or financial systems. Enable MFA at the gateway for all users, including students, where those sessions can reach such systems, and confirm the scope with your compliance office. | MFA enforcement settings, list of systems reachable from lab sessions, and the written information security program section covering the gateway |
| GLBA incident notification (16 CFR 314.4(j)) | Session logs and gateway alerts must be reviewable quickly enough to support notification to the FTC within 30 days where 500 or more consumers are affected. Confirm who monitors gateway logs and how alerts reach them. | Log review procedure, alert routing record, and incident playbook referencing the gateway |
| COPPA for children under 13 (16 CFR 312.8 and 312.10) | K-12 labs with students under 13 need limits on what personal information the gateway collects, such as session recordings and keystroke logs. Set a recording retention period, delete recordings on schedule, and document the written retention policy. | Written retention policy with deletion timeframes, recording configuration, and annual risk assessment record |
| Web and mobile accessibility (28 CFR Part 35 Subpart H) | The login page, session launcher and any portal you build for students are web content and must be accessible. Test the Guacamole login and launcher with assistive technology, and confirm how remote desktop content inside the session will be handled for students who need accommodations. | Accessibility test results for the portal, a remediation log, and a documented accommodation path for remote sessions |
| Session limits and term-time capacity (institutional policy) | Session time limits, idle timeouts and concurrency caps are not set by one regulation, but they shape both privacy exposure and peak capacity. Size gateway and guacd capacity for the busiest term-start hour, and confirm the institution's own session policy. | Documented session policy, load test results at expected peak concurrency, and monitoring thresholds |
Guacamole in front of lab machines or VDI pools: which pattern fits
In this pattern, the Guacamole web application and guacd run on a gateway, and each lab workstation is published as its own connection, typically over RDP, VNC or SSH. Guacamole's web application handles authentication and the browser session, while guacd loads the protocol plugin that talks to the workstation on the student's behalf. This keeps the design simple and works well when the lab is a fixed set of named machines with known software. The trade-off is that every machine must be reachable and online for a student to connect, and the gateway's connection list has to track the physical inventory.
- Connection permissions: Map each course or group to the specific workstations it may open, using Guacamole's connection permissions and identity group mapping from directory sync.
- Seat mapping: One student session equals one machine, so licensed seats are bounded by the number of workstations and any concurrent-use terms in the vendor license.
- Patching and reimaging: Each machine is maintained individually, so reimaging a workstation interrupts only that connection, but it takes longer across a large room.
- Capacity: Peak term-time demand is capped by physical machines, and a failed workstation removes a seat with no automatic substitute.
- Session limits: Enforce idle and maximum session time at the gateway, and confirm whether the workstation's own lock and logoff settings apply.
Before committing, confirm with the lab software vendor whether remote use from off-campus networks is permitted under the license, and whether your inventory data is accurate enough to drive connection lists.
In this pattern, the lab image runs as a virtual desktop or session host inside a pool, and Guacamole publishes the pool through a broker-style connection. Students draw from a shared set of identical desktops rather than a named machine, which lets the platform team reimage the image once and roll it out across the pool. The gateway still does the browser delivery and authentication, but the capacity question moves into the virtualization layer. Confirm that your chosen virtualization platform supports the desktop protocol and pool model you intend to use, since the gateway only sees the protocol endpoint it is given.
- Connection permissions: Grant access to a pool or template rather than to individual hosts, which keeps permissions aligned with courses.
- Seat mapping: Pool size and per-user licensing determine concurrency, so a pool sized for ordinary days may still queue at term-time peaks.
- Patching and reimaging: Update the master image and redeploy the pool, which reduces drift but requires a maintenance window that affects every student in the pool at once.
- Capacity: Scale by adding hosts or pool members, and plan for logon storms at the start of a class period.
- Session persistence: Decide whether students keep data between sessions, since non-persistent desktops reset on logoff and need storage placed outside the image.
Ask the implementer to show the peak concurrency test, the pool reset behavior and how session limits are enforced at the broker and at the gateway.
Most campuses end up with both patterns, because some software needs specialized hardware, such as instrumentation or high-end graphics, while general applications run comfortably in a pool. The decision is less about Guacamole's features, which are the same in both cases, and more about where the licensed software can legally and technically run, and how often the image changes. A useful test is to list each course's software, the hardware it needs, and the number of students who need it at the same time. Courses that need hardware stay on direct connections, while courses that need a common image and predictable seats move to a pool.
- Hardware-bound courses: Keep direct connections where software depends on a specific device or peripheral.
- Shared-image courses: Use a pool where many students run the same application and the image changes often.
- Mixed estates: Use one gateway and one identity integration for both patterns, so students see a single entry point.
- Seat accounting: Reconcile connection counts or pool sizes against the license terms the vendor actually grants, including any concurrency rules.
- Operational ownership: Assign who reimages workstations, who maintains the pool image and who answers for connection lists.
Check with the institution's registrar and IT governance on which data the gateway logs, since session metadata can identify students and falls under the education records rules described elsewhere on this page.
Which platforms fit a campus lab and why
A campus lab needs a browser gateway that students can reach from home, with login tied to campus identity and a record of every session. Apache Guacamole fills the gateway role, while RustDesk covers a narrower job: attended help for staff. The cards below separate those roles so the design starts from the right tool for each job.
Apache Guacamole as the lab gateway
Guacamole is a clientless gateway that serves RDP, VNC and SSH sessions to any HTML5 browser, so students need no VPN client or installed software. It is licensed under Apache-2.0, and its web application and guacd daemon can be deployed in front of lab machines or VDI pools inside the campus network. Check which protocols your lab images expose, and whether licensed applications permit remote use from outside campus.
Campus SSO through Guacamole extensions
Guacamole ships extensions for Active Directory and LDAP, SAML, OpenID Connect, CAS and smart card sign-on, plus Duo and TOTP for multi-factor authentication. Use the one your campus identity provider already runs, so students sign in with their campus account and access ends when the account is disabled. Confirm which extension matches your identity provider before the pilot.
Database backend for connection mapping
Guacamole stores connections, user permissions and group assignments in MariaDB or MySQL, PostgreSQL or SQL Server. The database decides which student can reach which lab machine or pool, so it needs backups and change control like any other system of record. Ask your partner how lab course rosters will sync into groups, and who approves changes to them.
Session recording player for lab audit
Guacamole includes a session recording player extension, which lets staff review what happened during a remote session. Recordings of student sessions raise privacy and retention questions, so define which sessions are recorded, how long files are kept and who may view them. Confirm storage sizing with the recording volume you expect at term-time peaks.
guacd and protocol plugins at scale
The guacd daemon loads protocol client plugins and opens the connections to lab hosts, so it is the component that carries the load during peak hours. Plan how many guacd instances sit behind the web application, and test concurrent sessions against your largest course before exams. Ask the partner to show the scaling tests they ran, not only the architecture diagram.
RustDesk for attended helpdesk only
RustDesk is a remote desktop tool with an AGPL-3.0 client and server, built from hbbs for ID and rendezvous and hbbr for relay. It fits attended help for staff who need to see a screen, not scheduled student lab sessions, which Guacamole handles better. Server Pro adds an audit log and OIDC or LDAP sign-on, is not a SaaS subscription, and its licensing terms should be confirmed on the vendor pricing page before purchase.
How scheduling and session limits keep licensed seats in use
This sequence turns a pool of licensed lab software into a set of connections that students can reach on a schedule, with time and idle limits that free seats when sessions end. It also sets out which decisions the IT team owns and which the course owner must make before term starts.
Inventory licensed seats and their terms
Start by listing every licensed application, the number of concurrent seats each license allows, the lab machines or VDI pools that run it, and any restrictions in the license on home use, named users or device location. The course owner or license administrator confirms the terms in writing, because vendor agreements differ on whether remote access from student homes is permitted. IT records the result as a seat register that maps each license to its hosts. The step is done when every licensed application has one owner, a seat count and a documented access condition.
Map seats to Guacamole connections
Create one Guacamole connection, or one connection group, per launchable seat or per VDI pool, and assign it to the user groups that are entitled to it. Where the license counts concurrent users rather than machines, cap the number of simultaneous sessions for each pool so the total never exceeds the seat count. Confirm the mapping by having a test account in each group attempt to launch a connection and confirm that a pool at capacity refuses the next session rather than overbooking the license. The output is a connection matrix that the IT team can audit.
Connect identity groups to course enrollment
Access should follow enrollment, not individual requests. IT connects campus single sign-on to Guacamole through a supported extension, such as SAML or OpenID Connect, or through LDAP or Active Directory groups, and maps course section codes to the connection groups. Students who drop a course lose access on the next directory sync. Test this by removing a test student from a course group and confirming the connection disappears from their list. Confirm the group sync interval with your identity team, since it determines how quickly access changes take effect.
Set session time limits and idle timeouts
IT sets the maximum session length and the idle timeout for each pool, using the settings that the lab platform and the Guacamole deployment expose. The course owner states how long a typical lab task runs, and IT translates that into a limit that frees the seat when the task ends without cutting off active work. Idle timeouts release seats left open by students who walk away. Confirm the values by starting a test session, leaving it idle, and checking that the seat returns to the pool and that the student sees a clear warning before disconnection. Record the chosen values in the seat register.
Define reservations and exam windows
Decide which scheduling rules are needed: first-come booking, timed reservations for specific classes, or locked windows during which only exam sessions can launch. The course owner decides which windows apply to which course and which students sit the exam. IT implements the rule by moving affected connections into a restricted group for the window or by pausing general launch for that pool. Confirm with a rehearsal that students outside the exam roster cannot start a session during the window and that the exam pool has the seats it needs. Agree in advance who can override a window in an emergency and how that override is logged.
Assign decision rights between IT and course owners
IT owns the technical controls: connection configuration, identity mapping, timeout settings, capacity limits, logging and emergency override. The course owner owns the business rules: which students need which software, which windows apply to which assessments, and whether a time limit suits a given lab task. Write these rights into a short operating document signed by both parties, and add an escalation path for conflicts, such as a course owner asking for a longer limit during term-time peaks. The document is complete when each recurring decision has a named owner.
Test capacity at term-time peaks
Run a load test that simulates the expected number of students launching sessions at the start of a lab period and during a planned exam window. Measure how many sessions the gateway, the lab machines or the VDI pool can hold at once, and check that a launch rejected for capacity produces a clear message. Compare the results against the seat register. IT should confirm the peak figures with the institution's academic calendar and the license terms, since the test is only as good as the expected load. The step is done when the results are documented and any shortfall has a remediation owner.
Review usage and seat allocation each term
Pull session logs from Guacamole and the lab platform to see which connections were used, how long sessions ran, how often idle timeouts fired, and which windows generated rejected launches. The course owner reviews whether the seat count still matches enrollment, and IT adjusts the connection matrix and limits accordingly. Keep the review records with the seat register so the institution can show that licensed seats were allocated against demand. The review closes the cycle and feeds the next term's configuration.
Sizing for term-time peaks without buying idle capacity
Lab demand peaks at predictable moments, but the peaks are not the same for every tool. Start-of-term logins, assignment deadlines and exam periods each stress the system differently. A start-of-term surge hits the login path, the SSO provider and the Guacamole web application at once. An assignment deadline tends to stretch sessions and concentrate use on a few heavy applications, such as CAD, statistics or compilers. Exam periods add a hard ceiling on how many seats can be live at the same time. Before sizing anything, separate these three patterns in your own data, because each one loads a different component.
Gateway capacity and VDI pool size are separate questions, and treating them as one leads to overbuying. The Guacamole gateway (the web application plus the guacd daemon that loads protocol plugins) decides how many concurrent connections the front end can broker and how much the server absorbs in CPU and memory per session. The lab machines or VDI pool decide how many students can actually run licensed software at once. A gateway that can broker a large number of sessions is wasted if the pool has ten seats. Ask your vendor or integrator to size the two layers independently, and to state which resource is the limit for each protocol you publish, RDP, SSH or VNC.
Do not assume load figures. Pull concurrent-session counts, login rates, session durations and licence checkout records from the last two or three terms, and from the access logs your gateway and identity provider already keep. Then request sizing guidance from the vendors of the licensed applications, since their license servers and minimum hardware requirements often set the real ceiling. Confirm with your gateway integrator how session limits and idle timeouts are enforced, so that a peak can be shaped rather than met with extra hardware. Where you cannot yet supply those figures, state that gap in the requirements and treat any sizing as provisional until the first peak has been measured.
Integration points that connect the gateway to campus systems
A lab gateway is only as trustworthy as the systems it trusts for identity, enrollment, licensing, evidence and logging. Each integration below carries student or staff personal data, so the owner and the data flow should be agreed before the gateway is put in front of lab machines.
Campus SSO and MFA
The gateway should accept campus identity rather than keep a local student password list. Guacamole supports SAML, OpenID Connect, CAS and LDAP-based extensions, and it documents Duo and TOTP multi-factor extensions. Confirm which identity provider is the source of truth, how sessions expire when a student leaves the institution, and whether MFA applies to every user or only to staff and to students reaching lab software from off campus. The identity team owns this integration.
Student information system and directory groups
Access to specific lab machines should follow course and program membership, not manual lists. The student information system or directory supplies those group memberships, and Guacamole's connection permissions map them to lab hosts. Check how enrollment changes propagate, how withdrawals and graduations remove access, and which records FERPA requires the institution to log when personally identifiable information is shared. The registrar and directory team own the source data, and the platform team owns the mapping.
License server and software entitlement
Licensed lab software often checks out seats from a license server or requires a vendor entitlement tied to a campus account. The gateway itself does not solve this, so the design must confirm how each application licenses, whether concurrent seat counts limit how many sessions can open, and whether the vendor permits remote delivery from a campus-hosted machine. The software vendor and the academic technology owner should confirm these terms in writing before pilot use.
Session recording storage and retention
Recordings of student sessions are personal data and may be subject to FERPA and to institutional retention schedules. Guacamole's session recording player extension gives a playback path, but storage size, encryption at rest, access to recordings by instructors and retention deletion are design decisions the institution must make. Ask who can view a recording, how deletion is evidenced, and whether recordings are needed at all for a given course. The academic IT and records office should own the retention rule.
Central log platform
Gateway authentication events, connection starts and stops, permission changes and recording access should flow to the central log platform so that a support request or an access question can be answered from one place. FERPA requires a record of disclosures from education records, and the audit trail should make that record reproducible. Confirm the log retention period, how logs are protected from alteration, and how student identifiers are handled in logs that may be shared with support staff. The security operations team owns the platform and its retention settings.
Vendor and contractor access path
Lab support is often delegated to a managed service provider or to the software vendor. Under FERPA, a contractor may receive education records as a school official only when the institution keeps direct control over the use and maintenance of those records. Document which vendor accounts can reach which lab hosts, how those accounts are approved and removed, and whether vendor sessions appear in the same logs as student sessions. The institution's contract owner and the platform team share this item.
Evidence a registrar, auditor or federal reviewer will ask for
This table maps each evidence item a registrar, auditor or federal reviewer may request to the component that produces it and the rule that drives the request. Use it to decide which logs, lists and policies must be designed into the lab gateway from the start. DeployOpen prepares this evidence, but auditors and regulators decide whether it is sufficient.
| Evidence item | Requirement behind it | Component that produces it | What to confirm before go-live |
|---|---|---|---|
| School official access list | FERPA school official conditions and legitimate educational interest (34 CFR 99.31(a)(1)) | Identity provider group records and Guacamole connection permissions | Who can reach which lab machine, and whether vendors or contractors are included as school officials |
| Disclosure and access record | FERPA recordkeeping for requests and disclosures of personally identifiable information (34 CFR 99.32) | Guacamole audit history and gateway access logs, forwarded to a central log store | Whether session metadata identifies students, and how long these records are kept |
| MFA enforcement record | GLBA Safeguards Rule multi-factor authentication for anyone accessing an information system (16 CFR 314.4(c)(5)) | Identity provider authentication logs and Guacamole MFA extension events | Whether MFA applies to every login path, including fallback accounts and local Guacamole users |
| Audit logs for ePHI-style access control | HIPAA audit control concept (45 CFR 164.312(b)), applicable only if the institution also handles health records | Gateway logs, lab machine event logs and SIEM correlation | Whether any clinical or health-related records are reachable from lab sessions, which would bring this rule into scope |
| Session recordings and retention settings | Institution retention policy and FERPA record practices; recordings may contain personally identifiable information | Guacamole session recording player extension and the storage target | Retention period, access limits on recordings and who approves deletion |
| Retention and deletion for minors' data | COPPA data retention policy and deletion timeframe for children under 13 (16 CFR 312.10), where an operator collects data directly | Vendor-provided lab software, the gateway and any session storage | Which parties collect data from under-13 users and whether a written retention policy covers each one |
| Written information security program | GLBA Safeguards Rule written information security program for institutions in Title IV programs (16 CFR 314.4) | Policy set, risk assessment records, configuration baselines and incident response plan | Named program owner, annual risk assessment date and the process for FTC notification within 30 days where required |
| Vendor and contractor access records | FERPA direct control over contractors that receive education records as school officials (34 CFR 99.31(a)(1)(i)(B)) | Contract terms, access approvals and time-limited accounts on the gateway | Written agreement that gives the institution direct control over vendor use and maintenance of records |
How much does a self-hosted lab remote desktop project cost and take?
What drives the cost of a self-hosted lab remote desktop project?
The cost is driven by how many lab machines or VDI sessions you expose, how many concurrent students you expect at term-time peaks, and how much identity, licensing and recording work sits around the gateway. The main components are gateway and VDI hosting, lab software licensing, campus SSO integration, session recording storage, the design and hardening work, and ongoing support. Ask any partner to price each component separately in the written scope so you can see which parts scale with users and which are fixed.
What is one-time cost and what recurs in a lab remote access project?
One-time costs usually include architecture, installation of the Guacamole gateway and its guacd connectors, SSO and multi-factor configuration, scheduling and session-limit setup, testing, and documentation. Recurring costs include hosting for the gateway and any VDI pool, storage that grows with recorded sessions, software license renewals, patching and upgrades, and support time. Lab software vendors often charge per seat or per concurrent user, so confirm whether those licenses renew annually and whether remote student access changes the license count.
How long does a self-hosted lab remote desktop project take?
Duration depends on the number of lab environments, whether you use existing lab machines or build a VDI pool, and how quickly campus identity and licensing questions are settled. A single lab with existing machines and campus SSO is a much smaller piece of work than a multi-department VDI rollout. Ask for a timeline tied to written milestones, and check whether it includes a pilot with a real course before term-time load arrives.
What does campus IT need to provide for the project?
Campus IT typically supplies network placement and firewall rules, a directory or SSO integration point, DNS and certificate management, lab machine inventory, and access to scheduling or course systems if sessions are tied to enrollment. IT also needs to decide who approves access to licensed software and who owns the gateway after handover. Confirm these responsibilities in the scope so the project does not stall waiting for a decision nobody owns.
What does the software vendor need to provide for lab licensing?
Lab software vendors need to confirm in writing whether remote access to their software from a browser session through a gateway is permitted, how concurrent use is counted, and whether institution-wide or named-user licenses cover students at home. Some licenses restrict use to campus networks or specific devices. Ask the vendor for the terms in writing before design starts, because a licensing constraint can change whether you need more VDI capacity or a different architecture.
Can a campus team run a self-hosted lab remote desktop platform alone?
A campus team with Linux, networking and identity skills can operate Guacamole, but the first deployment, hardening, high availability and term-time load testing are where teams most often need outside help. The question is whether your staff can own patching, monitoring, backup and recording retention on an ongoing basis. DeployOpen plans, implements, hardens, backs up, upgrades and documents self-hosted platforms in your own infrastructure, and ongoing support is available as a retainer. Most engagements are fixed-scope and quoted from written scope.
Why does no price or timeline appear without a written scope?
A credible figure depends on facts that are not known until scope is written: the number of labs and machines, expected concurrent users, which lab software and licenses are involved, the identity provider, the recording and retention requirements, and the hosting model. DeployOpen does not publish a price list. Scope, deliverables and timelines are agreed in writing before work starts, and a quote follows from that document. Any number given without these inputs would be a guess.
Does FERPA make a contractor who runs the lab platform a school official?
Under FERPA's school official exception, an outside contractor can receive education records only if it performs a service the institution would otherwise use employees for, is under the institution's direct control for the use and maintenance of those records, and follows the redisclosure limits. Your agreement should define those controls, and the platform should limit access to records by legitimate educational interest. Have counsel confirm your institution's position, since the rule applies to any agency or institution receiving federal education funds.
What changes when the lab users are minors?
Students under 13 bring COPPA into scope for any operator collecting their personal information, which requires a written security program, a designated coordinator, risk assessments and a data retention policy with a deletion timeframe. Session recordings and login logs can contain personal information, so retention and deletion of recordings must be designed in from the start. Confirm with counsel whether the institution or a vendor acts as the operator for each service, and document the retention period.
Questions to ask an implementation partner before signing
Start with FERPA, because it decides what the partner can touch. Ask whether the contract names the partner as a school official under 34 CFR 99.31(a)(1)(i)(B), and how it commits to the redisclosure limits in 99.33(a). Ask who holds direct control over any education records the gateway logs, such as student names attached to session histories, and how the partner will evidence the legitimate educational interest rule in 34 CFR 99.31(a)(1)(ii) through role-based connection permissions. Ask how the partner will support the record of access and disclosure that 34 CFR 99.32 requires, and where those entries live. Confirm with your counsel whether the partner's standard terms cover these points or need an amendment before any student account is created.
Then test the network design and the identity path. Ask the partner to show how the Guacamole host sits in a DMZ with lab machines or VDI pools on a separate segment, which ports are open between them, and how a compromised student session is prevented from reaching administrative networks. For campus SSO, ask which extension the partner would use for your identity provider (the Guacamole manual lists SAML, OpenID Connect, CAS and LDAP options), how MFA is enforced at the gateway rather than left to the upstream login, and what happens to access when a student account is disabled mid-term. Ask how session recording is stored, who can view recordings, and what retention period your institution has set. The retention decision should come from your records schedule and the COPPA rules if any learners are under 13, not from the partner's default.
Finally, agree on capacity and handover before term one. Ask how load tests will be scoped to the peak your registrar and course schedule actually produce, including logon bursts at the start of a term and the concurrent sessions per lab, and whether the test uses your licensed software rather than a synthetic workload. Ask for a written handover covering runbooks, backup and restore of the gateway database, patch windows for the lab images, and who answers a failed login during an exam. Confirm the support hours, escalation path and the fixed-scope deliverables in writing, and ask what the partner will leave your staff able to do without the partner present after the first term.
Rollout phases and what each phase delivers
The sequence moves from inventory and compliance mapping to a single-course pilot, then hardens identity, proves capacity at term-time load, and hands the lab gateway to campus operations with a documented runbook and evidence pack.
Inventory licensed software and lab hosts
DeployOpen works with the IT lead, lab coordinators and software license owners to list every application students must reach, the operating system and version each one needs, which machines or VDI pools host it, and which license terms limit concurrent use or restrict access by location. The output is a scoped design document that names the gateway placement, the protocols each host uses (RDP, VNC or SSH) and the vendors whose licenses must be checked before remote access is offered. Confirm with each vendor whether remote or off-campus use is permitted under the current agreement before the design is signed off.
Map student data and compliance obligations
The team maps which personal data is visible in a session, such as files on the desktop, printed output or application records, and which regulations apply to the institution. For a school that receives federal funds, FERPA rules on school officials, access limits and disclosure logging apply, and where the institution serves children under 13 the COPPA rule may also be relevant. The output is a data flow diagram and a written list of controls to implement, including session logging, retention settings and the access rules for contractors. Legal and privacy staff confirm the mapping before build starts.
Build and test a gateway for one course
DeployOpen deploys Apache Guacamole in the campus environment, connects it to a small set of lab machines used by one course, and configures connection permissions so only enrolled students see those desktops. The pilot runs with a limited group of students and instructors who test the normal workflow from a home network, including file saves, printing to a campus queue and software license checkout. The output is a tested gateway, a list of defects found and fixed, and an instructor sign-off that the course can run remotely without workarounds.
Harden SSO and multi-factor authentication
The team replaces local gateway accounts with campus single sign-on, using the directory and protocol the institution already runs, such as LDAP, SAML or OpenID Connect, which Guacamole supports through its extensions. Multi-factor authentication is enabled for every user who reaches a lab host, and the team tests account disablement, role mapping and password reset paths. The output is a tested identity configuration, a hardening checklist and a record of which accounts can reach which hosts, which supports the Safeguards Rule expectations for schools that participate in Title IV programs.
Set scheduling, session limits and idle timeouts
Lab coordinators define when each desktop is available, how long a session may run, how idle sessions end, and how many students may hold a session on one machine or VDI pool. DeployOpen configures these limits in the gateway and documents the rules that must match the software license terms confirmed in the first phase. The output is a tested policy set that the coordinators approve, with a short note on how exceptions are requested and recorded.
Load test for term-time peaks
Before go-live, the team simulates the number of concurrent sessions the institution expects at the start of term, at exam periods and during assignment deadlines, using the peak figures the campus provides from its own enrollment and lab usage data. The test measures session start times, guacd and host resource use, and the behavior when a pool runs out of machines. The output is a capacity report that states the tested limit, the bottleneck found and the scaling steps needed, along with a decision on whether a second gateway node is required.
Go live and hand over the runbook
The gateway is opened to the wider student population in stages, with the support desk briefed on common failures and the escalation path to DeployOpen during the agreed support period. DeployOpen delivers an access runbook covering account onboarding and removal, session recording review, backup and restore, patching, and how to add a new lab host. The handover is complete when campus staff can perform these tasks without the implementation team and the signed-off evidence pack, which lists configuration baselines, test results and access records, is filed with the institution's compliance owner.
How DeployOpen scopes and supports a campus lab remote desktop
DeployOpen is a Chainscore Labs company that plans, implements, hardens, documents and supports self-hosted open-source platforms inside the institution's own infrastructure, whether that is an on-premises data center, a campus cloud account or a segmented network. For a lab remote desktop, that means the Guacamole gateway, its guacd connectors, the database backend, the campus SSO integration and the lab machine or VDI pool connections are all designed and delivered as one system the college owns. Most engagements are fixed-scope, so the list of lab rooms, software titles, student volumes and session rules is agreed in writing before work starts, and the quote follows from that written scope rather than from a price list. Before a scoping call, the IT lead should gather the license terms for each licensed application, since those terms often decide which machines can be published and to whom.
Scope documents for this kind of work should name who operates each component after handover. Typical items to settle in writing include which lab images or VDI pools are exposed, how students are mapped to connections through group membership, how session time limits and idle timeouts are configured, where session recordings are stored and for how long, and how term-start and exam-period capacity is tested. Ongoing items such as security patches, Guacamole and guacd version upgrades, certificate renewal, backup restore tests and new course software are usually covered by a separate retainer, which recurs and is priced from its own written scope. Ask any partner to show which of these items sit in the fixed project and which sit in the retainer, and to confirm who owns the configuration files and documentation at the end.
DeployOpen prepares systems, configuration and evidence that support compliance assessments, such as access logs, session records and change history for the lab gateway. It does not issue audit reports, attestations or certifications, and it does not decide whether a campus meets FERPA or other obligations on its behalf. Those determinations sit with the institution's counsel, privacy office and any independent assessor it engages. The practical step is to ask the partner for a written list of evidence the gateway will produce, where each item is stored, and who in the college can retrieve it during an records request or review.

