diff --git a/apps/canvas/front/src/components/node-app.tsx b/apps/canvas/front/src/components/node-app.tsx
index 3970558..bf41a4b 100644
--- a/apps/canvas/front/src/components/node-app.tsx
+++ b/apps/canvas/front/src/components/node-app.tsx
@@ -837,46 +837,48 @@
 					/>
 				</form>
 			</Form>
-			<Form {...exposeForm}>
-				<form className="space-y-2">
-					<FormField
-						control={exposeForm.control}
-						name="network"
-						render={({ field }) => (
-							<FormItem>
-								<Select onValueChange={field.onChange} defaultValue={field.value}>
+			{data.dev && data.dev.enabled && (
+				<Form {...exposeForm}>
+					<form className="space-y-2">
+						<FormField
+							control={exposeForm.control}
+							name="network"
+							render={({ field }) => (
+								<FormItem>
+									<Select onValueChange={field.onChange} defaultValue={field.value}>
+										<FormControl>
+											<SelectTrigger>
+												<SelectValue placeholder="Network" />
+											</SelectTrigger>
+										</FormControl>
+										<SelectContent>
+											{env.networks.map((n) => (
+												<SelectItem
+													key={n.name}
+													value={n.domain}
+												>{`${n.name} - ${n.domain}`}</SelectItem>
+											))}
+										</SelectContent>
+									</Select>
+									<FormMessage />
+								</FormItem>
+							)}
+						/>
+						<FormField
+							control={exposeForm.control}
+							name="subdomain"
+							render={({ field }) => (
+								<FormItem>
 									<FormControl>
-										<SelectTrigger>
-											<SelectValue placeholder="Network" />
-										</SelectTrigger>
+										<Input placeholder="subdomain" {...field} />
 									</FormControl>
-									<SelectContent>
-										{env.networks.map((n) => (
-											<SelectItem
-												key={n.name}
-												value={n.domain}
-											>{`${n.name} - ${n.domain}`}</SelectItem>
-										))}
-									</SelectContent>
-								</Select>
-								<FormMessage />
-							</FormItem>
-						)}
-					/>
-					<FormField
-						control={exposeForm.control}
-						name="subdomain"
-						render={({ field }) => (
-							<FormItem>
-								<FormControl>
-									<Input placeholder="subdomain" {...field} />
-								</FormControl>
-								<FormMessage />
-							</FormItem>
-						)}
-					/>
-				</form>
-			</Form>
+									<FormMessage />
+								</FormItem>
+							)}
+						/>
+					</form>
+				</Form>
+			)}
 		</>
 	);
 }
diff --git a/apps/canvas/front/src/lib/state.ts b/apps/canvas/front/src/lib/state.ts
index 7060327..a3caf51 100644
--- a/apps/canvas/front/src/lib/state.ts
+++ b/apps/canvas/front/src/lib/state.ts
@@ -195,15 +195,15 @@
 			case "github":
 				return n.data.repository?.fullName || "Github";
 			case "gateway-https": {
-				if (n.data && n.data.network && n.data.subdomain) {
-					return `https://${n.data.subdomain}.${n.data.network}`;
+				if (n.data && n.data.subdomain) {
+					return `${n.data.subdomain}`;
 				} else {
 					return "HTTPS Gateway";
 				}
 			}
 			case "gateway-tcp": {
-				if (n.data && n.data.network && n.data.subdomain) {
-					return `${n.data.subdomain}.${n.data.network}`;
+				if (n.data && n.data.subdomain) {
+					return `${n.data.subdomain}`;
 				} else {
 					return "TCP Gateway";
 				}
