Bryan Frimin
bf276cd3db
Add finding coredata types and queries
...
Introduce the Finding, FindingAudit, FindingKind, FindingStatus,
FindingPriority, FindingFilter, and FindingOrderField types in the
coredata layer. Add CRUD operations, list with filtering/pagination,
and audit association queries.
Remove the now-replaced nonconformity and continual_improvement
coredata types. Update entity type registry and snapshot types
to reference the new findings type.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-17 15:05:31 +01:00
Bryan Frimin
736436e997
Add database migration to merge findings
...
Merge nonconformities and continual_improvements tables into a
unified findings table with kind (NONCONFORMITY, OBSERVATION,
EXCEPTION), status, and priority enums. Create findings_audits
junction table for the many-to-many audit relationship.
The migration generates new FND-XXX reference IDs per organization,
migrates both live and snapshot records preserving source_id links,
and carries over audit associations to the junction table.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-17 15:05:30 +01:00
Sacha Al Himdani
cf1dadc0b5
Add implemented state and justification to controls
...
Introduce `implemented` enum (IMPLEMENTED/NOT_IMPLEMENTED) and
`not_implemented_justification` (nullable text) fields on the Control
entity across all API surfaces (GraphQL, MCP, CLI), database, frontend,
and SOA export.
The database stores implementation state as a PostgreSQL enum
`control_implementation_state`. Controls default to IMPLEMENTED during
migration. The SOA list and PDF export show implementation status
alongside applicability, with "-" for non-applicable controls.
Justification columns are renamed for clarity: "Justification for
non-applicability" and "Justification for non-implementation".
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-17 11:01:04 +01:00
Bryan Frimin
6a77d42dd6
Style
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-16 00:28:47 +01:00
Bryan Frimin
7a4101185b
Add per-folder CLAUDE.md for key packages
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-15 15:04:27 +01:00
Bryan Frimin
76f781ead1
Clear conflicting external_id when enrolling manual profile into SCIM
...
When a SCIM provider sends CreateUser for a user whose email matches an
existing manual profile, but another profile already holds that
external_id (e.g. created by a prior CreateUser with a different email),
clear the conflicting external_id before enrolling the manual profile.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-14 12:40:26 +01:00
Bryan Frimin
2f76eaf4ae
Clear external_id and user_name when resetting SCIM sources
...
When a SCIM configuration is deleted, ResetSCIMSources now clears
external_id and user_name so stale values don't cause unique constraint
violations when SCIM is reconfigured.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-14 12:40:26 +01:00
Bryan Frimin
a3af41e6a1
Use errors.AsType in MembershipProfile.Insert
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-14 12:40:25 +01:00
Bryan Frimin
ef76a8d2e1
Remove deadcode
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-13 17:18:02 +01:00
Sacha Al Himdani
d5c62a9383
Run go fmt/fix
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-13 14:48:13 +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
aa01c40184
Remove with tenant from mailman
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-11 15:34:36 +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é
15bcfeb4bf
Remove unused iam policy
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-11 17:40:46 +04:00
Émile Ré
68faaf9d53
Remove unused columns
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-11 17:22:11 +04:00
Émile Ré
87fcf96ff1
Remove FKs referencing peoples and table
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-11 16:53:46 +04:00
Bryan Frimin
f99b2f7828
Rename nickname
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-11 13:09:03 +01:00
Bryan Frimin
e393411333
Move kind to string
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-11 13:09:02 +01:00
Bryan Frimin
dd3885ac54
Fix MS365 attributes handling
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-11 13:09:01 +01:00
Bryan Frimin
1d8ce190c3
Fix userName must be case insentive
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-11 13:09:01 +01:00
Bryan Frimin
c8250f6794
Add userName and externalID support
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-11 13:09:00 +01:00
Sacha Al Himdani
fe241fc136
Add social links
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-11 12:10:57 +01:00
Émile Ré
87415c0324
Remove useless encryption key injections
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-11 14:42:37 +04:00
Sacha Al Himdani
a3bb901d59
Fix compliance report
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-10 10:15:52 +01:00
Bryan Frimin
5954414959
Fix binary encoding
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-09 11:19:05 +01:00
Bryan Frimin
4875a2bd5e
Improve mailer performance
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-03-09 11:19:04 +01:00
Émile Ré
6b1064c4f0
Remove nda_file_id from trust center access select clauses
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 18:50:55 +04:00
Émile Ré
97d154858d
Remove useless field
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 18:02:36 +04:00
Émile Ré
0d1bcd21aa
Rework people list and trust center access list + edit dialog
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 14:32:28 +04:00
Émile Ré
46d8450ead
Fix migration
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 11:18:19 +04:00
Émile Ré
323cd602a1
Update business logic
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 10:36:08 +04:00
Émile Ré
909beeb606
Migrate some trust_center_access columns to profiles
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-03-05 10:36:08 +04:00
Sacha Al Himdani
c17c53e80f
Add compliance frameworks
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-04 10:19:39 +01:00
Sacha Al Himdani
21ed4113c3
Go format
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-03-03 11:17:05 +01:00
Sacha Al Himdani
6a83b53b47
Add obligation webhooks
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-02-27 17:14:26 +01:00
Sacha Al Himdani
6905472fba
Add user webhooks
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-02-27 10:14:53 +01:00
Bryan Frimin
9e788ee558
Fix compliance page to only show published document versions
...
The compliance page was leaking draft document content and titles.
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 19:11:49 +01:00
Sacha Al Himdani
f2d307ac1a
Add soa risk assement via document
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-02-23 15:22:56 +01:00
Bryan Frimin
9ec950d633
Remove content type from email attachment
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 09:38:33 +01:00
Bryan Frimin
ef28350c63
Fix worker retry
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 09:38:32 +01:00
Bryan Frimin
9f54568625
Fix byte decoding
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 09:38:32 +01:00
Bryan Frimin
74aac51cdc
Fix pg serialization type error
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 09:38:29 +01:00
Bryan Frimin
16503a7df4
Use electronic signature for compliage page NDA
...
Signed-off-by: Bryan Frimin <bryan@getprobo.com >
2026-02-23 09:38:27 +01: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
e6f9d7aae2
Clean up database
...
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-02-23 09:37:43 +01:00
Émile Ré
aca1b781e9
Fix do not display inactive profiles on home page
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-02-19 17:48:06 +04:00
Émile Ré
a9e4e991b3
Add profile state sorting
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-02-19 16:13:05 +04:00
Émile Ré
587f59d167
Fix profile load by org query
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-02-19 16:13:04 +04:00
Émile Ré
2793c18587
Fix deletion in migration
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-02-19 16:13:04 +04:00
Émile Ré
776af96170
Fix bot review
...
Signed-off-by: Émile Ré <emile@getprobo.com >
2026-02-19 16:13:02 +04:00