@promptowl/contextnest-community 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONFIGURATION.md +181 -123
- package/LICENSE.md +142 -142
- package/README.md +224 -211
- package/dist/adapter.postgres-YOODX2BI.js +71 -0
- package/dist/{chunk-EMOE53KX.js → chunk-43DOX4LH.js} +356 -267
- package/dist/{chunk-IWA2UDAT.js → chunk-MOXICJPD.js} +116 -90
- package/dist/{chunk-RMU3LOPH.js → chunk-QMLAXQES.js} +383 -69
- package/dist/chunk-SLTQACJW.js +8 -0
- package/dist/{chunk-HIH7I232.js → chunk-VD5QX2ZQ.js} +69 -53
- package/dist/index.js +1427 -976
- package/dist/migrations.postgres-3HMGLKOV.js +279 -0
- package/dist/{review-service-XNXHF6Q7.js → review-service-2FSKW425.js} +5 -4
- package/dist/{stewardship-service-P4M5UEJW.js → stewardship-service-I2JAFYJU.js} +3 -2
- package/dist/{version-service-REGL5CUT.js → version-service-FJWVTZKR.js} +3 -2
- package/dist/web3/assets/{hootie-C2ocYkn4.svg → hootie-_U3ECslt.svg} +8 -8
- package/dist/web3/assets/index-24dBhQSQ.css +1 -0
- package/dist/web3/assets/index-DpM8J4RN.js +889 -0
- package/dist/web3/index.html +14 -14
- package/package.json +152 -150
- package/dist/web3/assets/index-C2dfT3Et.css +0 -1
- package/dist/web3/assets/index-DEKnE-ty.js +0 -887
package/CONFIGURATION.md
CHANGED
|
@@ -1,123 +1,181 @@
|
|
|
1
|
-
# Configuration
|
|
2
|
-
|
|
3
|
-
All server configuration is driven by environment variables. Set them in your shell, in a `.env` file, in a Docker image, or via your process manager — however you deploy the rest of your stack.
|
|
4
|
-
|
|
5
|
-
## Auth modes
|
|
6
|
-
|
|
7
|
-
The server supports two authentication modes. You pick one per instance with `AUTH_MODE`.
|
|
8
|
-
|
|
9
|
-
### `AUTH_MODE=key` (default)
|
|
10
|
-
|
|
11
|
-
Every request requires an `Authorization: Bearer cnst_...` header. Use this for any multi-user or internet-facing deployment.
|
|
12
|
-
|
|
13
|
-
- Users register via `POST /auth/register` (email + password) or log in with PromptOwl via `POST /auth/device` → `POST /auth/promptowl`.
|
|
14
|
-
- API keys are per-user (`cnst_<64-hex>`) and can be scoped to a single nest for service-account use.
|
|
15
|
-
- Rate-limited login / register / device-auth endpoints (sliding window, per IP + per email).
|
|
16
|
-
- First PromptOwl-authenticated user becomes the server admin (atomic claim). Admin can invite teammates at `POST /auth/invite`.
|
|
17
|
-
|
|
18
|
-
Clients include the token on every request:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
curl -H 'Authorization: Bearer cnst_<your-token>' http://your-server/nests
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
### `AUTH_MODE=open`
|
|
25
|
-
|
|
26
|
-
No authentication required. Every request is attributed to the anonymous admin user (`00000000-...`). Everyone effectively owns every anon-created nest.
|
|
27
|
-
|
|
28
|
-
**Use this only when:**
|
|
29
|
-
- You're running locally for yourself (`bind 127.0.0.1`), or
|
|
30
|
-
- You're on a trusted LAN and don't care about access controls, or
|
|
31
|
-
- You're behind an upstream reverse proxy that already authenticates.
|
|
32
|
-
|
|
33
|
-
**Don't use this when:**
|
|
34
|
-
- The port is reachable from the public internet
|
|
35
|
-
- Multiple people share the deployment and need isolated data
|
|
36
|
-
- You need audit trails (every write shows up under "anonymous admin")
|
|
37
|
-
|
|
38
|
-
The server prints a loud warning at startup when `AUTH_MODE=open` is active.
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## Full env var reference
|
|
43
|
-
|
|
44
|
-
| Var | Default | Purpose |
|
|
45
|
-
|---|---|---|
|
|
46
|
-
| `PORT` | `3838` | HTTP port the server listens on. |
|
|
47
|
-
| `DATA_ROOT` | `./data` (relative to cwd) | Root directory for SQLite DB + nest filesystem vaults. Set to an absolute path in production so it's independent of where you `cd`'d from. |
|
|
48
|
-
| `DATABASE_PATH` | `$DATA_ROOT/community.db` | Override the SQLite file location explicitly. |
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
All server configuration is driven by environment variables. Set them in your shell, in a `.env` file, in a Docker image, or via your process manager — however you deploy the rest of your stack.
|
|
4
|
+
|
|
5
|
+
## Auth modes
|
|
6
|
+
|
|
7
|
+
The server supports two authentication modes. You pick one per instance with `AUTH_MODE`.
|
|
8
|
+
|
|
9
|
+
### `AUTH_MODE=key` (default)
|
|
10
|
+
|
|
11
|
+
Every request requires an `Authorization: Bearer cnst_...` header. Use this for any multi-user or internet-facing deployment.
|
|
12
|
+
|
|
13
|
+
- Users register via `POST /auth/register` (email + password) or log in with PromptOwl via `POST /auth/device` → `POST /auth/promptowl`.
|
|
14
|
+
- API keys are per-user (`cnst_<64-hex>`) and can be scoped to a single nest for service-account use.
|
|
15
|
+
- Rate-limited login / register / device-auth endpoints (sliding window, per IP + per email).
|
|
16
|
+
- First PromptOwl-authenticated user becomes the server admin (atomic claim). Admin can invite teammates at `POST /auth/invite`.
|
|
17
|
+
|
|
18
|
+
Clients include the token on every request:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
curl -H 'Authorization: Bearer cnst_<your-token>' http://your-server/nests
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### `AUTH_MODE=open`
|
|
25
|
+
|
|
26
|
+
No authentication required. Every request is attributed to the anonymous admin user (`00000000-...`). Everyone effectively owns every anon-created nest.
|
|
27
|
+
|
|
28
|
+
**Use this only when:**
|
|
29
|
+
- You're running locally for yourself (`bind 127.0.0.1`), or
|
|
30
|
+
- You're on a trusted LAN and don't care about access controls, or
|
|
31
|
+
- You're behind an upstream reverse proxy that already authenticates.
|
|
32
|
+
|
|
33
|
+
**Don't use this when:**
|
|
34
|
+
- The port is reachable from the public internet
|
|
35
|
+
- Multiple people share the deployment and need isolated data
|
|
36
|
+
- You need audit trails (every write shows up under "anonymous admin")
|
|
37
|
+
|
|
38
|
+
The server prints a loud warning at startup when `AUTH_MODE=open` is active.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Full env var reference
|
|
43
|
+
|
|
44
|
+
| Var | Default | Purpose |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| `PORT` | `3838` | HTTP port the server listens on. |
|
|
47
|
+
| `DATA_ROOT` | `./data` (relative to cwd) | Root directory for SQLite DB + nest filesystem vaults. Set to an absolute path in production so it's independent of where you `cd`'d from. |
|
|
48
|
+
| `DATABASE_PATH` | `$DATA_ROOT/community.db` | Override the SQLite file location explicitly. (SQLite backend only.) |
|
|
49
|
+
| `NEST_STORAGE_ROOT` | `$DATA_ROOT/nests` | Root directory for nest vault files (markdown + version history). Override to store nests separately from the DB — e.g. point it at a Cloud Storage (GCS) volume mount on Cloud Run (`/mnt/nests`) while the SQLite DB stays on `DATA_ROOT` off the mount. **Moving existing nests:** the app does not relocate files — copy `$DATA_ROOT/nests/*` to the new root (e.g. `gsutil rsync`) before switching, or existing nests will appear empty (DB rows present, files missing). On a GCS mount, also set `DRIFT_SCAN_INTERVAL_MS=0` to avoid constant FUSE scans, and run a single instance (GCS FUSE has no file locking — concurrent writers lose data). |
|
|
50
|
+
| `DB_DRIVER` | `sqlite` | Database backend: `sqlite` (default) or `postgres`. When unset, the server infers `postgres` if `DATABASE_URL` or `CLOUD_SQL_CONNECTION_NAME` is set, else `sqlite`. Existing deployments need no change — they stay on SQLite. See [Database backends](#database-backends). |
|
|
51
|
+
| `DATABASE_URL` | `""` | PostgreSQL connection string for a TCP connection, e.g. `postgres://user:pass@host:5432/dbname`. Setting it selects the Postgres backend (unless `DB_DRIVER=sqlite`). |
|
|
52
|
+
| `CLOUD_SQL_CONNECTION_NAME` | `""` | Cloud SQL instance connection name (`project:region:instance`). When set, the server connects over the Cloud SQL Auth Proxy unix socket at `/cloudsql/<name>` — the recommended Cloud Run setup. Combine with `DB_USER`, `DB_PASSWORD`, `DB_NAME`. |
|
|
53
|
+
| `DB_HOST` / `DB_PORT` / `DB_USER` / `DB_PASSWORD` / `DB_NAME` | `localhost` / `5432` / `""` / `""` / `""` | Discrete Postgres connection params, used when neither `CLOUD_SQL_CONNECTION_NAME` nor `DATABASE_URL` is set. |
|
|
54
|
+
| `DB_POOL_MAX` | `10` | Max Postgres pool connections. Keep modest — Cloud SQL tiers cap total connections. |
|
|
55
|
+
| `DB_SSL` | `false` | Set `true` to require TLS on a Postgres TCP connection (not needed over the Cloud SQL unix socket, which is already secure). |
|
|
56
|
+
| `DB_SSL_CA` | `""` | Path to a CA certificate (PEM) for verify-ca/verify-full TLS when `DB_SSL=true`. |
|
|
57
|
+
| `AUTH_MODE` | `key` | `key` or `open`. See above. |
|
|
58
|
+
| `PROMPTOWL_API_URL` | `https://app.promptowl.ai` | PromptOwl's API origin — used for device auth, license validation, telemetry. Override for air-gapped or test setups. |
|
|
59
|
+
| `PROMPTOWL_KEY` | `""` | Your PromptOwl Community License key (`pk_...`). Unlicensed instances still run and serve reads, but every write returns `503` until a valid key is installed. Can also be set via the browser License Setup Page, which persists it to `ENV_FILE_PATH`. |
|
|
60
|
+
| `PROMPTOWL_SIGN_IN_GATE` | `open` | Restrict "Sign in with PromptOwl". `open` = anyone may; `admin-only` = only the license owner (admin) may, everyone else uses email/password (admin opens the login page with `?admin=1`); `disabled` = nobody may. Enforced server-side at `POST /auth/promptowl` and surfaced on the health endpoint. Unknown values fall back to `open`. |
|
|
61
|
+
| `OFFICIAL_COMMUNITY_SSO_SECRET` | `""` | **Official deployment only — leave unset on self-hosted.** Shared HMAC secret enabling the one-click "Open Community" SSO auto-login from PromptOwl. Must exactly match the same-named var on PromptOwl. When unset, `GET /auth/sso` returns `404` and the feature is disabled; self-hosted users keep using the manual device-code flow. |
|
|
62
|
+
| `PUBLIC_BASE_URL` | `""` | This server's canonical external URL (e.g. `https://community.promptowl.ai`). Checked against the SSO ticket's `aud` claim so a ticket minted for this server can't be replayed against another. Only relevant when `OFFICIAL_COMMUNITY_SSO_SECRET` is set; when unset, the audience check is skipped. |
|
|
63
|
+
| `ENV_FILE_PATH` | `$DATA_ROOT/.env` | Path to the `.env` file the license install flow writes `PROMPTOWL_KEY` into (alongside existing vars), and which the server also reads at boot. Defaults **under `DATA_ROOT`** so the browser License Setup Page persists durably in containers — `$cwd` is `/app` in the official image (root-owned, discarded on container recreate), which silently lost the key. Override only if your writable, persisted `.env` lives elsewhere. In containers, providing `PROMPTOWL_KEY` directly via the environment also works and is read at boot. |
|
|
64
|
+
| `TELEMETRY_ENABLED` | `"true"` (set to `"false"` to disable) | Batched, anonymized usage events sent to PromptOwl. Off disables the loop entirely. |
|
|
65
|
+
| `TELEMETRY_INTERVAL_MS` | `3600000` (1 hour) | How often buffered telemetry is flushed to PromptOwl. |
|
|
66
|
+
| `CORS_ORIGINS` | `*` in open mode; `http://localhost:5173,http://localhost:3838` in key mode | Comma-separated allowlist. Set to `*` to allow any origin (**only** safe in open mode — in key mode with Bearer tokens this enables CSRF). |
|
|
67
|
+
| `MAX_BODY_BYTES` | `10485760` (10 MB) | Reject requests whose `Content-Length` exceeds this. Prevents giant-payload DoS. |
|
|
68
|
+
| `LOGO_URL` | _(unset)_ | Custom logo shown in the UI header + login screen. Must start with `https://`, `http://`, or `data:image/` — other schemes (`file://`, relative, `javascript:`) are rejected with a warning and the bundled icon is used. |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Database backends
|
|
73
|
+
|
|
74
|
+
The governance/auth metadata (users, sessions, nests registry, stewards, reviews,
|
|
75
|
+
versions index, comments, telemetry) is stored in a relational database. Two
|
|
76
|
+
backends are supported:
|
|
77
|
+
|
|
78
|
+
- **SQLite (default).** A single file at `DATABASE_PATH`. Zero-config, ideal for
|
|
79
|
+
single-box and local deployments. Nothing changes for existing installs.
|
|
80
|
+
- **PostgreSQL / Cloud SQL.** For deployments where local disk isn't durable
|
|
81
|
+
(e.g. Google Cloud Run, where the container filesystem is ephemeral). Selected
|
|
82
|
+
by setting `DB_DRIVER=postgres`, `DATABASE_URL`, or `CLOUD_SQL_CONNECTION_NAME`.
|
|
83
|
+
|
|
84
|
+
On first connect the server creates its schema automatically (idempotent) — no
|
|
85
|
+
manual migration step. There is no built-in SQLite→Postgres data migration; a new
|
|
86
|
+
Postgres backend starts empty.
|
|
87
|
+
|
|
88
|
+
> ⚠️ **Cloud Run durability — read this.** Cloud SQL persists only the *metadata
|
|
89
|
+
> database*. The actual **document content and version history** live on the
|
|
90
|
+
> filesystem under `$DATA_ROOT/nests/`, which on Cloud Run is **ephemeral** and is
|
|
91
|
+
> lost when an instance is recycled. Using Cloud SQL alone does **not** make a
|
|
92
|
+
> Cloud Run deployment fully durable. You must also put `$DATA_ROOT` on persistent,
|
|
93
|
+
> shared storage — e.g. mount a GCS bucket via Cloud Storage FUSE, or use a
|
|
94
|
+
> persistent volume — otherwise documents will disappear on redeploy/scale-in.
|
|
95
|
+
|
|
96
|
+
### Cloud Run + Cloud SQL (PostgreSQL)
|
|
97
|
+
|
|
98
|
+
Attach the Cloud SQL instance to the service (`--add-cloudsql-instances`) so the
|
|
99
|
+
Auth Proxy unix socket appears at `/cloudsql/<connection-name>`, then:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
DB_DRIVER=postgres \
|
|
103
|
+
CLOUD_SQL_CONNECTION_NAME=my-project:us-central1:contextnest \
|
|
104
|
+
DB_USER=contextnest \
|
|
105
|
+
DB_PASSWORD=*** \
|
|
106
|
+
DB_NAME=contextnest \
|
|
107
|
+
DATA_ROOT=/mnt/vault \ # mount GCS/persistent storage here — see warning above
|
|
108
|
+
PROMPTOWL_KEY=pk_... \
|
|
109
|
+
node dist/index.js
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Or with a plain TCP connection string (e.g. the Cloud SQL Proxy running on
|
|
113
|
+
localhost, or a private IP):
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
DATABASE_URL=postgres://contextnest:***@127.0.0.1:5432/contextnest \
|
|
117
|
+
DB_DRIVER=postgres \
|
|
118
|
+
DATA_ROOT=/mnt/vault \
|
|
119
|
+
npm start
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Typical deployments
|
|
123
|
+
|
|
124
|
+
### Local dev / single user
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
AUTH_MODE=open DATA_ROOT=./my-data npm run dev
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Or the default dev mode if `npm run dev` already sets `AUTH_MODE=open` in your scripts.
|
|
131
|
+
|
|
132
|
+
### Team / multi-user behind a reverse proxy
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
AUTH_MODE=key \
|
|
136
|
+
CORS_ORIGINS="https://team.example.com,https://admin.example.com" \
|
|
137
|
+
DATA_ROOT=/var/lib/contextnest \
|
|
138
|
+
PROMPTOWL_KEY=pk_... \
|
|
139
|
+
npm start
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Terminate TLS at the proxy, forward `X-Forwarded-For` and `X-Real-IP` headers (the rate limiter reads them), and bind the server to `127.0.0.1` so only the proxy can reach it.
|
|
143
|
+
|
|
144
|
+
### Hosted / commercial SaaS
|
|
145
|
+
|
|
146
|
+
Same as team, plus:
|
|
147
|
+
- Run N instances behind a load balancer. SQLite + a shared filesystem is not a great long-term story for the metadata DB when scaling beyond one box — switch to the **PostgreSQL / Cloud SQL** backend (see [Database backends](#database-backends)) so all instances share one consistent database. The on-disk nest vault under `$DATA_ROOT/nests/` still needs durable shared storage.
|
|
148
|
+
- Set `TELEMETRY_ENABLED=true` and a valid `PROMPTOWL_KEY` so usage rolls up to PromptOwl.
|
|
149
|
+
- Rotate keys regularly via `DELETE /auth/keys/:id` + `POST /auth/keys`.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## access.yaml (optional, open + key mode)
|
|
154
|
+
|
|
155
|
+
Drop an `access.yaml` at `$DATA_ROOT/access.yaml` to add a server-level ABAC layer — useful even in key mode for super-admins and group-based defaults.
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
mode: restricted
|
|
159
|
+
allowed_users:
|
|
160
|
+
- "*.acme.com" # email wildcard — anyone @acme.com
|
|
161
|
+
- "partner@vendor.com" # exact match
|
|
162
|
+
super_admins:
|
|
163
|
+
- "ceo@acme.com" # admin on every nest: visibility, collaborators, stewards (not owner-only delete/transfer)
|
|
164
|
+
groups:
|
|
165
|
+
engineering:
|
|
166
|
+
default_permission: write
|
|
167
|
+
members:
|
|
168
|
+
- "*.eng.acme.com"
|
|
169
|
+
viewers:
|
|
170
|
+
default_permission: read
|
|
171
|
+
members:
|
|
172
|
+
- "*.contractor.acme.com"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
See `STEWARDSHIP.md` for how super-admins and groups interact with per-nest stewardship.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Reload
|
|
180
|
+
|
|
181
|
+
Changing env vars requires a restart — the server reads them at boot. `tsx watch` in dev will pick up code changes automatically but not env changes.
|
package/LICENSE.md
CHANGED
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
# ContextNest Community Edition — Commercial Software License
|
|
2
|
-
|
|
3
|
-
**Version 1.0 — Effective Date: April 24, 2026**
|
|
4
|
-
|
|
5
|
-
Copyright © 2026 Promptowl LLC. All rights reserved.
|
|
6
|
-
|
|
7
|
-
This ContextNest Community Edition Commercial Software License (the **"License"**) is a legal agreement between you (either an individual or a single legal entity, **"You"**) and **Promptowl LLC**, a Georgia limited liability company with its principal place of business at 3060 Mercer University Dr Ste 110, Atlanta, GA 30341, USA (**"Licensor,"** "we," "us," or "our"), governing Your use of the ContextNest Community Edition software, including its command-line interface, server, user interface, source or compiled code, and any related documentation (collectively, the **"Software"**).
|
|
8
|
-
|
|
9
|
-
**BY INSTALLING, COPYING, EXECUTING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THIS LICENSE. IF YOU DO NOT AGREE, DO NOT INSTALL OR USE THE SOFTWARE.**
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 1. Software and Service Relationship
|
|
14
|
-
|
|
15
|
-
The Software is a client that interoperates with the hosted **PromptOwl** platform operated by Licensor (the **"Platform"**). Operation of the Software requires a valid PromptOwl account. Your use of the Platform, and any acceptance of Platform-level terms presented upon login or account creation, is governed separately by:
|
|
16
|
-
|
|
17
|
-
- **End User License Agreement** — <https://promptowl.ai/eula/>
|
|
18
|
-
- **Terms of Service** — <https://promptowl.ai/terms-of-service/>
|
|
19
|
-
- **Privacy Policy** — <https://promptowl.ai/privacy-policy/>
|
|
20
|
-
- **Acceptable Use Policy** — <https://promptowl.ai/acceptable-use/>
|
|
21
|
-
- **Disclaimer** — <https://promptowl.ai/disclaimer/>
|
|
22
|
-
- **Cookie Policy** — <https://promptowl.ai/cookies/>
|
|
23
|
-
|
|
24
|
-
(collectively, the **"Platform Terms"**). The Platform Terms are incorporated into this License by reference with respect to any use of the Platform. In the event of a conflict between this License and the Platform Terms regarding the Software itself (as distinct from the Platform), this License controls.
|
|
25
|
-
|
|
26
|
-
## 2. License Grant
|
|
27
|
-
|
|
28
|
-
Subject to Your continued compliance with this License and the Platform Terms, Licensor grants You a limited, non-exclusive, non-transferable, non-sublicensable, revocable license to:
|
|
29
|
-
|
|
30
|
-
**(a)** install and execute the Software on computing devices that You own or control;
|
|
31
|
-
|
|
32
|
-
**(b)** use the Software solely for Your own internal business purposes or personal non-commercial purposes, in connection with a valid PromptOwl account; and
|
|
33
|
-
|
|
34
|
-
**(c)** make a reasonable number of copies of the Software solely for backup, archival, or internal deployment purposes, provided that all copyright, trademark, and other proprietary notices are preserved intact.
|
|
35
|
-
|
|
36
|
-
## 3. Restrictions
|
|
37
|
-
|
|
38
|
-
You shall not, and shall not permit any third party to:
|
|
39
|
-
|
|
40
|
-
**(a) Redistribution.** Sell, rent, lease, lend, sublicense, assign, distribute, publish, or otherwise make the Software available to any third party, whether standalone, bundled, or as part of a derivative work.
|
|
41
|
-
|
|
42
|
-
**(b) Hosting-as-a-Service.** Offer, operate, or make available the Software, or any substantial portion of its functionality, as a hosted, managed, software-as-a-service, or similar service to any third party. Hosting the Software for Your own internal use is permitted; hosting it for use by any person or entity outside Your legal entity is not.
|
|
43
|
-
|
|
44
|
-
**(c) Competitive Use.** Use the Software, in whole or in part, to develop, train, operate, or support any product or service that competes with ContextNest, PromptOwl, or any Licensor product.
|
|
45
|
-
|
|
46
|
-
**(d) Reverse Engineering.** Reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code, underlying ideas, algorithms, file formats, or non-public APIs of the Software, except and only to the extent this restriction is expressly prohibited by applicable law.
|
|
47
|
-
|
|
48
|
-
**(e) Modification.** Modify, adapt, translate, or create derivative works of the Software, except for configuration files and integration code that You author and that are clearly separable from the Software itself.
|
|
49
|
-
|
|
50
|
-
**(f) Circumvention.** Circumvent, disable, or interfere with any license, authentication, metering, telemetry, or security mechanism of the Software or the Platform, including but not limited to the PromptOwl login requirement.
|
|
51
|
-
|
|
52
|
-
**(g) Notice Removal.** Remove, obscure, or alter any copyright, trademark, license, or other proprietary notice contained in or displayed by the Software.
|
|
53
|
-
|
|
54
|
-
**(h) Trademark Use.** Use the names, logos, or trademarks of Licensor, including "PromptOwl," "ContextNest," or any confusingly similar mark, in any forked, modified, or derivative distribution, or in a manner suggesting endorsement, affiliation, or sponsorship that does not exist.
|
|
55
|
-
|
|
56
|
-
**(i) Unlawful Use.** Use the Software in violation of any applicable law or regulation, or in any manner that violates the Acceptable Use Policy.
|
|
57
|
-
|
|
58
|
-
**(j) Regulated Industry Use.** Use the Software in environments subject to HIPAA, FISMA, GLBA, PCI-DSS, or similar industry-specific regulations, unless You have obtained express written authorization from Licensor. The Software is not certified for such environments.
|
|
59
|
-
|
|
60
|
-
## 4. Ownership and Intellectual Property
|
|
61
|
-
|
|
62
|
-
The Software is licensed, not sold. Licensor and its licensors retain all right, title, and interest in and to the Software, including all intellectual property rights therein. No rights are granted to You other than those expressly set forth in this License. All rights not expressly granted are reserved by Licensor. "PromptOwl" and "ContextNest" are trademarks of Promptowl LLC.
|
|
63
|
-
|
|
64
|
-
## 5. Account Requirement and Suspension
|
|
65
|
-
|
|
66
|
-
The Software's functionality is conditioned on a valid, active PromptOwl account in good standing. Licensor may suspend, terminate, or restrict account access (and, consequently, Software functionality) in accordance with the Platform Terms. Termination or suspension of Your PromptOwl account does not, by itself, waive Licensor's rights under this License.
|
|
67
|
-
|
|
68
|
-
## 6. Updates
|
|
69
|
-
|
|
70
|
-
Licensor may, but is not obligated to, provide updates, patches, or new versions of the Software. Any such update is deemed part of the Software and is governed by this License unless accompanied by a separate license.
|
|
71
|
-
|
|
72
|
-
## 7. Third-Party Components
|
|
73
|
-
|
|
74
|
-
The Software may include or depend upon open-source or third-party components, each of which is governed by its own license. A listing of such components and their licenses is provided in the Software distribution or in accompanying documentation. Nothing in this License limits Your rights or obligations under those third-party licenses.
|
|
75
|
-
|
|
76
|
-
## 8. Commercial Licensing for Restricted Uses
|
|
77
|
-
|
|
78
|
-
If You wish to use the Software in a manner not permitted by Section 3 — including redistribution, hosting-as-a-service, embedding in a commercial product, or use in regulated-industry environments — You must obtain a separate written commercial license from Licensor. Contact: **hoot@promptowl.ai**.
|
|
79
|
-
|
|
80
|
-
## 9. Term and Termination
|
|
81
|
-
|
|
82
|
-
**9.1** This License is effective upon Your first installation or use of the Software and continues until terminated.
|
|
83
|
-
|
|
84
|
-
**9.2** This License terminates automatically and without notice if You breach any term of this License. Licensor may also terminate this License at any time for material breach upon notice.
|
|
85
|
-
|
|
86
|
-
**9.3** Upon termination, You shall immediately (i) cease all use of the Software, (ii) delete or destroy all copies of the Software in Your possession or control, and (iii) certify such destruction in writing upon Licensor's request.
|
|
87
|
-
|
|
88
|
-
**9.4** Sections 3, 4, 9.3, 10, 11, 12, 13, and 14 survive termination.
|
|
89
|
-
|
|
90
|
-
## 10. Disclaimer of Warranties
|
|
91
|
-
|
|
92
|
-
THE SOFTWARE IS PROVIDED **"AS IS"** AND **"AS AVAILABLE,"** WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, ACCURACY, RELIABILITY, OR UNINTERRUPTED OPERATION. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, OR BE ERROR-FREE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, IN WHICH CASE THE FOREGOING EXCLUSIONS APPLY TO THE MAXIMUM EXTENT PERMITTED BY LAW.
|
|
93
|
-
|
|
94
|
-
## 11. AI Output Disclaimer
|
|
95
|
-
|
|
96
|
-
The Software enables the creation, storage, retrieval, and injection of content into large language models and other AI systems. Licensor makes no representation or warranty regarding the accuracy, legality, completeness, appropriateness, or non-infringement of any output generated by such systems. You are solely responsible for reviewing, validating, and determining the fitness of AI-generated output for Your intended use. You agree not to deploy the Software in high-risk contexts (including medical, legal, financial advisory, safety-critical, or life-critical environments) without appropriate human oversight and independent safeguards.
|
|
97
|
-
|
|
98
|
-
## 12. Limitation of Liability
|
|
99
|
-
|
|
100
|
-
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL LICENSOR, ITS AFFILIATES, OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR ANY LOSS OF PROFITS, REVENUE, DATA, GOODWILL, OR BUSINESS OPPORTUNITY, ARISING OUT OF OR RELATED TO THIS LICENSE OR THE SOFTWARE, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR ANY OTHER LEGAL THEORY, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
101
|
-
|
|
102
|
-
LICENSOR'S TOTAL CUMULATIVE LIABILITY ARISING OUT OF OR RELATED TO THIS LICENSE OR THE SOFTWARE SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS (US $100.00) OR THE AMOUNT PAID BY YOU TO LICENSOR FOR THE SOFTWARE IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM, WHICHEVER IS GREATER.
|
|
103
|
-
|
|
104
|
-
THE LIMITATIONS IN THIS SECTION APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. SOME JURISDICTIONS DO NOT ALLOW CERTAIN LIMITATIONS OF LIABILITY, IN WHICH CASE THE FOREGOING LIMITATIONS APPLY TO THE MAXIMUM EXTENT PERMITTED BY LAW.
|
|
105
|
-
|
|
106
|
-
## 13. Indemnification
|
|
107
|
-
|
|
108
|
-
You agree to indemnify, defend, and hold harmless Licensor, its affiliates, and its officers, directors, employees, and agents from and against any and all claims, damages, liabilities, costs, and expenses (including reasonable attorneys' fees) arising out of or related to (a) Your use of the Software in breach of this License, (b) Your violation of any applicable law or third-party right, or (c) content or data You process through the Software.
|
|
109
|
-
|
|
110
|
-
## 14. Governing Law and Venue
|
|
111
|
-
|
|
112
|
-
This License is governed by the laws of the State of Georgia, United States of America, without regard to its conflict-of-laws principles. The exclusive venue for any dispute arising under or related to this License shall be the state or federal courts located in Fulton County, Georgia, and the parties consent to the personal jurisdiction of such courts. The United Nations Convention on Contracts for the International Sale of Goods does not apply.
|
|
113
|
-
|
|
114
|
-
## 15. Export Compliance
|
|
115
|
-
|
|
116
|
-
You represent and warrant that (a) You are not located in a country subject to a U.S. Government embargo or designated as a "terrorist supporting" country, and (b) You are not listed on any U.S. Government list of prohibited or restricted parties. You shall comply with all applicable export-control laws and regulations in Your use of the Software.
|
|
117
|
-
|
|
118
|
-
## 16. Assignment
|
|
119
|
-
|
|
120
|
-
You may not assign or transfer this License, in whole or in part, without Licensor's prior written consent. Any attempted assignment in violation of this Section is void. Licensor may assign this License freely.
|
|
121
|
-
|
|
122
|
-
## 17. Severability and Waiver
|
|
123
|
-
|
|
124
|
-
If any provision of this License is held unenforceable, the remaining provisions shall remain in full force and effect, and the unenforceable provision shall be reformed to the extent necessary to render it enforceable while preserving the parties' intent. No waiver of any term shall be deemed a waiver of any other term or of a subsequent breach.
|
|
125
|
-
|
|
126
|
-
## 18. Entire Agreement
|
|
127
|
-
|
|
128
|
-
This License, together with the Platform Terms to the extent applicable to Your use of the Platform, constitutes the entire agreement between You and Licensor regarding the Software and supersedes all prior or contemporaneous understandings, whether written or oral. Any modification must be in writing and signed by an authorized representative of Licensor.
|
|
129
|
-
|
|
130
|
-
## 19. Contact
|
|
131
|
-
|
|
132
|
-
**Promptowl LLC**
|
|
133
|
-
3060 Mercer University Dr Ste 110
|
|
134
|
-
Atlanta, GA 30341, USA
|
|
135
|
-
Email: **hoot@promptowl.ai**
|
|
136
|
-
Web: <https://promptowl.ai>
|
|
137
|
-
|
|
138
|
-
For commercial licensing inquiries (redistribution, hosted-service offerings, OEM, or regulated-industry use), contact **hoot@promptowl.ai** with subject line "ContextNest Commercial License."
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
*"ContextNest" and "PromptOwl" are trademarks of Promptowl LLC. All rights reserved.*
|
|
1
|
+
# ContextNest Community Edition — Commercial Software License
|
|
2
|
+
|
|
3
|
+
**Version 1.0 — Effective Date: April 24, 2026**
|
|
4
|
+
|
|
5
|
+
Copyright © 2026 Promptowl LLC. All rights reserved.
|
|
6
|
+
|
|
7
|
+
This ContextNest Community Edition Commercial Software License (the **"License"**) is a legal agreement between you (either an individual or a single legal entity, **"You"**) and **Promptowl LLC**, a Georgia limited liability company with its principal place of business at 3060 Mercer University Dr Ste 110, Atlanta, GA 30341, USA (**"Licensor,"** "we," "us," or "our"), governing Your use of the ContextNest Community Edition software, including its command-line interface, server, user interface, source or compiled code, and any related documentation (collectively, the **"Software"**).
|
|
8
|
+
|
|
9
|
+
**BY INSTALLING, COPYING, EXECUTING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THIS LICENSE. IF YOU DO NOT AGREE, DO NOT INSTALL OR USE THE SOFTWARE.**
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Software and Service Relationship
|
|
14
|
+
|
|
15
|
+
The Software is a client that interoperates with the hosted **PromptOwl** platform operated by Licensor (the **"Platform"**). Operation of the Software requires a valid PromptOwl account. Your use of the Platform, and any acceptance of Platform-level terms presented upon login or account creation, is governed separately by:
|
|
16
|
+
|
|
17
|
+
- **End User License Agreement** — <https://promptowl.ai/eula/>
|
|
18
|
+
- **Terms of Service** — <https://promptowl.ai/terms-of-service/>
|
|
19
|
+
- **Privacy Policy** — <https://promptowl.ai/privacy-policy/>
|
|
20
|
+
- **Acceptable Use Policy** — <https://promptowl.ai/acceptable-use/>
|
|
21
|
+
- **Disclaimer** — <https://promptowl.ai/disclaimer/>
|
|
22
|
+
- **Cookie Policy** — <https://promptowl.ai/cookies/>
|
|
23
|
+
|
|
24
|
+
(collectively, the **"Platform Terms"**). The Platform Terms are incorporated into this License by reference with respect to any use of the Platform. In the event of a conflict between this License and the Platform Terms regarding the Software itself (as distinct from the Platform), this License controls.
|
|
25
|
+
|
|
26
|
+
## 2. License Grant
|
|
27
|
+
|
|
28
|
+
Subject to Your continued compliance with this License and the Platform Terms, Licensor grants You a limited, non-exclusive, non-transferable, non-sublicensable, revocable license to:
|
|
29
|
+
|
|
30
|
+
**(a)** install and execute the Software on computing devices that You own or control;
|
|
31
|
+
|
|
32
|
+
**(b)** use the Software solely for Your own internal business purposes or personal non-commercial purposes, in connection with a valid PromptOwl account; and
|
|
33
|
+
|
|
34
|
+
**(c)** make a reasonable number of copies of the Software solely for backup, archival, or internal deployment purposes, provided that all copyright, trademark, and other proprietary notices are preserved intact.
|
|
35
|
+
|
|
36
|
+
## 3. Restrictions
|
|
37
|
+
|
|
38
|
+
You shall not, and shall not permit any third party to:
|
|
39
|
+
|
|
40
|
+
**(a) Redistribution.** Sell, rent, lease, lend, sublicense, assign, distribute, publish, or otherwise make the Software available to any third party, whether standalone, bundled, or as part of a derivative work.
|
|
41
|
+
|
|
42
|
+
**(b) Hosting-as-a-Service.** Offer, operate, or make available the Software, or any substantial portion of its functionality, as a hosted, managed, software-as-a-service, or similar service to any third party. Hosting the Software for Your own internal use is permitted; hosting it for use by any person or entity outside Your legal entity is not.
|
|
43
|
+
|
|
44
|
+
**(c) Competitive Use.** Use the Software, in whole or in part, to develop, train, operate, or support any product or service that competes with ContextNest, PromptOwl, or any Licensor product.
|
|
45
|
+
|
|
46
|
+
**(d) Reverse Engineering.** Reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code, underlying ideas, algorithms, file formats, or non-public APIs of the Software, except and only to the extent this restriction is expressly prohibited by applicable law.
|
|
47
|
+
|
|
48
|
+
**(e) Modification.** Modify, adapt, translate, or create derivative works of the Software, except for configuration files and integration code that You author and that are clearly separable from the Software itself.
|
|
49
|
+
|
|
50
|
+
**(f) Circumvention.** Circumvent, disable, or interfere with any license, authentication, metering, telemetry, or security mechanism of the Software or the Platform, including but not limited to the PromptOwl login requirement.
|
|
51
|
+
|
|
52
|
+
**(g) Notice Removal.** Remove, obscure, or alter any copyright, trademark, license, or other proprietary notice contained in or displayed by the Software.
|
|
53
|
+
|
|
54
|
+
**(h) Trademark Use.** Use the names, logos, or trademarks of Licensor, including "PromptOwl," "ContextNest," or any confusingly similar mark, in any forked, modified, or derivative distribution, or in a manner suggesting endorsement, affiliation, or sponsorship that does not exist.
|
|
55
|
+
|
|
56
|
+
**(i) Unlawful Use.** Use the Software in violation of any applicable law or regulation, or in any manner that violates the Acceptable Use Policy.
|
|
57
|
+
|
|
58
|
+
**(j) Regulated Industry Use.** Use the Software in environments subject to HIPAA, FISMA, GLBA, PCI-DSS, or similar industry-specific regulations, unless You have obtained express written authorization from Licensor. The Software is not certified for such environments.
|
|
59
|
+
|
|
60
|
+
## 4. Ownership and Intellectual Property
|
|
61
|
+
|
|
62
|
+
The Software is licensed, not sold. Licensor and its licensors retain all right, title, and interest in and to the Software, including all intellectual property rights therein. No rights are granted to You other than those expressly set forth in this License. All rights not expressly granted are reserved by Licensor. "PromptOwl" and "ContextNest" are trademarks of Promptowl LLC.
|
|
63
|
+
|
|
64
|
+
## 5. Account Requirement and Suspension
|
|
65
|
+
|
|
66
|
+
The Software's functionality is conditioned on a valid, active PromptOwl account in good standing. Licensor may suspend, terminate, or restrict account access (and, consequently, Software functionality) in accordance with the Platform Terms. Termination or suspension of Your PromptOwl account does not, by itself, waive Licensor's rights under this License.
|
|
67
|
+
|
|
68
|
+
## 6. Updates
|
|
69
|
+
|
|
70
|
+
Licensor may, but is not obligated to, provide updates, patches, or new versions of the Software. Any such update is deemed part of the Software and is governed by this License unless accompanied by a separate license.
|
|
71
|
+
|
|
72
|
+
## 7. Third-Party Components
|
|
73
|
+
|
|
74
|
+
The Software may include or depend upon open-source or third-party components, each of which is governed by its own license. A listing of such components and their licenses is provided in the Software distribution or in accompanying documentation. Nothing in this License limits Your rights or obligations under those third-party licenses.
|
|
75
|
+
|
|
76
|
+
## 8. Commercial Licensing for Restricted Uses
|
|
77
|
+
|
|
78
|
+
If You wish to use the Software in a manner not permitted by Section 3 — including redistribution, hosting-as-a-service, embedding in a commercial product, or use in regulated-industry environments — You must obtain a separate written commercial license from Licensor. Contact: **hoot@promptowl.ai**.
|
|
79
|
+
|
|
80
|
+
## 9. Term and Termination
|
|
81
|
+
|
|
82
|
+
**9.1** This License is effective upon Your first installation or use of the Software and continues until terminated.
|
|
83
|
+
|
|
84
|
+
**9.2** This License terminates automatically and without notice if You breach any term of this License. Licensor may also terminate this License at any time for material breach upon notice.
|
|
85
|
+
|
|
86
|
+
**9.3** Upon termination, You shall immediately (i) cease all use of the Software, (ii) delete or destroy all copies of the Software in Your possession or control, and (iii) certify such destruction in writing upon Licensor's request.
|
|
87
|
+
|
|
88
|
+
**9.4** Sections 3, 4, 9.3, 10, 11, 12, 13, and 14 survive termination.
|
|
89
|
+
|
|
90
|
+
## 10. Disclaimer of Warranties
|
|
91
|
+
|
|
92
|
+
THE SOFTWARE IS PROVIDED **"AS IS"** AND **"AS AVAILABLE,"** WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, ACCURACY, RELIABILITY, OR UNINTERRUPTED OPERATION. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, OR BE ERROR-FREE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, IN WHICH CASE THE FOREGOING EXCLUSIONS APPLY TO THE MAXIMUM EXTENT PERMITTED BY LAW.
|
|
93
|
+
|
|
94
|
+
## 11. AI Output Disclaimer
|
|
95
|
+
|
|
96
|
+
The Software enables the creation, storage, retrieval, and injection of content into large language models and other AI systems. Licensor makes no representation or warranty regarding the accuracy, legality, completeness, appropriateness, or non-infringement of any output generated by such systems. You are solely responsible for reviewing, validating, and determining the fitness of AI-generated output for Your intended use. You agree not to deploy the Software in high-risk contexts (including medical, legal, financial advisory, safety-critical, or life-critical environments) without appropriate human oversight and independent safeguards.
|
|
97
|
+
|
|
98
|
+
## 12. Limitation of Liability
|
|
99
|
+
|
|
100
|
+
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL LICENSOR, ITS AFFILIATES, OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR ANY LOSS OF PROFITS, REVENUE, DATA, GOODWILL, OR BUSINESS OPPORTUNITY, ARISING OUT OF OR RELATED TO THIS LICENSE OR THE SOFTWARE, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR ANY OTHER LEGAL THEORY, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
101
|
+
|
|
102
|
+
LICENSOR'S TOTAL CUMULATIVE LIABILITY ARISING OUT OF OR RELATED TO THIS LICENSE OR THE SOFTWARE SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS (US $100.00) OR THE AMOUNT PAID BY YOU TO LICENSOR FOR THE SOFTWARE IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM, WHICHEVER IS GREATER.
|
|
103
|
+
|
|
104
|
+
THE LIMITATIONS IN THIS SECTION APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. SOME JURISDICTIONS DO NOT ALLOW CERTAIN LIMITATIONS OF LIABILITY, IN WHICH CASE THE FOREGOING LIMITATIONS APPLY TO THE MAXIMUM EXTENT PERMITTED BY LAW.
|
|
105
|
+
|
|
106
|
+
## 13. Indemnification
|
|
107
|
+
|
|
108
|
+
You agree to indemnify, defend, and hold harmless Licensor, its affiliates, and its officers, directors, employees, and agents from and against any and all claims, damages, liabilities, costs, and expenses (including reasonable attorneys' fees) arising out of or related to (a) Your use of the Software in breach of this License, (b) Your violation of any applicable law or third-party right, or (c) content or data You process through the Software.
|
|
109
|
+
|
|
110
|
+
## 14. Governing Law and Venue
|
|
111
|
+
|
|
112
|
+
This License is governed by the laws of the State of Georgia, United States of America, without regard to its conflict-of-laws principles. The exclusive venue for any dispute arising under or related to this License shall be the state or federal courts located in Fulton County, Georgia, and the parties consent to the personal jurisdiction of such courts. The United Nations Convention on Contracts for the International Sale of Goods does not apply.
|
|
113
|
+
|
|
114
|
+
## 15. Export Compliance
|
|
115
|
+
|
|
116
|
+
You represent and warrant that (a) You are not located in a country subject to a U.S. Government embargo or designated as a "terrorist supporting" country, and (b) You are not listed on any U.S. Government list of prohibited or restricted parties. You shall comply with all applicable export-control laws and regulations in Your use of the Software.
|
|
117
|
+
|
|
118
|
+
## 16. Assignment
|
|
119
|
+
|
|
120
|
+
You may not assign or transfer this License, in whole or in part, without Licensor's prior written consent. Any attempted assignment in violation of this Section is void. Licensor may assign this License freely.
|
|
121
|
+
|
|
122
|
+
## 17. Severability and Waiver
|
|
123
|
+
|
|
124
|
+
If any provision of this License is held unenforceable, the remaining provisions shall remain in full force and effect, and the unenforceable provision shall be reformed to the extent necessary to render it enforceable while preserving the parties' intent. No waiver of any term shall be deemed a waiver of any other term or of a subsequent breach.
|
|
125
|
+
|
|
126
|
+
## 18. Entire Agreement
|
|
127
|
+
|
|
128
|
+
This License, together with the Platform Terms to the extent applicable to Your use of the Platform, constitutes the entire agreement between You and Licensor regarding the Software and supersedes all prior or contemporaneous understandings, whether written or oral. Any modification must be in writing and signed by an authorized representative of Licensor.
|
|
129
|
+
|
|
130
|
+
## 19. Contact
|
|
131
|
+
|
|
132
|
+
**Promptowl LLC**
|
|
133
|
+
3060 Mercer University Dr Ste 110
|
|
134
|
+
Atlanta, GA 30341, USA
|
|
135
|
+
Email: **hoot@promptowl.ai**
|
|
136
|
+
Web: <https://promptowl.ai>
|
|
137
|
+
|
|
138
|
+
For commercial licensing inquiries (redistribution, hosted-service offerings, OEM, or regulated-industry use), contact **hoot@promptowl.ai** with subject line "ContextNest Commercial License."
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
*"ContextNest" and "PromptOwl" are trademarks of Promptowl LLC. All rights reserved.*
|