feat: initial public release
ConsentOS — a privacy-first cookie consent management platform. Self-hosted, source-available alternative to OneTrust, Cookiebot, and CookieYes. Full standards coverage (IAB TCF v2.2, GPP v1, Google Consent Mode v2, GPC, Shopify Customer Privacy API), multi-tenant architecture with role-based access, configuration cascade (system → org → group → site → region), dark-pattern detection in the scanner, and a tamper-evident consent record audit trail. This is the initial public release. Prior development history is retained internally. See README.md for the feature list, architecture overview, and quick-start instructions. Licensed under the Elastic Licence 2.0 — self-host freely; do not resell as a managed service.
This commit is contained in:
26
apps/admin-ui/public/_headers
Normal file
26
apps/admin-ui/public/_headers
Normal file
@@ -0,0 +1,26 @@
|
||||
# Cloudflare Pages custom headers
|
||||
# https://developers.cloudflare.com/pages/configuration/headers/
|
||||
|
||||
/consent-loader.js
|
||||
Access-Control-Allow-Origin: *
|
||||
Cross-Origin-Resource-Policy: cross-origin
|
||||
Cache-Control: public, max-age=3600
|
||||
|
||||
/consent-bundle.js
|
||||
Access-Control-Allow-Origin: *
|
||||
Cross-Origin-Resource-Policy: cross-origin
|
||||
Cache-Control: public, max-age=3600
|
||||
|
||||
/consent-bundle.js.map
|
||||
Access-Control-Allow-Origin: *
|
||||
Cross-Origin-Resource-Policy: cross-origin
|
||||
|
||||
/site-config-*.json
|
||||
Access-Control-Allow-Origin: *
|
||||
Cross-Origin-Resource-Policy: cross-origin
|
||||
Cache-Control: public, max-age=300
|
||||
|
||||
/translations-*.json
|
||||
Access-Control-Allow-Origin: *
|
||||
Cross-Origin-Resource-Policy: cross-origin
|
||||
Cache-Control: public, max-age=300
|
||||
5
apps/admin-ui/public/_redirects
Normal file
5
apps/admin-ui/public/_redirects
Normal file
@@ -0,0 +1,5 @@
|
||||
# Cloudflare Pages redirects
|
||||
# https://developers.cloudflare.com/pages/configuration/redirects/
|
||||
|
||||
# SPA fallback — must be LAST so static files (banner scripts, config JSON) are served directly
|
||||
/* /index.html 200
|
||||
5
apps/admin-ui/public/favicon.svg
Normal file
5
apps/admin-ui/public/favicon.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="32" height="32" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="48" height="48" rx="11" fill="#1B3C7C"/>
|
||||
<path d="M 33.9 14.1 A 13.5 13.5 0 1 0 33.9 33.9" stroke="white" stroke-width="3.5" stroke-linecap="round" fill="none"/>
|
||||
<circle cx="33.9" cy="33.9" r="4" fill="#4D8AFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 335 B |
7
apps/admin-ui/public/logo-lockup.svg
Normal file
7
apps/admin-ui/public/logo-lockup.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg width="220" height="48" viewBox="0 0 220 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="0" y="0" width="48" height="48" rx="11" fill="#1B3C7C"/>
|
||||
<path d="M 33.9 14.1 A 13.5 13.5 0 1 0 33.9 33.9" stroke="white" stroke-width="3.5" stroke-linecap="round" fill="none"/>
|
||||
<circle cx="33.9" cy="33.9" r="4" fill="#4D8AFF"/>
|
||||
<text x="62" y="32" font-family="Sora, system-ui, sans-serif" font-size="24" font-weight="600" fill="#1B3C7C" letter-spacing="-0.24">Consent</text>
|
||||
<text x="159" y="32" font-family="Sora, system-ui, sans-serif" font-size="24" font-weight="600" fill="#2C6AE4" letter-spacing="-0.24">OS</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 645 B |
5
apps/admin-ui/public/logo-mark.svg
Normal file
5
apps/admin-ui/public/logo-mark.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="48" height="48" rx="11" fill="#1B3C7C"/>
|
||||
<path d="M 33.9 14.1 A 13.5 13.5 0 1 0 33.9 33.9" stroke="white" stroke-width="3.5" stroke-linecap="round" fill="none"/>
|
||||
<circle cx="33.9" cy="33.9" r="4" fill="#4D8AFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 335 B |
Reference in New Issue
Block a user