Commit Graph

47 Commits

Author SHA1 Message Date
Bryan Frimin
f11eae6b82 Add /llms.txt endpoint to trust center compliance page
Renders compliance data (frameworks, documents, audits, subprocessors, references, and external links) as a plain-text Markdown document. The endpoint supports all required visibility filters and pagination.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-20 10:14:01 +01:00
Sacha Al Himdani
8ed6f1824f Fix unvalidated URL redirection in HTTP redirects
Use baseurl.Parse to construct the HTTPS redirect URL in the
trust center HTTP handler, breaking the taint chain from raw
request headers. Apply path.Clean to the slug-based redirect
in stripTrustPrefix to normalize path traversal sequences.

Addresses CodeQL go/unvalidated-url-redirection (CWE-601).

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-19 17:27:51 +01:00
Sacha Al Himdani
8b66a61990 Run go fix and go fmt
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-19 16:37:51 +01:00
Bryan Frimin
1e5f4012f0 Add dynamic favicon for trust center using file API
Use the trust center's logo as favicon via the public file API URL,
falling back to the default favicon when no logo is configured.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 09:32:37 +01:00
Bryan Frimin
751d9eb1f3 Add SSR for compliance page with dynamic title and meta tags
Implement server-side rendering of trust center page `<head>` with dynamic organization name and OG meta tags. Adds generic `FileRenderer` mechanism to statichandler for dynamic file rendering, allowing the trust server to inject templated content at request time.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-19 09:32:34 +01:00
Bryan Frimin
a5743729f7 Add file visibility (PRIVATE/PUBLIC) + public files API
Adds a visibility enum to files with PRIVATE (default) and PUBLIC states.
PUBLIC files are accessible via an unauthenticated /api/files/v1/{fileID}
endpoint that redirects to a presigned S3 URL. Introduces pkg/file service
to manage file operations. Logo uploads (trust centers, organizations,
frameworks, references) are marked PUBLIC; other files are PRIVATE.
Includes database migration and backfill for existing logos.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 19:19:04 +01:00
Bryan Frimin
158c36d9ab Add LLM interface
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 17:21:43 +01:00
Sacha Al Himdani
85ec106cd6 Send mailing list emails
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:37 +01:00
Sacha Al Himdani
4d2cb793b6 Add compliance page mailing list base
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:36 +01:00
Émile Ré
c4b06ddc7d Add compliange page base URL in context and use it to validate redirect URLs
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Bryan Frimin
c191d25e9a Add electronic signature
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:27 +01:00
Sacha Al Himdani
c9538ab287 Revert "Fix MCP"
This reverts commit 3048b99adb.
2026-02-20 20:22:58 +01:00
Sacha Al Himdani
3048b99adb Fix MCP
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-20 18:16:50 +01:00
Émile Ré
cbd873fd57 Revert ugly stripping by using a top level front route
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:25 -08:00
Émile Ré
c5cd225d95 Fix custom domain prefix + cookie
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:25 -08:00
Émile Ré
8b3bda56e6 Add magic link login for trust center
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:24 -08:00
Émile Ré
e220c259b3 Use trust center from context
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:23 -08:00
Émile Ré
7322201dab Plug trust center part 1
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:23 -08:00
Bryan Frimin
31f79fccce Add SCIM handler draft
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 12:22:44 -08:00
Bryan Frimin
63abfe3698 Fix not token secret
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:35:52 -08:00
Bryan Frimin
74fc3b8cd1 Rewrite identity and access management
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:07:34 -08:00
manish-singh-bisht
8eeab0a6d0 feat:pull the slack message service out to slack pkg
Signed-off-by: manish-singh-bisht <mthefool218@gmail.com>
2025-12-11 18:42:26 +01:00
Bryan Frimin
c4e7fd41cd Fix missing https redirect for trust center
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-24 09:26:44 +01:00
Bryan Frimin
be5f918d0e Add http to https redirect trust center
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-23 22:42:33 +01:00
Sacha Al Himdani
21c4b7cd9d Add role management
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-11-13 17:11:22 +01:00
Bryan Frimin
fcbfd93f26 Fix route mount for each requests
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-12 12:04:34 +01:00
Sacha Al Himdani
fee5a9232e Make secure cookie configurable
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-11-04 17:09:51 +01:00
Bryan Frimin
59aa332ab5 Move to vanity import url
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-31 17:01:52 +01:00
Bryan Frimin
896e6e0736 Refactor hostname to become baseurl
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-30 19:41:15 +01:00
Bryan Frimin
29917578fc Fix various bad tenant isolation
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-30 16:38:13 +01:00
Bryan Frimin
2766f8e423 Add SAML support
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-30 16:31:27 +01:00
Bryan Frimin
580c4e35c2 Add http to https redirect
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-21 17:36:10 +02:00
Bryan Frimin
0f96b8518f Refactoring of authentification
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-14 16:32:22 +02:00
Bryan Frimin
c4c4fda49f Support ID-based trust center URLs with slug fallback
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-13 23:23:08 +02:00
Bryan Frimin
c4ac8a9c93 Fix path loading error
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-09 15:06:42 +02:00
Bryan Frimin
65b7d90d61 Update trust center handler
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-09 15:06:40 +02:00
Bryan Frimin
2865b484bc Add cusotmizable cname target domain
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-10-09 15:04:52 +02:00
Sacha Al Himdani
f3194def05 Embed trust center v2 in the go backend
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-09-30 17:48:54 +02:00
Sacha Al Himdani
4ff71312f9 Split Config
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-08-06 16:34:43 +02:00
Sacha Al Himdani
cb3d79502d Add trust center front
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-08-06 16:34:43 +02:00
Bryan Frimin
1ce030af5d Add support for extra header
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-06-23 09:07:01 -07:00
Sacha Al Himdani
b54cb6d3fc Change document version
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-06-04 16:53:55 -07:00
Sacha Al Himdani
c2f9cb2080 Fetch vendor data with openai
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-05-26 22:45:45 -07:00
Bryan Frimin
0ea848ed8a Log graphql error
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-05-16 20:40:16 -07:00
Bryan Frimin
85935ac1dc Add redirect back to specific page
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-04-20 21:16:18 -07:00
Bryan Frimin
5370d59451 Add connector service and http handlers
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-04-20 21:16:16 -07:00
gearnode
123a538d82 Embded frontend inside go binary
This will simplify the self hosting of the platform.

Signed-off-by: gearnode <bryan@frimin.fr>
2025-03-09 15:30:28 +01:00