diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8e73935..0e086eb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
stages:
- deploy
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..db3c2aa
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,35 @@
+PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+
+This is free public domain software for the public good of a permacomputer hosted
+at permacomputer.com - an always-on computer by the people, for the people. One
+which is durable, easy to repair, and distributed like tap water for machine
+learning intelligence.
+
+The permacomputer is community-owned infrastructure optimized around four values:
+
+ TRUTH - Source code must be open source & freely distributed
+ FREEDOM - Voluntary participation without corporate control
+ HARMONY - Systems operating with minimal waste that self-renew
+ LOVE - Individual rights protected while fostering cooperation
+
+This software contributes to that vision by enabling code execution across 42+
+programming languages through a unified interface, accessible to all. Code is
+seeds to sprout on any abandoned technology.
+
+Learn more: https://www.permacomputer.com
+
+Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
+software, either in source code form or as a compiled binary, for any purpose,
+commercial or non-commercial, and by any means.
+
+NO WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
+
+That said, our permacomputer's digital membrane stratum continuously runs unit,
+integration, and functional tests on all of it's own software - with our
+permacomputer monitoring itself, repairing itself, with minimal human in the
+loop guidance. Our agents do their best.
+
+Copyright 2025 TimeHexOn & foxhop & russell@unturf
+https://www.timehexon.com
+https://www.foxhop.net
+https://www.unturf.com/software
diff --git a/Makefile b/Makefile
index 25bf095..96ac7df 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Makefile for ai.unturf.com project
# All commands used for testing, validation, and development
diff --git a/Makefile.languages b/Makefile.languages
index 090c947..be90102 100644
--- a/Makefile.languages
+++ b/Makefile.languages
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Makefile for ai.unturf.com Language Examples
# This Makefile contains commands for building and testing language example implementations
# Each language demonstrates usage of Hermes AI, Qwen Coder, and TTS endpoints
diff --git a/integration_tests.js b/integration_tests.js
index 5a5c324..0584e5e 100755
--- a/integration_tests.js
+++ b/integration_tests.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Comprehensive Integration tests to verify all imports, exports, and functionality work correctly
// Run with: node integration_tests.js
diff --git a/public/browser-toys.html b/public/browser-toys.html
index 5c0e9e0..0cacb24 100644
--- a/public/browser-toys.html
+++ b/public/browser-toys.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/c-examples.html b/public/c-examples.html
index 748d3e2..b2d6dd0 100644
--- a/public/c-examples.html
+++ b/public/c-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/cli.html b/public/cli.html
index ad577c5..63bb5d2 100644
--- a/public/cli.html
+++ b/public/cli.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/crawler.html b/public/crawler.html
index 24b5cc5..f017df5 100644
--- a/public/crawler.html
+++ b/public/crawler.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/csharp-examples.html b/public/csharp-examples.html
index 2ad65f5..661aa5c 100644
--- a/public/csharp-examples.html
+++ b/public/csharp-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/css/sidebar-theme.css b/public/css/sidebar-theme.css
index e9cf300..0c3df30 100644
--- a/public/css/sidebar-theme.css
+++ b/public/css/sidebar-theme.css
@@ -1,3 +1,9 @@
+/*
+ PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+ Copyright 2025 TimeHexOn & foxhop & russell@unturf
+ https://www.permacomputer.com
+*/
+
/* CSS Grid-based sidebar navigation theme for PicoCSS */
:root {
diff --git a/public/dart-examples.html b/public/dart-examples.html
index 6dc7b48..140c8e2 100644
--- a/public/dart-examples.html
+++ b/public/dart-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/demo.html b/public/demo.html
index f64c6f8..a188e14 100644
--- a/public/demo.html
+++ b/public/demo.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/elixir-examples.html b/public/elixir-examples.html
index 20321f4..fd6d1fe 100644
--- a/public/elixir-examples.html
+++ b/public/elixir-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/go-examples.html b/public/go-examples.html
index e24a07f..e52eafa 100644
--- a/public/go-examples.html
+++ b/public/go-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/index.html b/public/index.html
index 07c761f..4b2f931 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/inference.html b/public/inference.html
index dab0c39..e500521 100644
--- a/public/inference.html
+++ b/public/inference.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/java-examples.html b/public/java-examples.html
index 1e90851..3fc3c33 100644
--- a/public/java-examples.html
+++ b/public/java-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/kotlin-examples.html b/public/kotlin-examples.html
index 24cfbfd..c0549ac 100644
--- a/public/kotlin-examples.html
+++ b/public/kotlin-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/languages/awk/Dockerfile b/public/languages/awk/Dockerfile
index 4a24aca..795d316 100644
--- a/public/languages/awk/Dockerfile
+++ b/public/languages/awk/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# GNU AWK 5.3.2 (checked 2025-10-13: gawk 5.3.2-r2 is latest in Alpine edge)
FROM alpine:latest
diff --git a/public/languages/awk/uncloseai.awk b/public/languages/awk/uncloseai.awk
index 2c10d6a..f076ba0 100644
--- a/public/languages/awk/uncloseai.awk
+++ b/public/languages/awk/uncloseai.awk
@@ -1,4 +1,8 @@
#!/usr/bin/awk -f
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# UncloseAI AWK Library - OpenAI-compatible API client with streaming support
# Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/bash/Dockerfile b/public/languages/bash/Dockerfile
index 1ad6f37..4e08b1c 100644
--- a/public/languages/bash/Dockerfile
+++ b/public/languages/bash/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM alpine:latest
RUN apk add --no-cache bash curl jq ca-certificates
diff --git a/public/languages/bash/uncloseai.sh b/public/languages/bash/uncloseai.sh
index 8c0fbcb..a831571 100755
--- a/public/languages/bash/uncloseai.sh
+++ b/public/languages/bash/uncloseai.sh
@@ -1,4 +1,8 @@
#!/bin/bash
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# UncloseAI Bash Library - OpenAI-compatible API client with streaming support
# Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/c/curl/Dockerfile b/public/languages/c/curl/Dockerfile
index 556d98d..485b1ec 100644
--- a/public/languages/c/curl/Dockerfile
+++ b/public/languages/c/curl/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-12: alpine:3.21 is latest stable)
FROM alpine:latest
diff --git a/public/languages/c/curl/Makefile b/public/languages/c/curl/Makefile
index dc105fc..d49c191 100644
--- a/public/languages/c/curl/Makefile
+++ b/public/languages/c/curl/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CC = gcc
CFLAGS = -Wall -Wextra -O2
LDFLAGS = -lcurl
diff --git a/public/languages/c/curl/uncloseai.c b/public/languages/c/curl/uncloseai.c
index 46b757b..1d6b09d 100644
--- a/public/languages/c/curl/uncloseai.c
+++ b/public/languages/c/curl/uncloseai.c
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C Library using libcurl
* OpenAI-compatible API client with streaming support
diff --git a/public/languages/c/libsoup/Dockerfile b/public/languages/c/libsoup/Dockerfile
index 7c1308a..b67b2db 100644
--- a/public/languages/c/libsoup/Dockerfile
+++ b/public/languages/c/libsoup/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-14: alpine:3.20 is latest stable)
FROM alpine:latest
diff --git a/public/languages/c/libsoup/Makefile b/public/languages/c/libsoup/Makefile
index d5965f4..6b77c78 100644
--- a/public/languages/c/libsoup/Makefile
+++ b/public/languages/c/libsoup/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CC = gcc
CFLAGS = -Wall -Wextra $(shell pkg-config --cflags libsoup-2.4)
LDFLAGS = $(shell pkg-config --libs libsoup-2.4)
diff --git a/public/languages/c/libsoup/uncloseai.c b/public/languages/c/libsoup/uncloseai.c
index 62dee79..653d9f7 100644
--- a/public/languages/c/libsoup/uncloseai.c
+++ b/public/languages/c/libsoup/uncloseai.c
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C Client using libsoup (GNOME HTTP Library)
* OpenAI-compatible API client with streaming support
diff --git a/public/languages/c/nghttp2/Dockerfile b/public/languages/c/nghttp2/Dockerfile
index 6c54bd4..2f7eedb 100644
--- a/public/languages/c/nghttp2/Dockerfile
+++ b/public/languages/c/nghttp2/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-14: alpine:3.20 is latest stable)
FROM alpine:latest
diff --git a/public/languages/c/nghttp2/Makefile b/public/languages/c/nghttp2/Makefile
index 79171fe..2959745 100644
--- a/public/languages/c/nghttp2/Makefile
+++ b/public/languages/c/nghttp2/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CC = gcc
CFLAGS = -Wall -Wextra -O2
LDFLAGS = -lnghttp2
diff --git a/public/languages/c/nghttp2/uncloseai.c b/public/languages/c/nghttp2/uncloseai.c
index 66f3954..028b306 100644
--- a/public/languages/c/nghttp2/uncloseai.c
+++ b/public/languages/c/nghttp2/uncloseai.c
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C Client using nghttp2 (HTTP/2)
* OpenAI-compatible API client with HTTP/2 and streaming support
diff --git a/public/languages/clojure/Dockerfile b/public/languages/clojure/Dockerfile
index 6d546cb..ad84f11 100644
--- a/public/languages/clojure/Dockerfile
+++ b/public/languages/clojure/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Clojure with OpenJDK 21 (checked 2025-10-13: clojure:temurin-21-tools-deps-alpine is latest stable)
FROM clojure:temurin-21-tools-deps-alpine
diff --git a/public/languages/clojure/deps.edn b/public/languages/clojure/deps.edn
index a2062f8..c123043 100644
--- a/public/languages/clojure/deps.edn
+++ b/public/languages/clojure/deps.edn
@@ -1,3 +1,7 @@
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
{:deps {clj-http/clj-http {:mvn/version "3.13.0"}
cheshire/cheshire {:mvn/version "5.13.0"}}
:paths ["."]}
diff --git a/public/languages/clojure/uncloseai.clj b/public/languages/clojure/uncloseai.clj
index 27bd9d2..819a7ce 100644
--- a/public/languages/clojure/uncloseai.clj
+++ b/public/languages/clojure/uncloseai.clj
@@ -1,3 +1,7 @@
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
(ns uncloseai
"UncloseAI Clojure Library - OpenAI-compatible API client with streaming support
Compatible with vLLM, Ollama, and OpenAI-compatible endpoints"
diff --git a/public/languages/cobol/Dockerfile b/public/languages/cobol/Dockerfile
index dc11710..3c0d32f 100644
--- a/public/languages/cobol/Dockerfile
+++ b/public/languages/cobol/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# GnuCOBOL 3.x (checked 2025-10-13: hldtux/cobol-gnu is available)
FROM debian:bookworm-slim AS builder
diff --git a/public/languages/cobol/discover.sh b/public/languages/cobol/discover.sh
index c9e3d17..8e33361 100644
--- a/public/languages/cobol/discover.sh
+++ b/public/languages/cobol/discover.sh
@@ -1,4 +1,8 @@
#!/bin/sh
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Model discovery for COBOL - outputs discovered models to files
# Discover models from MODEL_ENDPOINT_N
diff --git a/public/languages/cobol/hermes.sh b/public/languages/cobol/hermes.sh
index 28a1216..c003e8b 100644
--- a/public/languages/cobol/hermes.sh
+++ b/public/languages/cobol/hermes.sh
@@ -1,4 +1,8 @@
#!/bin/sh
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use first discovered model
if [ ! -f /tmp/model_0.txt ] || [ ! -f /tmp/endpoint_0.txt ]; then
echo "ERROR: No models discovered"
diff --git a/public/languages/cobol/qwen.sh b/public/languages/cobol/qwen.sh
index 7b35198..82312c0 100644
--- a/public/languages/cobol/qwen.sh
+++ b/public/languages/cobol/qwen.sh
@@ -1,4 +1,8 @@
#!/bin/sh
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use second discovered model (or first if only one)
if [ -f /tmp/model_1.txt ] && [ -f /tmp/endpoint_1.txt ]; then
model=$(cat /tmp/model_1.txt)
diff --git a/public/languages/cobol/tts.sh b/public/languages/cobol/tts.sh
index b5638fa..6024523 100644
--- a/public/languages/cobol/tts.sh
+++ b/public/languages/cobol/tts.sh
@@ -1,4 +1,8 @@
#!/bin/sh
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use first TTS endpoint
if [ ! -f /tmp/tts_endpoint.txt ]; then
echo "ERROR: No TTS endpoints discovered"
diff --git a/public/languages/cobol/uncloseai.cob b/public/languages/cobol/uncloseai.cob
index 08ba2b6..207ba40 100644
--- a/public/languages/cobol/uncloseai.cob
+++ b/public/languages/cobol/uncloseai.cob
@@ -1,3 +1,7 @@
+ *> PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+ *> Copyright 2025 TimeHexOn & foxhop & russell@unturf
+ *> https://www.permacomputer.com
+
IDENTIFICATION DIVISION.
PROGRAM-ID. UNCLOSEAI.
diff --git a/public/languages/commonlisp/Dockerfile b/public/languages/commonlisp/Dockerfile
index 57c63fb..195a892 100644
--- a/public/languages/commonlisp/Dockerfile
+++ b/public/languages/commonlisp/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific SBCL version (checked 2025-10-15: clfoundation/sbcl:latest is stable)
FROM clfoundation/sbcl:latest
diff --git a/public/languages/commonlisp/uncloseai.lisp b/public/languages/commonlisp/uncloseai.lisp
index 41a3040..0489cf0 100644
--- a/public/languages/commonlisp/uncloseai.lisp
+++ b/public/languages/commonlisp/uncloseai.lisp
@@ -1,4 +1,8 @@
#!/usr/bin/env sbcl --script
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
;;; uncloseai - Common Lisp client library for OpenAI-compatible APIs
;;; Supports streaming and non-streaming chat, model discovery, and TTS
diff --git a/public/languages/cpp/boost-beast/Dockerfile b/public/languages/cpp/boost-beast/Dockerfile
index 5b18594..232f3ca 100644
--- a/public/languages/cpp/boost-beast/Dockerfile
+++ b/public/languages/cpp/boost-beast/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-14: alpine:3.20 is latest stable)
FROM alpine:latest
diff --git a/public/languages/cpp/boost-beast/Makefile b/public/languages/cpp/boost-beast/Makefile
index a05ed0f..02e4c5d 100644
--- a/public/languages/cpp/boost-beast/Makefile
+++ b/public/languages/cpp/boost-beast/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CXX = g++
CXXFLAGS = -std=c++17 -Wall -Wextra -O2
LDFLAGS = -lssl -lcrypto -lpthread
diff --git a/public/languages/cpp/boost-beast/uncloseai.cpp b/public/languages/cpp/boost-beast/uncloseai.cpp
index 9c42157..26ba054 100644
--- a/public/languages/cpp/boost-beast/uncloseai.cpp
+++ b/public/languages/cpp/boost-beast/uncloseai.cpp
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C++ Library using Boost.Beast
* OpenAI-compatible API client with HTTP/HTTPS support
diff --git a/public/languages/cpp/cpp-httplib/Dockerfile b/public/languages/cpp/cpp-httplib/Dockerfile
index 0c3ec3b..8ac97a3 100644
--- a/public/languages/cpp/cpp-httplib/Dockerfile
+++ b/public/languages/cpp/cpp-httplib/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-14: alpine:3.20 is latest stable)
FROM alpine:latest
diff --git a/public/languages/cpp/cpp-httplib/Makefile b/public/languages/cpp/cpp-httplib/Makefile
index 52633c3..635c798 100644
--- a/public/languages/cpp/cpp-httplib/Makefile
+++ b/public/languages/cpp/cpp-httplib/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CXX = g++
CXXFLAGS = -std=c++17 -Wall -Wextra -O2 -DCPPHTTPLIB_OPENSSL_SUPPORT
LDFLAGS = -lssl -lcrypto -lpthread
diff --git a/public/languages/cpp/cpp-httplib/uncloseai.cpp b/public/languages/cpp/cpp-httplib/uncloseai.cpp
index b6f9d8e..a5cdee2 100644
--- a/public/languages/cpp/cpp-httplib/uncloseai.cpp
+++ b/public/languages/cpp/cpp-httplib/uncloseai.cpp
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C++ Library using cpp-httplib (header-only)
* OpenAI-compatible API client with streaming support
diff --git a/public/languages/cpp/libcurl/Dockerfile b/public/languages/cpp/libcurl/Dockerfile
index eb51aab..0929ccf 100644
--- a/public/languages/cpp/libcurl/Dockerfile
+++ b/public/languages/cpp/libcurl/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Alpine version (checked 2025-10-12: alpine:3.21 is latest stable)
FROM alpine:latest
diff --git a/public/languages/cpp/libcurl/Makefile b/public/languages/cpp/libcurl/Makefile
index 4decd6b..9d5920f 100644
--- a/public/languages/cpp/libcurl/Makefile
+++ b/public/languages/cpp/libcurl/Makefile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
CXX = g++
CXXFLAGS = -std=c++11 -Wall -Wextra -O2
LDFLAGS = -lcurl
diff --git a/public/languages/cpp/libcurl/uncloseai.cpp b/public/languages/cpp/libcurl/uncloseai.cpp
index 63427ba..a988581 100644
--- a/public/languages/cpp/libcurl/uncloseai.cpp
+++ b/public/languages/cpp/libcurl/uncloseai.cpp
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* UncloseAI C++ Library using libcurl
* OpenAI-compatible API client with streaming support
diff --git a/public/languages/crystal/Dockerfile b/public/languages/crystal/Dockerfile
index 24fb5b1..9844ebf 100644
--- a/public/languages/crystal/Dockerfile
+++ b/public/languages/crystal/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Crystal latest-alpine (checked 2025-10-13: crystallang/crystal:latest-alpine is latest stable)
FROM crystallang/crystal:latest-alpine AS builder
diff --git a/public/languages/crystal/uncloseai.cr b/public/languages/crystal/uncloseai.cr
index ba0a47d..c297c8f 100644
--- a/public/languages/crystal/uncloseai.cr
+++ b/public/languages/crystal/uncloseai.cr
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
require "http/client"
require "json"
diff --git a/public/languages/csharp/dotnet10/Dockerfile b/public/languages/csharp/dotnet10/Dockerfile
index 7dec4a6..dd1ec82 100644
--- a/public/languages/csharp/dotnet10/Dockerfile
+++ b/public/languages/csharp/dotnet10/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# .NET 10 Preview (checked 2026-01-26: mcr.microsoft.com/dotnet/sdk:10.0-preview is latest)
FROM mcr.microsoft.com/dotnet/sdk:10.0-preview-alpine AS builder
diff --git a/public/languages/csharp/dotnet10/Uncloseai.cs b/public/languages/csharp/dotnet10/Uncloseai.cs
index 327f1f7..0d4e3f6 100644
--- a/public/languages/csharp/dotnet10/Uncloseai.cs
+++ b/public/languages/csharp/dotnet10/Uncloseai.cs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
using System;
using System.Net.Http;
using System.Text;
diff --git a/public/languages/csharp/dotnet10/uncloseai.csproj b/public/languages/csharp/dotnet10/uncloseai.csproj
index bad583f..41ce88d 100644
--- a/public/languages/csharp/dotnet10/uncloseai.csproj
+++ b/public/languages/csharp/dotnet10/uncloseai.csproj
@@ -1,3 +1,9 @@
+
+
Exe
diff --git a/public/languages/csharp/http/Dockerfile b/public/languages/csharp/http/Dockerfile
index 9a0a960..85e10c0 100644
--- a/public/languages/csharp/http/Dockerfile
+++ b/public/languages/csharp/http/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# .NET 9.0 C# (checked 2025-10-13: mcr.microsoft.com/dotnet/sdk:9.0 is latest stable)
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS builder
diff --git a/public/languages/csharp/http/Uncloseai.cs b/public/languages/csharp/http/Uncloseai.cs
index 327f1f7..0d4e3f6 100644
--- a/public/languages/csharp/http/Uncloseai.cs
+++ b/public/languages/csharp/http/Uncloseai.cs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
using System;
using System.Net.Http;
using System.Text;
diff --git a/public/languages/csharp/http/csharp.csproj b/public/languages/csharp/http/csharp.csproj
index 39e869b..d6f5a44 100644
--- a/public/languages/csharp/http/csharp.csproj
+++ b/public/languages/csharp/http/csharp.csproj
@@ -1,3 +1,9 @@
+
+
Exe
diff --git a/public/languages/csharp/mono/Dockerfile b/public/languages/csharp/mono/Dockerfile
index 9ec7466..46377d9 100644
--- a/public/languages/csharp/mono/Dockerfile
+++ b/public/languages/csharp/mono/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Mono C# (checked 2026-01-26: mono:latest is 6.12)
FROM mono:latest
diff --git a/public/languages/csharp/mono/Uncloseai.cs b/public/languages/csharp/mono/Uncloseai.cs
index 327f1f7..0d4e3f6 100644
--- a/public/languages/csharp/mono/Uncloseai.cs
+++ b/public/languages/csharp/mono/Uncloseai.cs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
using System;
using System.Net.Http;
using System.Text;
diff --git a/public/languages/csharp/openai/Dockerfile b/public/languages/csharp/openai/Dockerfile
index b1e2927..819ad55 100644
--- a/public/languages/csharp/openai/Dockerfile
+++ b/public/languages/csharp/openai/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use official .NET SDK to build
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS builder
diff --git a/public/languages/csharp/openai/uncloseai.cs b/public/languages/csharp/openai/uncloseai.cs
index 9641322..15fcd2b 100644
--- a/public/languages/csharp/openai/uncloseai.cs
+++ b/public/languages/csharp/openai/uncloseai.cs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
using System;
using System.ClientModel;
using System.IO;
diff --git a/public/languages/csharp/openai/uncloseai.csproj b/public/languages/csharp/openai/uncloseai.csproj
index ea95396..c89259b 100644
--- a/public/languages/csharp/openai/uncloseai.csproj
+++ b/public/languages/csharp/openai/uncloseai.csproj
@@ -1,3 +1,9 @@
+
+
diff --git a/public/languages/d/Dockerfile b/public/languages/d/Dockerfile
index 252b59e..0952df2 100644
--- a/public/languages/d/Dockerfile
+++ b/public/languages/d/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use official D language Docker image (checked 2025-10-15: dlang2/dmd-ubuntu:latest is stable)
FROM dlang2/dmd-ubuntu:latest
diff --git a/public/languages/d/uncloseai.d b/public/languages/d/uncloseai.d
index 9a6c1bb..046f6de 100644
--- a/public/languages/d/uncloseai.d
+++ b/public/languages/d/uncloseai.d
@@ -1,4 +1,8 @@
#!/usr/bin/env rdmd
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// uncloseai. - D Language Client
// Multiple AI model examples with streaming and non-streaming chat, plus TTS
diff --git a/public/languages/dart/Dockerfile b/public/languages/dart/Dockerfile
index b43c006..1e0abf3 100644
--- a/public/languages/dart/Dockerfile
+++ b/public/languages/dart/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM dart:stable AS build
WORKDIR /app
diff --git a/public/languages/dart/bin/uncloseai.dart b/public/languages/dart/bin/uncloseai.dart
index 9047fd8..d8de8bc 100644
--- a/public/languages/dart/bin/uncloseai.dart
+++ b/public/languages/dart/bin/uncloseai.dart
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import 'dart:io';
import 'dart:convert';
import 'dart:async';
diff --git a/public/languages/dart/pubspec.yaml b/public/languages/dart/pubspec.yaml
index 3535fd9..fb7a587 100644
--- a/public/languages/dart/pubspec.yaml
+++ b/public/languages/dart/pubspec.yaml
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
name: ai_examples
description: AI API examples in Dart
version: 1.0.0
diff --git a/public/languages/deno/Dockerfile b/public/languages/deno/Dockerfile
index 5964fa2..8f39495 100644
--- a/public/languages/deno/Dockerfile
+++ b/public/languages/deno/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM denoland/deno:2.1.4
WORKDIR /app
diff --git a/public/languages/deno/uncloseai.ts b/public/languages/deno/uncloseai.ts
index 37779d0..b29b8e0 100644
--- a/public/languages/deno/uncloseai.ts
+++ b/public/languages/deno/uncloseai.ts
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/**
* UncloseAI Deno/TypeScript Library
* OpenAI-compatible API client with streaming support
diff --git a/public/languages/elixir/httpoison/Dockerfile b/public/languages/elixir/httpoison/Dockerfile
index 1ab2623..9d80612 100644
--- a/public/languages/elixir/httpoison/Dockerfile
+++ b/public/languages/elixir/httpoison/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM elixir:1.17-alpine AS build
WORKDIR /app
diff --git a/public/languages/elixir/httpoison/lib/uncloseai.ex b/public/languages/elixir/httpoison/lib/uncloseai.ex
index e7edb26..bc445fa 100644
--- a/public/languages/elixir/httpoison/lib/uncloseai.ex
+++ b/public/languages/elixir/httpoison/lib/uncloseai.ex
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
defmodule UncloseAI do
@moduledoc """
UncloseAI Elixir Library
diff --git a/public/languages/elixir/httpoison/mix.exs b/public/languages/elixir/httpoison/mix.exs
index 38d9d5e..8c950e8 100644
--- a/public/languages/elixir/httpoison/mix.exs
+++ b/public/languages/elixir/httpoison/mix.exs
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
defmodule AIExamples.MixProject do
use Mix.Project
diff --git a/public/languages/elixir/httpoison/run.exs b/public/languages/elixir/httpoison/run.exs
index 49e8858..55459a4 100644
--- a/public/languages/elixir/httpoison/run.exs
+++ b/public/languages/elixir/httpoison/run.exs
@@ -1,4 +1,8 @@
#!/usr/bin/env elixir
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Load dependencies (skip Mix.install when running via Docker with pre-compiled deps)
unless System.get_env("MIX_ENV") == "prod" do
diff --git a/public/languages/elixir/openai/Dockerfile b/public/languages/elixir/openai/Dockerfile
index 08c1653..ac01345 100644
--- a/public/languages/elixir/openai/Dockerfile
+++ b/public/languages/elixir/openai/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use official Elixir image
FROM elixir:1.17-alpine
diff --git a/public/languages/elixir/openai/mix.exs b/public/languages/elixir/openai/mix.exs
index afd6c87..53fbb37 100644
--- a/public/languages/elixir/openai/mix.exs
+++ b/public/languages/elixir/openai/mix.exs
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
defmodule UncloseaiOpenai.MixProject do
use Mix.Project
diff --git a/public/languages/elixir/openai/uncloseai.exs b/public/languages/elixir/openai/uncloseai.exs
index 611d8a1..c5bedd5 100644
--- a/public/languages/elixir/openai/uncloseai.exs
+++ b/public/languages/elixir/openai/uncloseai.exs
@@ -1,4 +1,8 @@
#!/usr/bin/env elixir
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
Mix.install([{:openai_ex, "~> 0.9.18"}, {:httpoison, "~> 2.2"}, {:jason, "~> 1.4"}])
diff --git a/public/languages/erlang/Dockerfile b/public/languages/erlang/Dockerfile
index 526b609..1fa8559 100644
--- a/public/languages/erlang/Dockerfile
+++ b/public/languages/erlang/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM erlang:27-alpine as builder
WORKDIR /app
diff --git a/public/languages/erlang/rebar.config b/public/languages/erlang/rebar.config
index 41d62f4..ebe0132 100644
--- a/public/languages/erlang/rebar.config
+++ b/public/languages/erlang/rebar.config
@@ -1,3 +1,7 @@
+% PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+% Copyright 2025 TimeHexOn & foxhop & russell@unturf
+% https://www.permacomputer.com
+
{deps, [
{hackney, "1.20.1"},
{jsx, "3.1.0"}
diff --git a/public/languages/erlang/src/uncloseai.app.src b/public/languages/erlang/src/uncloseai.app.src
index 41ba176..6beb823 100644
--- a/public/languages/erlang/src/uncloseai.app.src
+++ b/public/languages/erlang/src/uncloseai.app.src
@@ -1,3 +1,7 @@
+% PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+% Copyright 2025 TimeHexOn & foxhop & russell@unturf
+% https://www.permacomputer.com
+
{application, uncloseai,
[{description, "Uncloseai Erlang implementation"},
{vsn, "0.1.0"},
diff --git a/public/languages/erlang/src/uncloseai.erl b/public/languages/erlang/src/uncloseai.erl
index c28ade8..f8551f4 100644
--- a/public/languages/erlang/src/uncloseai.erl
+++ b/public/languages/erlang/src/uncloseai.erl
@@ -1,3 +1,7 @@
+% PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+% Copyright 2025 TimeHexOn & foxhop & russell@unturf
+% https://www.permacomputer.com
+
%% UncloseAI Erlang Library
%% OpenAI-compatible API client with streaming support
%% Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/fortran/Dockerfile b/public/languages/fortran/Dockerfile
index fad0b3a..d1dffb5 100644
--- a/public/languages/fortran/Dockerfile
+++ b/public/languages/fortran/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM gcc:latest
RUN apt-get update && apt-get install -y \
diff --git a/public/languages/fortran/uncloseai.f90 b/public/languages/fortran/uncloseai.f90
index 51a09c1..3699cad 100644
--- a/public/languages/fortran/uncloseai.f90
+++ b/public/languages/fortran/uncloseai.f90
@@ -1,3 +1,7 @@
+! PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+! Copyright 2025 TimeHexOn & foxhop & russell@unturf
+! https://www.permacomputer.com
+
! UncloseAI Fortran Library
! OpenAI-compatible API client with streaming support
! Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/fsharp/Dockerfile b/public/languages/fsharp/Dockerfile
index 868c4fe..32d9d0f 100644
--- a/public/languages/fsharp/Dockerfile
+++ b/public/languages/fsharp/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# .NET 9.0 F# (checked 2025-10-13: mcr.microsoft.com/dotnet/sdk:9.0 is latest stable)
FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS builder
diff --git a/public/languages/fsharp/Uncloseai.fs b/public/languages/fsharp/Uncloseai.fs
index a1c7c41..3ed1906 100644
--- a/public/languages/fsharp/Uncloseai.fs
+++ b/public/languages/fsharp/Uncloseai.fs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UncloseAI F# Library
// OpenAI-compatible API client with streaming support
// Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/fsharp/fsharp.fsproj b/public/languages/fsharp/fsharp.fsproj
index b3280b7..f15d72d 100644
--- a/public/languages/fsharp/fsharp.fsproj
+++ b/public/languages/fsharp/fsharp.fsproj
@@ -1,3 +1,9 @@
+
+
Exe
diff --git a/public/languages/go/examples/basic.go b/public/languages/go/examples/basic.go
index 61aacfd..0f4a722 100644
--- a/public/languages/go/examples/basic.go
+++ b/public/languages/go/examples/basic.go
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UncloseAI Go Library - Usage Examples
//
// Demonstrates how to use the UncloseAI library for:
diff --git a/public/languages/go/examples/go.mod b/public/languages/go/examples/go.mod
index 02073ce..21d007b 100644
--- a/public/languages/go/examples/go.mod
+++ b/public/languages/go/examples/go.mod
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
module uncloseai-examples
go 1.19
diff --git a/public/languages/go/http/Dockerfile b/public/languages/go/http/Dockerfile
index 778e6ed..858b3b2 100644
--- a/public/languages/go/http/Dockerfile
+++ b/public/languages/go/http/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Go version (checked 2025-10-13: golang:1.23-alpine is latest stable)
FROM golang:1.23-alpine AS builder
diff --git a/public/languages/go/http/go.mod b/public/languages/go/http/go.mod
index b6df65e..9b5cc9a 100644
--- a/public/languages/go/http/go.mod
+++ b/public/languages/go/http/go.mod
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
module uncloseai.com
go 1.19
diff --git a/public/languages/go/http/uncloseai.go b/public/languages/go/http/uncloseai.go
index 30d76bd..5eaeb00 100644
--- a/public/languages/go/http/uncloseai.go
+++ b/public/languages/go/http/uncloseai.go
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
package main
import (
diff --git a/public/languages/go/openai/Dockerfile b/public/languages/go/openai/Dockerfile
index c7b20af..62b4f9a 100644
--- a/public/languages/go/openai/Dockerfile
+++ b/public/languages/go/openai/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Multi-stage build for Go with official OpenAI SDK
FROM golang:1.23-alpine AS builder
diff --git a/public/languages/go/openai/go.mod b/public/languages/go/openai/go.mod
index 548be6c..8b939f6 100644
--- a/public/languages/go/openai/go.mod
+++ b/public/languages/go/openai/go.mod
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
module uncloseai-go-openai
go 1.19
diff --git a/public/languages/go/openai/main.go b/public/languages/go/openai/main.go
index 2118cc4..90f5af8 100644
--- a/public/languages/go/openai/main.go
+++ b/public/languages/go/openai/main.go
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
package main
import (
diff --git a/public/languages/go/uncloseai/go.mod b/public/languages/go/uncloseai/go.mod
index 40c87f4..83f45ed 100644
--- a/public/languages/go/uncloseai/go.mod
+++ b/public/languages/go/uncloseai/go.mod
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
module uncloseai.com/uncloseai
go 1.19
diff --git a/public/languages/go/uncloseai/uncloseai.go b/public/languages/go/uncloseai/uncloseai.go
index dd03a05..b1ad8da 100644
--- a/public/languages/go/uncloseai/uncloseai.go
+++ b/public/languages/go/uncloseai/uncloseai.go
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Package uncloseai provides a Go client library for interacting with vLLM, Ollama, and OpenAI-compatible APIs.
//
// Features:
diff --git a/public/languages/groovy/openai-client/Dockerfile b/public/languages/groovy/openai-client/Dockerfile
index 8715663..9ce182c 100644
--- a/public/languages/groovy/openai-client/Dockerfile
+++ b/public/languages/groovy/openai-client/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific Groovy version (checked 2025-10-15: groovy:4.0.25-jdk17 is latest stable)
FROM groovy:4.0.25-jdk17
diff --git a/public/languages/groovy/openai-client/HermesNonStreaming.groovy b/public/languages/groovy/openai-client/HermesNonStreaming.groovy
index 4e55ca5..00c8a23 100644
--- a/public/languages/groovy/openai-client/HermesNonStreaming.groovy
+++ b/public/languages/groovy/openai-client/HermesNonStreaming.groovy
@@ -1,4 +1,8 @@
#!/usr/bin/env groovy
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Hermes AI Non-Streaming Example using OpenAI Java Client
// Groovy leverages Java libraries seamlessly
diff --git a/public/languages/groovy/openai-client/HermesStreaming.groovy b/public/languages/groovy/openai-client/HermesStreaming.groovy
index 6cf8eaf..e838fe7 100644
--- a/public/languages/groovy/openai-client/HermesStreaming.groovy
+++ b/public/languages/groovy/openai-client/HermesStreaming.groovy
@@ -1,4 +1,8 @@
#!/usr/bin/env groovy
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Hermes AI Streaming Example using OpenAI Java Client
// Demonstrates real-time streaming responses
diff --git a/public/languages/groovy/openai-client/QwenNonStreaming.groovy b/public/languages/groovy/openai-client/QwenNonStreaming.groovy
index 3f3b4c4..dee99e0 100644
--- a/public/languages/groovy/openai-client/QwenNonStreaming.groovy
+++ b/public/languages/groovy/openai-client/QwenNonStreaming.groovy
@@ -1,4 +1,8 @@
#!/usr/bin/env groovy
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Qwen 3 Coder Non-Streaming Example using OpenAI Java Client
diff --git a/public/languages/groovy/openai-client/QwenStreaming.groovy b/public/languages/groovy/openai-client/QwenStreaming.groovy
index 7e6624d..3c05303 100644
--- a/public/languages/groovy/openai-client/QwenStreaming.groovy
+++ b/public/languages/groovy/openai-client/QwenStreaming.groovy
@@ -1,4 +1,8 @@
#!/usr/bin/env groovy
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Qwen 3 Coder Streaming Example using OpenAI Java Client
diff --git a/public/languages/groovy/openai-client/TTS.groovy b/public/languages/groovy/openai-client/TTS.groovy
index 9224d8a..9fd2044 100644
--- a/public/languages/groovy/openai-client/TTS.groovy
+++ b/public/languages/groovy/openai-client/TTS.groovy
@@ -1,4 +1,8 @@
#!/usr/bin/env groovy
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Text-to-Speech Example using OpenAI Java Client
diff --git a/public/languages/haskell/Dockerfile b/public/languages/haskell/Dockerfile
index 9d1e49f..afcbc76 100644
--- a/public/languages/haskell/Dockerfile
+++ b/public/languages/haskell/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM haskell:9.2 as builder
WORKDIR /app
diff --git a/public/languages/haskell/UncloseAI.hs b/public/languages/haskell/UncloseAI.hs
index c8feb41..b29907f 100644
--- a/public/languages/haskell/UncloseAI.hs
+++ b/public/languages/haskell/UncloseAI.hs
@@ -1,3 +1,7 @@
+-- PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+-- Copyright 2025 TimeHexOn & foxhop & russell@unturf
+-- https://www.permacomputer.com
+
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE ScopedTypeVariables #-}
diff --git a/public/languages/haskell/uncloseai.cabal b/public/languages/haskell/uncloseai.cabal
index ecd1df6..39ccb2a 100644
--- a/public/languages/haskell/uncloseai.cabal
+++ b/public/languages/haskell/uncloseai.cabal
@@ -1,3 +1,7 @@
+-- PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+-- Copyright 2025 TimeHexOn & foxhop & russell@unturf
+-- https://www.permacomputer.com
+
cabal-version: 2.4
name: uncloseai
version: 0.1.0.0
diff --git a/public/languages/java/http/Dockerfile b/public/languages/java/http/Dockerfile
index 7c51cbd..c1633db 100644
--- a/public/languages/java/http/Dockerfile
+++ b/public/languages/java/http/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM openjdk:17-jdk-slim
WORKDIR /app
diff --git a/public/languages/java/http/UncloseAI.java b/public/languages/java/http/UncloseAI.java
index b397b43..6350839 100644
--- a/public/languages/java/http/UncloseAI.java
+++ b/public/languages/java/http/UncloseAI.java
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import java.io.*;
import java.net.*;
import java.nio.charset.StandardCharsets;
diff --git a/public/languages/java/openai/Dockerfile b/public/languages/java/openai/Dockerfile
index c8c222e..a934832 100644
--- a/public/languages/java/openai/Dockerfile
+++ b/public/languages/java/openai/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use official Maven image to build
FROM maven:3.9-eclipse-temurin-17-alpine AS builder
diff --git a/public/languages/java/openai/pom.xml b/public/languages/java/openai/pom.xml
index e79148a..12a9785 100644
--- a/public/languages/java/openai/pom.xml
+++ b/public/languages/java/openai/pom.xml
@@ -1,4 +1,10 @@
+
+
diff --git a/public/languages/java/openai/uncloseai.java b/public/languages/java/openai/uncloseai.java
index e6ab2f6..eb717a8 100644
--- a/public/languages/java/openai/uncloseai.java
+++ b/public/languages/java/openai/uncloseai.java
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletion;
diff --git a/public/languages/javascript/bun/Dockerfile b/public/languages/javascript/bun/Dockerfile
index 5f777d4..3d84775 100644
--- a/public/languages/javascript/bun/Dockerfile
+++ b/public/languages/javascript/bun/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Bun 1.x (checked 2025-10-13: oven/bun:1 tracks latest 1.x)
FROM oven/bun:1
diff --git a/public/languages/javascript/bun/uncloseai.ts b/public/languages/javascript/bun/uncloseai.ts
index 3e5dd2f..cb36ca9 100644
--- a/public/languages/javascript/bun/uncloseai.ts
+++ b/public/languages/javascript/bun/uncloseai.ts
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
console.log('=== Bun AI API Examples (Dynamic Model Discovery) ===\n');
interface ChatMessage {
diff --git a/public/languages/javascript/nodejs/Dockerfile b/public/languages/javascript/nodejs/Dockerfile
index b16f089..942a782 100644
--- a/public/languages/javascript/nodejs/Dockerfile
+++ b/public/languages/javascript/nodejs/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Node.js 23 (checked 2025-10-13: node:23-alpine is latest stable)
FROM node:23-alpine
diff --git a/public/languages/javascript/nodejs/uncloseai.js b/public/languages/javascript/nodejs/uncloseai.js
index d1349bd..4163dfb 100644
--- a/public/languages/javascript/nodejs/uncloseai.js
+++ b/public/languages/javascript/nodejs/uncloseai.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
const https = require('https');
const fs = require('fs');
diff --git a/public/languages/javascript/openai/nodejs/Dockerfile b/public/languages/javascript/openai/nodejs/Dockerfile
index cce3123..47e9c97 100644
--- a/public/languages/javascript/openai/nodejs/Dockerfile
+++ b/public/languages/javascript/openai/nodejs/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Use official Node.js image (checked 2025-10-15: node:23-alpine is latest stable)
FROM node:23-alpine
diff --git a/public/languages/javascript/openai/nodejs/uncloseai.js b/public/languages/javascript/openai/nodejs/uncloseai.js
index acfd340..546d5e7 100644
--- a/public/languages/javascript/openai/nodejs/uncloseai.js
+++ b/public/languages/javascript/openai/nodejs/uncloseai.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import OpenAI from 'openai';
import fs from 'fs';
diff --git a/public/languages/javascript/typescript/Dockerfile b/public/languages/javascript/typescript/Dockerfile
index 6b59707..c472929 100644
--- a/public/languages/javascript/typescript/Dockerfile
+++ b/public/languages/javascript/typescript/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# TypeScript 5.9.3 (checked 2025-10-13: typescript@5.9.3 is latest stable)
FROM node:23-alpine
diff --git a/public/languages/javascript/typescript/uncloseai.ts b/public/languages/javascript/typescript/uncloseai.ts
index 43caa3d..80a2df8 100644
--- a/public/languages/javascript/typescript/uncloseai.ts
+++ b/public/languages/javascript/typescript/uncloseai.ts
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import * as https from 'https';
import * as fs from 'fs';
diff --git a/public/languages/javascript/vanilla/Dockerfile b/public/languages/javascript/vanilla/Dockerfile
index e3468d6..2b4eaef 100644
--- a/public/languages/javascript/vanilla/Dockerfile
+++ b/public/languages/javascript/vanilla/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Vanilla JavaScript (browser-based) - served with Python's simple HTTP server
FROM python:3.13-alpine
diff --git a/public/languages/javascript/vanilla/uncloseai.html b/public/languages/javascript/vanilla/uncloseai.html
index 87eda88..d1e6560 100644
--- a/public/languages/javascript/vanilla/uncloseai.html
+++ b/public/languages/javascript/vanilla/uncloseai.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/languages/julia/Dockerfile b/public/languages/julia/Dockerfile
index 2015528..0930321 100644
--- a/public/languages/julia/Dockerfile
+++ b/public/languages/julia/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM julia:1.11
WORKDIR /app
diff --git a/public/languages/julia/Project.toml b/public/languages/julia/Project.toml
index cd089e7..87f3cb3 100644
--- a/public/languages/julia/Project.toml
+++ b/public/languages/julia/Project.toml
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
[deps]
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
diff --git a/public/languages/julia/src/uncloseai.jl b/public/languages/julia/src/uncloseai.jl
index 64e35db..d0895b9 100644
--- a/public/languages/julia/src/uncloseai.jl
+++ b/public/languages/julia/src/uncloseai.jl
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# UncloseAI Julia Library
# OpenAI-compatible API client with streaming support
# Compatible with vLLM, Ollama, and OpenAI-compatible endpoints
diff --git a/public/languages/kotlin/Dockerfile b/public/languages/kotlin/Dockerfile
index 7d222bd..e4c469c 100644
--- a/public/languages/kotlin/Dockerfile
+++ b/public/languages/kotlin/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM openjdk:17-jdk-slim AS builder
RUN apt-get update && apt-get install -y curl unzip && rm -rf /var/lib/apt/lists/*
diff --git a/public/languages/kotlin/build.gradle.kts b/public/languages/kotlin/build.gradle.kts
index 64355b8..d1d3a9d 100644
--- a/public/languages/kotlin/build.gradle.kts
+++ b/public/languages/kotlin/build.gradle.kts
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
plugins {
kotlin("jvm") version "1.9.20"
kotlin("plugin.serialization") version "1.9.20"
diff --git a/public/languages/kotlin/src/main/kotlin/UncloseAI.kt b/public/languages/kotlin/src/main/kotlin/UncloseAI.kt
index 2099033..d309736 100644
--- a/public/languages/kotlin/src/main/kotlin/UncloseAI.kt
+++ b/public/languages/kotlin/src/main/kotlin/UncloseAI.kt
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
diff --git a/public/languages/kotlin/uncloseai.kt b/public/languages/kotlin/uncloseai.kt
index a782219..cb74f6e 100644
--- a/public/languages/kotlin/uncloseai.kt
+++ b/public/languages/kotlin/uncloseai.kt
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
diff --git a/public/languages/lua/Dockerfile b/public/languages/lua/Dockerfile
index 2988337..021447c 100644
--- a/public/languages/lua/Dockerfile
+++ b/public/languages/lua/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Alpine 3.22 with Lua 5.4 (checked 2025-10-13: alpine:3.22 with lua5.4 is latest stable)
FROM alpine:latest
diff --git a/public/languages/lua/uncloseai.lua b/public/languages/lua/uncloseai.lua
index bd3378b..f4734d9 100644
--- a/public/languages/lua/uncloseai.lua
+++ b/public/languages/lua/uncloseai.lua
@@ -1,3 +1,7 @@
+-- PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+-- Copyright 2025 TimeHexOn & foxhop & russell@unturf
+-- https://www.permacomputer.com
+
local http = require("socket.http")
local https = require("ssl.https")
local ltn12 = require("ltn12")
diff --git a/public/languages/mojo/Dockerfile b/public/languages/mojo/Dockerfile
index 043d307..548d9e8 100644
--- a/public/languages/mojo/Dockerfile
+++ b/public/languages/mojo/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Mojo language container built from Ubuntu (Modular supports Ubuntu/Debian)
FROM ubuntu:24.04
diff --git a/public/languages/mojo/hermes_nonstreaming.mojo b/public/languages/mojo/hermes_nonstreaming.mojo
index 9dff79c..5fd637f 100644
--- a/public/languages/mojo/hermes_nonstreaming.mojo
+++ b/public/languages/mojo/hermes_nonstreaming.mojo
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
from lightbug_http import *
from lightbug_http.client import Client
diff --git a/public/languages/mojo/qwen_nonstreaming.mojo b/public/languages/mojo/qwen_nonstreaming.mojo
index ce87a65..0d30eb3 100644
--- a/public/languages/mojo/qwen_nonstreaming.mojo
+++ b/public/languages/mojo/qwen_nonstreaming.mojo
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
from lightbug_http import *
from lightbug_http.client import Client
diff --git a/public/languages/nim/Dockerfile b/public/languages/nim/Dockerfile
index 7bfa2c2..7cbdb89 100644
--- a/public/languages/nim/Dockerfile
+++ b/public/languages/nim/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Nim 2.2.2 (checked 2025-10-13: nimlang/nim:2.2.2-alpine is latest stable)
FROM nimlang/nim:2.2.2-alpine
diff --git a/public/languages/nim/uncloseai.nim b/public/languages/nim/uncloseai.nim
index 1387a28..e8514e2 100644
--- a/public/languages/nim/uncloseai.nim
+++ b/public/languages/nim/uncloseai.nim
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
import httpclient, json, strformat, os, strutils, asyncdispatch, streams
# UncloseAI - Nim client for OpenAI-compatible APIs with streaming support
diff --git a/public/languages/ocaml/Dockerfile b/public/languages/ocaml/Dockerfile
index 0081040..d250525 100644
--- a/public/languages/ocaml/Dockerfile
+++ b/public/languages/ocaml/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# OCaml 5.3 (checked 2025-10-13: using 5.3 for better library compatibility)
FROM ocaml/opam:debian-ocaml-5.3
diff --git a/public/languages/ocaml/dune b/public/languages/ocaml/dune
index 15753fe..1d6c521 100644
--- a/public/languages/ocaml/dune
+++ b/public/languages/ocaml/dune
@@ -1,3 +1,7 @@
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
(executable
(name uncloseai)
(libraries lwt cohttp-lwt-unix yojson))
diff --git a/public/languages/ocaml/dune-project b/public/languages/ocaml/dune-project
index 09f7dff..8f3e282 100644
--- a/public/languages/ocaml/dune-project
+++ b/public/languages/ocaml/dune-project
@@ -1,2 +1,6 @@
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
(lang dune 3.0)
(name examples)
diff --git a/public/languages/ocaml/uncloseai.ml b/public/languages/ocaml/uncloseai.ml
index 2acd6c6..1772226 100644
--- a/public/languages/ocaml/uncloseai.ml
+++ b/public/languages/ocaml/uncloseai.ml
@@ -1,3 +1,9 @@
+(*
+ PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+ Copyright 2025 TimeHexOn & foxhop & russell@unturf
+ https://www.permacomputer.com
+*)
+
(* UncloseAI - OCaml client for OpenAI-compatible APIs with streaming support *)
open Lwt
diff --git a/public/languages/odin/Dockerfile b/public/languages/odin/Dockerfile
index 27964ac..e424173 100644
--- a/public/languages/odin/Dockerfile
+++ b/public/languages/odin/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Odin dev-2025-10 (checked 2025-10-13: dev-2025-10 is latest monthly release)
FROM ubuntu:24.04
diff --git a/public/languages/odin/uncloseai.odin b/public/languages/odin/uncloseai.odin
index 3340a75..cf1d6d8 100644
--- a/public/languages/odin/uncloseai.odin
+++ b/public/languages/odin/uncloseai.odin
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
package main
import "core:fmt"
diff --git a/public/languages/perl/Dockerfile b/public/languages/perl/Dockerfile
index a373f60..3dddf3f 100644
--- a/public/languages/perl/Dockerfile
+++ b/public/languages/perl/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Perl 5.42 (checked 2025-10-13: perl:5.42-slim is latest stable)
FROM perl:5.42-slim
diff --git a/public/languages/perl/uncloseai.pl b/public/languages/perl/uncloseai.pl
index cc89025..d8b3d2b 100644
--- a/public/languages/perl/uncloseai.pl
+++ b/public/languages/perl/uncloseai.pl
@@ -1,4 +1,8 @@
#!/usr/bin/env perl
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# UncloseAI - Perl client for OpenAI-compatible APIs with streaming support
use strict;
diff --git a/public/languages/php/Dockerfile b/public/languages/php/Dockerfile
index 9def2b5..fc3a85e 100644
--- a/public/languages/php/Dockerfile
+++ b/public/languages/php/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# PHP 8.4-cli-alpine (checked 2025-10-13: php:8.4-cli-alpine is latest stable)
FROM php:8.4-cli-alpine
diff --git a/public/languages/php/uncloseai.php b/public/languages/php/uncloseai.php
index 08e99cf..ac864e1 100644
--- a/public/languages/php/uncloseai.php
+++ b/public/languages/php/uncloseai.php
@@ -1,5 +1,9 @@
#!/usr/bin/env php
0.31.0'
diff --git a/public/languages/ruby/openai/uncloseai.rb b/public/languages/ruby/openai/uncloseai.rb
index 30a9709..89c09de 100644
--- a/public/languages/ruby/openai/uncloseai.rb
+++ b/public/languages/ruby/openai/uncloseai.rb
@@ -1,4 +1,8 @@
#!/usr/bin/env ruby
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# uncloseai. - Ruby Client using Official OpenAI SDK
# A Ruby client for OpenAI-compatible APIs with streaming support
diff --git a/public/languages/rust/Cargo.toml b/public/languages/rust/Cargo.toml
index 796788d..2e2ee22 100644
--- a/public/languages/rust/Cargo.toml
+++ b/public/languages/rust/Cargo.toml
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
[package]
name = "uncloseai"
version = "1.0.0"
diff --git a/public/languages/rust/Dockerfile b/public/languages/rust/Dockerfile
index 58e1bc1..8878375 100644
--- a/public/languages/rust/Dockerfile
+++ b/public/languages/rust/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Multi-stage build for Rust (checked 2025-10-13: rust:1.82 is latest stable)
FROM rust:1.82 AS builder
diff --git a/public/languages/rust/examples/basic.rs b/public/languages/rust/examples/basic.rs
index f21015d..6f5ba08 100644
--- a/public/languages/rust/examples/basic.rs
+++ b/public/languages/rust/examples/basic.rs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/// UncloseAI Rust Library - Usage Examples
///
/// Demonstrates how to use the UncloseAI library for:
diff --git a/public/languages/rust/src/lib.rs b/public/languages/rust/src/lib.rs
index 14479a4..8893567 100644
--- a/public/languages/rust/src/lib.rs
+++ b/public/languages/rust/src/lib.rs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
//! UncloseAI - Rust Client Library
//!
//! A Rust client for interacting with vLLM, Ollama, and OpenAI-compatible APIs.
diff --git a/public/languages/rust/src/uncloseai.rs b/public/languages/rust/src/uncloseai.rs
index db60d03..9f1bb41 100644
--- a/public/languages/rust/src/uncloseai.rs
+++ b/public/languages/rust/src/uncloseai.rs
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UncloseAI - Rust client for OpenAI-compatible APIs with streaming support
use reqwest::Client;
diff --git a/public/languages/scala/Dockerfile b/public/languages/scala/Dockerfile
index 31f04c7..1582d88 100644
--- a/public/languages/scala/Dockerfile
+++ b/public/languages/scala/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Pin to specific OpenJDK and sbt versions (checked 2025-10-13: openjdk:17-jdk-slim is current LTS)
FROM openjdk:17-jdk-slim AS builder
diff --git a/public/languages/scala/build.sbt b/public/languages/scala/build.sbt
index 37f5ef9..fbb1535 100644
--- a/public/languages/scala/build.sbt
+++ b/public/languages/scala/build.sbt
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
ThisBuild / scalaVersion := "2.13.12"
ThisBuild / version := "0.1.0"
diff --git a/public/languages/scala/project/build.properties b/public/languages/scala/project/build.properties
index e8a1e24..a6c99d9 100644
--- a/public/languages/scala/project/build.properties
+++ b/public/languages/scala/project/build.properties
@@ -1 +1,5 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
sbt.version=1.9.7
diff --git a/public/languages/scala/project/plugins.sbt b/public/languages/scala/project/plugins.sbt
index f63a8ed..64d278a 100644
--- a/public/languages/scala/project/plugins.sbt
+++ b/public/languages/scala/project/plugins.sbt
@@ -1 +1,5 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.16")
diff --git a/public/languages/scala/src/main/scala/UncloseAI.scala b/public/languages/scala/src/main/scala/UncloseAI.scala
index 5452bd7..c7a1366 100644
--- a/public/languages/scala/src/main/scala/UncloseAI.scala
+++ b/public/languages/scala/src/main/scala/UncloseAI.scala
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UncloseAI - Scala client for OpenAI-compatible APIs with streaming support
import sttp.client3._
diff --git a/public/languages/scheme/Dockerfile b/public/languages/scheme/Dockerfile
index bef4d59..eb01d6f 100644
--- a/public/languages/scheme/Dockerfile
+++ b/public/languages/scheme/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Build GNU Guile 3.0.10 (checked 2025-10-15: latest stable)
FROM debian:bookworm-slim
diff --git a/public/languages/scheme/uncloseai.scm b/public/languages/scheme/uncloseai.scm
index c9551ab..7e2f722 100644
--- a/public/languages/scheme/uncloseai.scm
+++ b/public/languages/scheme/uncloseai.scm
@@ -1,4 +1,8 @@
#!/usr/bin/env guile
+;; PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+;; Copyright 2025 TimeHexOn & foxhop & russell@unturf
+;; https://www.permacomputer.com
+
!#
;;; UncloseAI GNU Guile Library - OpenAI-compatible API client with streaming support
diff --git a/public/languages/tcl/Dockerfile b/public/languages/tcl/Dockerfile
index ed63af5..f98225b 100644
--- a/public/languages/tcl/Dockerfile
+++ b/public/languages/tcl/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# Alpine with Tcl (checked 2025-10-13: alpine:latest with tcl is current)
FROM alpine:latest
diff --git a/public/languages/tcl/uncloseai.tcl b/public/languages/tcl/uncloseai.tcl
index 6f7871f..b7590df 100644
--- a/public/languages/tcl/uncloseai.tcl
+++ b/public/languages/tcl/uncloseai.tcl
@@ -1,4 +1,8 @@
#!/usr/bin/env tclsh
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# UncloseAI - Tcl client for OpenAI-compatible APIs with streaming support
package require TclOO
diff --git a/public/languages/v/Dockerfile b/public/languages/v/Dockerfile
index 1bb01da..25523f1 100644
--- a/public/languages/v/Dockerfile
+++ b/public/languages/v/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
# V language (checked 2025-10-13: thevlang/vlang:latest is current)
FROM thevlang/vlang:latest AS builder
diff --git a/public/languages/v/uncloseai.v b/public/languages/v/uncloseai.v
index 62c468e..accf0b3 100644
--- a/public/languages/v/uncloseai.v
+++ b/public/languages/v/uncloseai.v
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UncloseAI - V client for OpenAI-compatible APIs with streaming support
import net.http
diff --git a/public/languages/vbnet/Dockerfile b/public/languages/vbnet/Dockerfile
index a9a7cbf..4ee377e 100644
--- a/public/languages/vbnet/Dockerfile
+++ b/public/languages/vbnet/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine AS base
WORKDIR /app
diff --git a/public/languages/vbnet/UncloseAI.vb b/public/languages/vbnet/UncloseAI.vb
index 3595175..e3de5ef 100644
--- a/public/languages/vbnet/UncloseAI.vb
+++ b/public/languages/vbnet/UncloseAI.vb
@@ -1,3 +1,7 @@
+' PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+' Copyright 2025 TimeHexOn & foxhop & russell@unturf
+' https://www.permacomputer.com
+
' UncloseAI - VB.NET client for OpenAI-compatible APIs with streaming support
Imports System
diff --git a/public/languages/vbnet/UncloseAI.vbproj b/public/languages/vbnet/UncloseAI.vbproj
index a269962..c212298 100644
--- a/public/languages/vbnet/UncloseAI.vbproj
+++ b/public/languages/vbnet/UncloseAI.vbproj
@@ -1,3 +1,9 @@
+
+
diff --git a/public/languages/zig/Dockerfile b/public/languages/zig/Dockerfile
index 55421f2..08def0a 100644
--- a/public/languages/zig/Dockerfile
+++ b/public/languages/zig/Dockerfile
@@ -1,3 +1,7 @@
+# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+# Copyright 2025 TimeHexOn & foxhop & russell@unturf
+# https://www.permacomputer.com
+
FROM alpine:latest AS builder
RUN apk add --no-cache curl tar xz && \
diff --git a/public/languages/zig/build.zig b/public/languages/zig/build.zig
index d43d523..2e6eb2f 100644
--- a/public/languages/zig/build.zig
+++ b/public/languages/zig/build.zig
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
const std = @import("std");
pub fn build(b: *std.Build) void {
diff --git a/public/languages/zig/src/uncloseai.zig b/public/languages/zig/src/uncloseai.zig
index 39f598d..472592d 100644
--- a/public/languages/zig/src/uncloseai.zig
+++ b/public/languages/zig/src/uncloseai.zig
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
const std = @import("std");
const http = std.http;
const json = std.json;
diff --git a/public/nodejs-examples.html b/public/nodejs-examples.html
index 5987778..253b46b 100644
--- a/public/nodejs-examples.html
+++ b/public/nodejs-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/php-examples.html b/public/php-examples.html
index ce822cd..b575cb9 100644
--- a/public/php-examples.html
+++ b/public/php-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/privacy-policy.html b/public/privacy-policy.html
index e89908f..f26e131 100644
--- a/public/privacy-policy.html
+++ b/public/privacy-policy.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/python-examples.html b/public/python-examples.html
index f5c41cd..889e675 100644
--- a/public/python-examples.html
+++ b/public/python-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/ruby-examples.html b/public/ruby-examples.html
index b050eae..cabae5b 100644
--- a/public/ruby-examples.html
+++ b/public/ruby-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/rust-examples.html b/public/rust-examples.html
index 1fe1048..756df29 100644
--- a/public/rust-examples.html
+++ b/public/rust-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/src/chat.js b/public/src/chat.js
index 1d7e1cd..eb22443 100644
--- a/public/src/chat.js
+++ b/public/src/chat.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Chat functionality and message handling
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
import hljs from "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/es/highlight.min.js";
diff --git a/public/src/code-execution.js b/public/src/code-execution.js
index dea2e9e..03273ef 100644
--- a/public/src/code-execution.js
+++ b/public/src/code-execution.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Code execution sandbox functionality
import { CODE_EXEC_URL } from "./config.js";
import * as un from "./un.js";
diff --git a/public/src/config.js b/public/src/config.js
index d4890a4..f06db67 100644
--- a/public/src/config.js
+++ b/public/src/config.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Configuration and endpoints for uncloseai.js
export const TTS_API_URL = "https://speech.ai.unturf.com/v1/audio/speech";
diff --git a/public/src/content.js b/public/src/content.js
index d0e59b4..3e1ec37 100644
--- a/public/src/content.js
+++ b/public/src/content.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Content extraction and processing functionality
// URI translation rules — map dynamic page patterns to raw/plain text equivalents.
diff --git a/public/src/file-upload.js b/public/src/file-upload.js
index 17e3211..1921a8d 100644
--- a/public/src/file-upload.js
+++ b/public/src/file-upload.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import { chatHistory } from "./chat.js";
import { MEGAPARCE_API_URL } from "./config.js";
import { speakText } from "./tts.js";
diff --git a/public/src/groq-fetch.js b/public/src/groq-fetch.js
index 09a8a5a..22c0b06 100644
--- a/public/src/groq-fetch.js
+++ b/public/src/groq-fetch.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Groq-aware fetch wrapper that handles TPM rate limits
// Use this for all API requests to Groq endpoints
diff --git a/public/src/language-detection.js b/public/src/language-detection.js
index c433545..f8f51c2 100644
--- a/public/src/language-detection.js
+++ b/public/src/language-detection.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Language detection functionality using AI and fallback methods
import { API_KEY } from "./config.js";
diff --git a/public/src/languages/add-missing-keys.js b/public/src/languages/add-missing-keys.js
index d4c0ad5..c5b9780 100644
--- a/public/src/languages/add-missing-keys.js
+++ b/public/src/languages/add-missing-keys.js
@@ -1,4 +1,8 @@
#!/usr/bin/env node
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/**
* Script to add missing translation keys to all language files
diff --git a/public/src/languages/ar.js b/public/src/languages/ar.js
index f9ad53f..1e77b5d 100644
--- a/public/src/languages/ar.js
+++ b/public/src/languages/ar.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Arabic (العَرَبِيَّة) UI Translations
export const ar = {
// Main buttons
diff --git a/public/src/languages/bn.js b/public/src/languages/bn.js
index fb273a3..14161bc 100644
--- a/public/src/languages/bn.js
+++ b/public/src/languages/bn.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Bengali (বাংলা) UI Translations
export const bn = {
// Main buttons
diff --git a/public/src/languages/de.js b/public/src/languages/de.js
index e9d7288..62adcec 100644
--- a/public/src/languages/de.js
+++ b/public/src/languages/de.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// German (Deutsch) UI Translations
export const de = {
// Main buttons
diff --git a/public/src/languages/en.js b/public/src/languages/en.js
index b41d68a..ce84631 100644
--- a/public/src/languages/en.js
+++ b/public/src/languages/en.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// English UI Translations
export const en = {
// Main buttons
diff --git a/public/src/languages/es.js b/public/src/languages/es.js
index 56de512..cc62ba2 100644
--- a/public/src/languages/es.js
+++ b/public/src/languages/es.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Spanish (Español) UI Translations
export const es = {
// Main buttons
diff --git a/public/src/languages/fr.js b/public/src/languages/fr.js
index 4f444db..13ed729 100644
--- a/public/src/languages/fr.js
+++ b/public/src/languages/fr.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// French (Français) UI Translations
export const fr = {
// Main buttons
diff --git a/public/src/languages/hi.js b/public/src/languages/hi.js
index a2360f2..bd19b12 100644
--- a/public/src/languages/hi.js
+++ b/public/src/languages/hi.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Hindi (हिंदी) UI Translations
export const hi = {
// Main buttons
diff --git a/public/src/languages/id.js b/public/src/languages/id.js
index 301a33c..433cdb4 100644
--- a/public/src/languages/id.js
+++ b/public/src/languages/id.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Indonesian (Bahasa Indonesia) UI Translations
export const id = {
// Main buttons
diff --git a/public/src/languages/index.js b/public/src/languages/index.js
index 3d80b02..4d32d11 100644
--- a/public/src/languages/index.js
+++ b/public/src/languages/index.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// All language translations
import { en } from "./en.js";
import { zh } from "./zh.js";
diff --git a/public/src/languages/it.js b/public/src/languages/it.js
index c4a6a18..eafabf1 100644
--- a/public/src/languages/it.js
+++ b/public/src/languages/it.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Italian UI Translations
export const it = {
// Main buttons
diff --git a/public/src/languages/ja.js b/public/src/languages/ja.js
index 243c3cb..c1e29e5 100644
--- a/public/src/languages/ja.js
+++ b/public/src/languages/ja.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Japanese (日本語) UI Translations
export const ja = {
// Main buttons
diff --git a/public/src/languages/ko.js b/public/src/languages/ko.js
index f265c69..f676bf0 100644
--- a/public/src/languages/ko.js
+++ b/public/src/languages/ko.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Korean (한국어) UI Translations
export const ko = {
// Main buttons
diff --git a/public/src/languages/mr.js b/public/src/languages/mr.js
index 4725776..f4fbddf 100644
--- a/public/src/languages/mr.js
+++ b/public/src/languages/mr.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Marathi (मराठी) UI Translations
export const mr = {
// Main buttons
diff --git a/public/src/languages/nl.js b/public/src/languages/nl.js
index 7fe8d5a..219d579 100644
--- a/public/src/languages/nl.js
+++ b/public/src/languages/nl.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Dutch UI Translations
export const nl = {
// Main buttons
diff --git a/public/src/languages/pl.js b/public/src/languages/pl.js
index 9712ca1..6aed494 100644
--- a/public/src/languages/pl.js
+++ b/public/src/languages/pl.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Polish UI Translations
export const pl = {
// Main buttons
diff --git a/public/src/languages/pt.js b/public/src/languages/pt.js
index 47ae50b..4e0fded 100644
--- a/public/src/languages/pt.js
+++ b/public/src/languages/pt.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Portuguese (Português) UI Translations
export const pt = {
// Main buttons
diff --git a/public/src/languages/ru.js b/public/src/languages/ru.js
index 170ca18..a81ed0a 100644
--- a/public/src/languages/ru.js
+++ b/public/src/languages/ru.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Russian (Русский) UI Translations
export const ru = {
// Main buttons
diff --git a/public/src/languages/sv.js b/public/src/languages/sv.js
index 7bd940a..6a04b17 100644
--- a/public/src/languages/sv.js
+++ b/public/src/languages/sv.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Swedish UI Translations
export const sv = {
// Main buttons
diff --git a/public/src/languages/sw.js b/public/src/languages/sw.js
index ad65dce..a6fa78f 100644
--- a/public/src/languages/sw.js
+++ b/public/src/languages/sw.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Swahili (Kiswahili) UI Translations
export const sw = {
// Main buttons
diff --git a/public/src/languages/te.js b/public/src/languages/te.js
index 3958dac..ab1b4df 100644
--- a/public/src/languages/te.js
+++ b/public/src/languages/te.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Telugu (తెలుగు) UI Translations
export const te = {
// Main buttons
diff --git a/public/src/languages/th.js b/public/src/languages/th.js
index 78d13eb..674ad5e 100644
--- a/public/src/languages/th.js
+++ b/public/src/languages/th.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Thai UI Translations
export const th = {
// Main buttons
diff --git a/public/src/languages/tr.js b/public/src/languages/tr.js
index c629ada..3f41a4f 100644
--- a/public/src/languages/tr.js
+++ b/public/src/languages/tr.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Turkish (Türkçe) UI Translations
export const tr = {
// Main buttons
diff --git a/public/src/languages/uk.js b/public/src/languages/uk.js
index 65d2df8..96a2895 100644
--- a/public/src/languages/uk.js
+++ b/public/src/languages/uk.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Ukrainian UI Translations
export const uk = {
// Main buttons
diff --git a/public/src/languages/ur.js b/public/src/languages/ur.js
index 0baacda..3ff414a 100644
--- a/public/src/languages/ur.js
+++ b/public/src/languages/ur.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Urdu (اُردُو) UI Translations
export const ur = {
// Main buttons
diff --git a/public/src/languages/verify-translations.js b/public/src/languages/verify-translations.js
index a4b955f..5d0a25d 100644
--- a/public/src/languages/verify-translations.js
+++ b/public/src/languages/verify-translations.js
@@ -1,4 +1,8 @@
#!/usr/bin/env node
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/**
* Translation Completeness Verification Script
diff --git a/public/src/languages/vi.js b/public/src/languages/vi.js
index 6ca6e85..fdbae62 100644
--- a/public/src/languages/vi.js
+++ b/public/src/languages/vi.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Vietnamese UI Translations
export const vi = {
// Main buttons
diff --git a/public/src/languages/zh-tw.js b/public/src/languages/zh-tw.js
index 286fe43..c3d3312 100644
--- a/public/src/languages/zh-tw.js
+++ b/public/src/languages/zh-tw.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Chinese Traditional (中文(繁體)) UI Translations
export const zhTw = {
// Main buttons
diff --git a/public/src/languages/zh.js b/public/src/languages/zh.js
index 38227da..69a1d33 100644
--- a/public/src/languages/zh.js
+++ b/public/src/languages/zh.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Chinese Simplified (中文(简体)) UI Translations
export const zh = {
// Main buttons
diff --git a/public/src/models.js b/public/src/models.js
index 0797d1c..ba4f791 100644
--- a/public/src/models.js
+++ b/public/src/models.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Model registry and selection functionality
import { VLLM_ENDPOINTS, getAPIConfig, DEFAULT_MAX_TOKENS } from "./config.js";
diff --git a/public/src/page-reader.js b/public/src/page-reader.js
index 7f44423..3ae7805 100644
--- a/public/src/page-reader.js
+++ b/public/src/page-reader.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Page reading functionality
import { extractWebpageContent } from "./content.js";
import { processContentWithHermes, speakText } from "./tts.js";
diff --git a/public/src/storage.js b/public/src/storage.js
index 57046ca..32d8df6 100644
--- a/public/src/storage.js
+++ b/public/src/storage.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Conversation history and localStorage functionality
import { getSystemMessage } from "./config.js";
diff --git a/public/src/token_estimator.js b/public/src/token_estimator.js
index 9a790cb..de160c0 100644
--- a/public/src/token_estimator.js
+++ b/public/src/token_estimator.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Simplified BPE tokenizer based on tiktoken's core logic
// MIT License - Derived from tiktoken (https://github.com/dqbd/tiktoken)
// Copyright (c) 2023 David Bezdek
diff --git a/public/src/translate-modal.js b/public/src/translate-modal.js
index 786bcb0..577c74a 100644
--- a/public/src/translate-modal.js
+++ b/public/src/translate-modal.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Translation Modal functionality
import { initializeChunkFiveFont } from "./ui-themes.js";
import { getUIText } from "./ui-translations.js";
diff --git a/public/src/translation.js b/public/src/translation.js
index 66c8bb2..801f180 100644
--- a/public/src/translation.js
+++ b/public/src/translation.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
import { API_KEY, getAPIConfig } from "./config.js";
import { getSelectedModel, getSelectedModelEndpoint, getSelectedModelMaxTokens, getSelectedModelMaxCompletionTokens, modelRegistry } from "./models.js";
import { countTokens, countTokensWithUpstream } from "./token_estimator.js";
diff --git a/public/src/tts-modal.js b/public/src/tts-modal.js
index 03b6973..ecb3bd8 100644
--- a/public/src/tts-modal.js
+++ b/public/src/tts-modal.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// TTS Modal functionality
import { initializeChunkFiveFont } from "./ui-themes.js";
import { getUIText } from "./ui-translations.js";
diff --git a/public/src/tts.js b/public/src/tts.js
index 15710fc..7ff384f 100644
--- a/public/src/tts.js
+++ b/public/src/tts.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Text-to-speech functionality
import { API_KEY, MODEL, setLastTTS, TTS_API_URL } from "./config.js";
import { getSelectedModel, getSelectedModelEndpoint, getSelectedModelMaxTokens, getSelectedModelMaxCompletionTokens } from "./models.js";
diff --git a/public/src/ui-themes.js b/public/src/ui-themes.js
index 1dbc70f..d999de7 100644
--- a/public/src/ui-themes.js
+++ b/public/src/ui-themes.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Theme detection and styling functionality
// Theme detection and styling functions
diff --git a/public/src/ui-translations.js b/public/src/ui-translations.js
index de12cc5..d1d3be2 100644
--- a/public/src/ui-translations.js
+++ b/public/src/ui-translations.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UI Translations for all supported languages
// This file contains all user interface text translations
diff --git a/public/src/ui.js b/public/src/ui.js
index 2e11297..8074f77 100644
--- a/public/src/ui.js
+++ b/public/src/ui.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// UI creation and management functionality
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
import hljs from "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/es/highlight.min.js";
diff --git a/public/src/un.js b/public/src/un.js
index a2384c1..32a271b 100644
--- a/public/src/un.js
+++ b/public/src/un.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/**
* un.js - Unsandbox.com Browser SDK
* Browser-compatible version of the official SDK (lib/un.js)
diff --git a/public/src/uncloseai-embed-modal.js b/public/src/uncloseai-embed-modal.js
index fdb73bf..06368ac 100644
--- a/public/src/uncloseai-embed-modal.js
+++ b/public/src/uncloseai-embed-modal.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Main Hermes AI modal functionality - COMPLETE WORKING VERSION
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
import hljs from "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/es/highlight.min.js";
diff --git a/public/src/uncloseai-modal-builtin.css b/public/src/uncloseai-modal-builtin.css
index f1312a7..77b4674 100644
--- a/public/src/uncloseai-modal-builtin.css
+++ b/public/src/uncloseai-modal-builtin.css
@@ -1,3 +1,9 @@
+/*
+ PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+ Copyright 2025 TimeHexOn & foxhop & russell@unturf
+ https://www.permacomputer.com
+*/
+
/* uncloseai. Modal - Built-in Styles (for blog versions without PicoCSS) */
/* Main modal dialog */
diff --git a/public/src/uncloseai-modal-pico.css b/public/src/uncloseai-modal-pico.css
index c00ff46..724663d 100644
--- a/public/src/uncloseai-modal-pico.css
+++ b/public/src/uncloseai-modal-pico.css
@@ -1,3 +1,9 @@
+/*
+ PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+ Copyright 2025 TimeHexOn & foxhop & russell@unturf
+ https://www.permacomputer.com
+*/
+
/* uncloseai. Modal - PicoCSS Override Styles */
/* Remove PicoCSS backdrop for main modal */
diff --git a/public/src/vault.js b/public/src/vault.js
index d044e66..cba678f 100644
--- a/public/src/vault.js
+++ b/public/src/vault.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/**
* UncloseAI Vault - Encrypted Settings Storage
*
diff --git a/public/src/widget-library.js b/public/src/widget-library.js
index 46a21a4..effac62 100644
--- a/public/src/widget-library.js
+++ b/public/src/widget-library.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Widget and feature creation library
import { getUIText } from "./ui-translations.js";
import { speakText } from "./tts.js";
diff --git a/public/swift-examples.html b/public/swift-examples.html
index d54e956..a7fa8e4 100644
--- a/public/swift-examples.html
+++ b/public/swift-examples.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/terms-of-use.html b/public/terms-of-use.html
index e11448a..fa1bf5b 100644
--- a/public/terms-of-use.html
+++ b/public/terms-of-use.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/text-to-speech.html b/public/text-to-speech.html
index f1dd394..5afa20f 100644
--- a/public/text-to-speech.html
+++ b/public/text-to-speech.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/tts/fast-synthesis.html b/public/tts/fast-synthesis.html
index bc64c8a..4ebbd64 100644
--- a/public/tts/fast-synthesis.html
+++ b/public/tts/fast-synthesis.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/tts/hd-cloning.html b/public/tts/hd-cloning.html
index 314aa87..981b3cd 100644
--- a/public/tts/hd-cloning.html
+++ b/public/tts/hd-cloning.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/tts/lightweight.html b/public/tts/lightweight.html
index b66d806..f330c0f 100644
--- a/public/tts/lightweight.html
+++ b/public/tts/lightweight.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/tts/multilingual-cpu.html b/public/tts/multilingual-cpu.html
index 085e744..5e0218e 100644
--- a/public/tts/multilingual-cpu.html
+++ b/public/tts/multilingual-cpu.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/tts/voice-cloning.html b/public/tts/voice-cloning.html
index 8eec332..618ceb0 100644
--- a/public/tts/voice-cloning.html
+++ b/public/tts/voice-cloning.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/uncloseai-js.html b/public/uncloseai-js.html
index d84447e..369a42e 100644
--- a/public/uncloseai-js.html
+++ b/public/uncloseai-js.html
@@ -1,4 +1,10 @@
+
+
diff --git a/public/uncloseai.js b/public/uncloseai.js
index cf47868..7d0b833 100644
--- a/public/uncloseai.js
+++ b/public/uncloseai.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
/*
* uncloseai.js - Modular AI Integration Library
*
diff --git a/validate_exports.js b/validate_exports.js
index 1b87200..1e729ec 100644
--- a/validate_exports.js
+++ b/validate_exports.js
@@ -1,3 +1,7 @@
+// PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
+// Copyright 2025 TimeHexOn & foxhop & russell@unturf
+// https://www.permacomputer.com
+
// Quick validation script to check if imports match exports
import { promises as fs } from 'fs';
import path from 'path';