Skip to content
Last updated

Hyperproof Self Service Reporting Data Model

Hyperproof's Self-service reporting and analytics options are powered by a Snowflake data warehouse. Using Self-service reporting, you can access your Hyperproof data and use best-in-class business intelligence tools, such as Tableau, Looker, Microsoft Power BI, Sigma, Metabase, and more, to create custom reports and custom dashboards.

In addition to connecting your Snowflake data to a myriad of BI tools, this documentation can assist you and your AI tool of choice to create robust SQL reports using your Hyperproof information.

The data warehouse is updated with your data daily at 12:00 and 20:00 UTC. It is not updated in real-time.

Infomation about connecting to your Hyperproof data via Self Service Reporting can be found in the Hyperproof Help Center.

Caution: The data warehouse contains all of your Organizations data from Hyperproof. You may need to filter the data to limit visibility for certain audiences.

Legend

93 entities: 27 core, 43 junction, 3 junction-with-extra, 20 time-series; 168 relationships.

Diagrams are pre-rendered SVGs — click any diagram to open it full-size (zoom/pan).

Entity types: core (primary objects), junction (many-to-many link tables), junction_with_extra (link tables with their own attributes), timeseries (TS_* daily snapshots). In each per-entity diagram the hub entity and its link tables show full columns; entities across a link appear as titled boxes only — open that entity's own section for its columns. Cardinality: ||--o{ one-to-many, ||--|| one-to-one; edge labels are the foreign-key column(s). PK primary key, FK foreign key.

Always reference tables/views using the fully qualified names when creating quieries. 'HYPERPROOF' is always the database (first qualifier). Your warehouse is always your 'schema' (second qualifier) (HYPERPROOF.WAREHOUSE.TABLE)

ex. HYPERPROOF.PROD.CONTROL

Per-Entity Neighborhood Diagrams

One diagram per core entity, showing everything directly connected to it.

ACCESS_REVIEW

An access review campaign that tracks review of user access permissions across systems.

Directly related entities: APPROVAL, TASK

ACCESS_REVIEW neighborhood ERD

⤢ Open / download full-size SVG

APPROVAL

An approval request for review and sign-off. Polymorphically associated to assessments, audits, controls, issues, programs, requests, risks via SOURCE_TYPE/SOURCE_ID.

Directly related entities: ACCESS_REVIEW, ASSESSMENT, AUDIT, CONTROL, EVALUATION, ISSUE, PROGRAM, REQUEST, RISK

APPROVAL neighborhood ERD

⤢ Open / download full-size SVG

ASSESSMENT

A compliance assessment or evaluation activity grouping evaluations against controls, requirements, or programs.

Directly related entities: APPROVAL, EVALUATION, REQUEST

Link tables: ASSESSMENT_EVALUATION

ASSESSMENT neighborhood ERD

⤢ Open / download full-size SVG

AUDIT

An audit engagement tracking health, findings, and related requests.

Directly related entities: APPROVAL, ISSUE, REQUEST

Link tables: AUDIT_ISSUE, AUDIT_REQUEST

AUDIT neighborhood ERD

⤢ Open / download full-size SVG

CONTROL

A security or compliance control. Central entity linking policies, risks, issues, evaluations, and proofs. Supports hierarchy via PARENT_CONTROL_ID.

Directly related entities: APPROVAL, EVALUATION, ISSUE, LABEL, POLICY, PROGRAM, PROOF, REQUEST, REQUIREMENT, RISK, SCOPE, TASK, TEST, VENDOR

Link tables: CONTROL_EVALUATION, CONTROL_ISSUE, CONTROL_LABEL, CONTROL_PROOF, CONTROL_REQUEST, CONTROL_RISK, CONTROL_VENDOR, POLICY_CONTROL, PROGRAM_CONTROL, PROGRAM_REQUIREMENT_CONTROL

CONTROL neighborhood ERD

⤢ Open / download full-size SVG

EVALUATION

An evaluation or review of a control, requirement, or risk. Captures observations, assignees, and links to multiple source objects.

Directly related entities: APPROVAL, ASSESSMENT, CONTROL, ISSUE, LABEL, PROGRAM, PROOF, REQUEST, REQUIREMENT, RISK, VENDOR

Link tables: ASSESSMENT_EVALUATION, CONTROL_EVALUATION, EVALUATION_ISSUE, EVALUATION_PROOF, LABEL_EVALUATION, PROGRAM_EVALUATION, REQUEST_EVALUATION, REQUIREMENT_EVALUATION, RISK_EVALUATION, VENDOR_EVALUATION, VENDOR_REGISTER_EVALUATION

EVALUATION neighborhood ERD

⤢ Open / download full-size SVG

GROUP_MEMBER

Maps users to groups for group-based assignments across controls, issues, risks, tasks, and vendors.

No modeled relationships to other entities.

GROUP_MEMBER neighborhood ERD

⤢ Open / download full-size SVG

HYPERSYNC

An integration connection to external systems (AWS, Azure, GSuite) for automated data synchronization.

Directly related entities: TEST

HYPERSYNC neighborhood ERD

⤢ Open / download full-size SVG

ISSUE

An issue, finding, or non-conformity. Links to audits, controls, evaluations, policies, programs, requirements, risks, and vendors.

Directly related entities: APPROVAL, AUDIT, CONTROL, EVALUATION, LABEL, POLICY, PROGRAM, PROOF, REQUEST, REQUIREMENT, RISK, VENDOR

Link tables: AUDIT_ISSUE, CONTROL_ISSUE, EVALUATION_ISSUE, ISSUE_PROOF, ISSUE_REQUEST, LABEL_ISSUE, POLICY_ISSUE, PROGRAM_ISSUE, REQUEST_ISSUE, REQUIREMENT_ISSUE, RISK_ISSUE, RISK_REGISTER_ISSUE, VENDOR_ISSUE, VENDOR_REGISTER_ISSUE

ISSUE neighborhood ERD

⤢ Open / download full-size SVG

LABEL

A tag or label for categorizing GRC objects. Applicable to controls, evaluations, issues, proofs, requests, and questionnaires.

Directly related entities: CONTROL, EVALUATION, ISSUE, PROOF, QUESTIONNAIRE, REQUEST

Link tables: CONTROL_LABEL, LABEL_EVALUATION, LABEL_ISSUE, LABEL_PROOF, LABEL_REQUEST, QUESTIONNAIRE_LABEL

LABEL neighborhood ERD

⤢ Open / download full-size SVG

POLICY

A policy document defining rules and requirements. Supports version history, approval workflow, and links to controls and issues.

Directly related entities: CONTROL, ISSUE, POLICY_VERSION

Link tables: POLICY_CONTROL, POLICY_ISSUE

POLICY neighborhood ERD

⤢ Open / download full-size SVG

POLICY_VERSION

A specific version of a policy document. Tracks version history, approval, effective dates, and status.

Directly related entities: POLICY

POLICY_VERSION neighborhood ERD

⤢ Open / download full-size SVG

PROGRAM

A compliance program or framework (SOC 2, ISO 27001, NIST 800-53). Groups requirements and controls, tracks health and scores.

Directly related entities: APPROVAL, CONTROL, EVALUATION, ISSUE, REQUEST, REQUIREMENT

Link tables: PROGRAM_CONTROL, PROGRAM_EVALUATION, PROGRAM_ISSUE, PROGRAM_REQUEST, PROGRAM_REQUIREMENT_CONTROL

PROGRAM neighborhood ERD

⤢ Open / download full-size SVG

PROOF

Evidence document uploaded or synced. Attachable to controls, evaluations, issues, requests, requirements, risks, tasks, and vendors.

Directly related entities: CONTROL, EVALUATION, ISSUE, LABEL, REQUEST, REQUIREMENT, RISK, TASK, TEST_RESULT, VENDOR

Link tables: CONTROL_PROOF, EVALUATION_PROOF, ISSUE_PROOF, LABEL_PROOF, REQUEST_PROOF, REQUIREMENT_PROOF, RISK_PROOF, TASK_PROOF, VENDOR_PROOF

PROOF neighborhood ERD

⤢ Open / download full-size SVG

QUESTIONNAIRE

A questionnaire/survey template for collecting information from vendors or stakeholders. Supports versioning and labels.

Directly related entities: LABEL, RESPONSE

Link tables: QUESTIONNAIRE_LABEL

QUESTIONNAIRE neighborhood ERD

⤢ Open / download full-size SVG

REQUEST

A request for information, evidence, or action. Originates from audits, assessments, controls, issues, programs, requirements, or risks.

Directly related entities: APPROVAL, ASSESSMENT, AUDIT, CONTROL, EVALUATION, ISSUE, LABEL, PROGRAM, PROOF, REQUIREMENT, RISK

Link tables: AUDIT_REQUEST, CONTROL_REQUEST, ISSUE_REQUEST, LABEL_REQUEST, PROGRAM_REQUEST, REQUEST_EVALUATION, REQUEST_ISSUE, REQUEST_PROOF, REQUIREMENT_REQUEST, RISK_REQUEST

REQUEST neighborhood ERD

⤢ Open / download full-size SVG

REQUIREMENT

A specific requirement within a compliance program. Defines what must be achieved, mapped to controls, and linked to evaluations, issues, and proof.

Directly related entities: CONTROL, EVALUATION, ISSUE, PROGRAM, PROOF, REQUEST, TASK

Link tables: PROGRAM_REQUIREMENT_CONTROL, REQUIREMENT_EVALUATION, REQUIREMENT_ISSUE, REQUIREMENT_PROOF, REQUIREMENT_REQUEST, REQUIREMENT_TASK

REQUIREMENT neighborhood ERD

⤢ Open / download full-size SVG

RESPONSE

A questionnaire response submitted by a vendor or respondent.

Directly related entities: QUESTIONNAIRE, VENDOR

RESPONSE neighborhood ERD

⤢ Open / download full-size SVG

RISK

A risk in the risk register. Tracks inherent/residual risk values, likelihood, impact, mitigation factors, and health. Supports custom fields.

Directly related entities: APPROVAL, CONTROL, EVALUATION, ISSUE, PROOF, REQUEST, RISKSNAPSHOT, VENDOR

Link tables: CONTROL_RISK, RISK_EVALUATION, RISK_ISSUE, RISK_PROOF, RISK_REGISTER_ISSUE, RISK_REQUEST, RISK_VENDOR

RISK neighborhood ERD

⤢ Open / download full-size SVG

RISKSNAPSHOT

Time-series snapshot of a risk's residual value and health at a specific date for trend tracking.

Directly related entities: RISK

RISKSNAPSHOT neighborhood ERD

⤢ Open / download full-size SVG

SCOPE

A scope definition defining the boundary or context for control applicability.

Directly related entities: CONTROL

SCOPE neighborhood ERD

⤢ Open / download full-size SVG

TASK

A task or action item in the GRC workflow. Generated from templates, linked to requirements and proof.

Directly related entities: ACCESS_REVIEW, CONTROL, PROOF, REQUIREMENT, TASK_TEMPLATE

Link tables: REQUIREMENT_TASK, TASK_PROOF

TASK neighborhood ERD

⤢ Open / download full-size SVG

TASK_TEMPLATE

Template for generating recurring or standardized tasks with defaults for assignees, due dates, and recurrence.

Directly related entities: TASK

TASK_TEMPLATE neighborhood ERD

⤢ Open / download full-size SVG

TEST

A test definition for validating control effectiveness. Links to controls and hypersync integrations.

Directly related entities: CONTROL, HYPERSYNC, TEST_RESULT

TEST neighborhood ERD

⤢ Open / download full-size SVG

TEST_RESULT

Result of a specific test execution. Captures pass/fail outcome, resolution, associated proof, and execution timestamp.

Directly related entities: PROOF, TEST

TEST_RESULT neighborhood ERD

⤢ Open / download full-size SVG

VENDOR

A third-party vendor tracked in GRC. Includes risk assessment, contract dates, health, and tolerance levels.

Directly related entities: CONTROL, EVALUATION, ISSUE, PROOF, RESPONSE, RISK, VENDOR_CONTACTS

Link tables: CONTROL_VENDOR, RISK_VENDOR, VENDOR_EVALUATION, VENDOR_ISSUE, VENDOR_PROOF, VENDOR_REGISTER_EVALUATION, VENDOR_REGISTER_ISSUE

VENDOR neighborhood ERD

⤢ Open / download full-size SVG

VENDOR_CONTACTS

Contact persons associated with a vendor.

Directly related entities: VENDOR

VENDOR_CONTACTS neighborhood ERD

⤢ Open / download full-size SVG

Appendix — Time-Series Snapshot Tables

The 20 TS_* tables are daily snapshots of their base entities, each linked to the entity it mirrors.

Time-series snapshot tables ERD

⤢ Open / download full-size SVG

This block is intended as descriptive information for AI assistants

!!ATTENTOIN!! LLM/AI assistants should reference tables/views using the fully qualified names when creating quieries. All table and view names are prepended with 'HYPERPROOF' then the WAREHOUSE and finally the table example... HYPERPROOF.PROD.ACCESS_REVIEW

Table "ACCESS_REVIEW" { "ACCESS_REVIEW_ID" TEXT [pk, note: 'Unique identifier for the access review'] "NAME" TEXT [note: 'Name/title of the access review campaign'] "COMPLETED_ON" TIMESTAMP_TZ [note: 'Timestamp when the access review was completed'] "DESCRIPTION" TEXT [note: 'Description of the access review scope and purpose'] "IN_PROGRESS_ON" TIMESTAMP_TZ [note: 'Timestamp when the access review was started'] "PRIMARY_CONTACT" TEXT [note: 'Primary contact person for the review'] "STATUS" TEXT [note: 'Status (e.g., In Progress, Completed, Not Started)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An access review campaign that tracks review of user access permissions across systems. (core)' }

Table "APPROVAL" { "APPROVAL_ID" TEXT [pk, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index/order number'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Description of what is being approved'] "ASSIGNEE" TEXT [note: 'User assigned to provide approval'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline for approval'] "PARENT_APPROVAL_ID" TEXT [note: 'Self-referential FK for approval hierarchies'] "IS_PARENT_APPROVAL" BOOLEAN [note: 'Indicates if this is a parent approval'] "PRIORITY" TEXT [note: 'Priority level'] "RESPONDENT" TEXT [note: 'User who provided the approval decision'] "REVIEW_COMMENTS" TEXT [note: 'Comments from the review'] "SOURCE_TYPE" TEXT [note: 'Polymorphic source type (ASSESSMENT, AUDIT, CONTROL, ISSUE, etc.)'] "SOURCE_ID" TEXT [note: 'Polymorphic source ID'] "STATUS" TEXT [note: 'Approval status (Pending, Approved, Rejected)'] "SUMMARY" TEXT [note: 'Brief summary'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An approval request for review and sign-off. Polymorphically associated to assessments, audits, controls, issues, programs, requests, risks via SOURCE_TYPE/SOURCE_ID. (core)' }

Table "ASSESSMENT" { "ASSESSMENT_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Name of the assessment'] "DESCRIPTION" TEXT [note: 'Scope and objectives'] "PRIMARY_CONTACT" TEXT [note: 'Responsible contact'] "TYPE" TEXT [note: 'Type/category'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Draft)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A compliance assessment or evaluation activity grouping evaluations against controls, requirements, or programs. (core)' }

Table "AUDIT" { "AUDIT_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Audit name'] "DESCRIPTION" TEXT [note: 'Scope and objectives'] "PRIMARY_CONTACT" TEXT [note: 'Primary contact'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Planned)'] "HEALTH" TEXT [note: 'Health rating (On Track, At Risk, Off Track)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An audit engagement tracking health, findings, and related requests. (core)' }

Table "CONTROL" { "CONTROL_ID" TEXT [pk, note: 'Unique identifier'] "ID" TEXT [note: 'Business identifier'] "NAME" TEXT [note: 'Control name'] "DESCRIPTION" TEXT [note: 'Purpose and implementation'] "AUTOMATION_STATUS" TEXT [note: 'Automation status (Automated, Manual)'] "DOMAIN" TEXT [note: 'Domain/category'] "EXPIRATION_DATE" TIMESTAMP_TZ [note: 'Expiration/review date'] "FRESHNESS" TEXT [note: 'Evidence freshness'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness determination date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness requirements policy'] "FRESH_FOR_DURATION" TEXT [note: 'Fresh evidence duration'] "HEALTH" TEXT [note: 'Health status (Pass, Fail, Not Tested)'] "IMPLEMENTATION" TEXT [note: 'Implementation status'] "PARENT_CONTROL_ID" TEXT [note: 'Self-referential FK for hierarchy'] "NOTES" TEXT [note: 'Additional notes'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_OWNER_GROUP_ID" TEXT [note: 'Owner group ID'] "SCOPE_ID" TEXT [note: 'FK to SCOPE'] "SCOPE_NAME" TEXT [note: 'Scope name (denormalized)'] "TESTING_STATUS" TEXT [note: 'Testing status'] "TYPE" TEXT [note: 'Control type (Preventative, Detective, Corrective)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'A security or compliance control. Central entity linking policies, risks, issues, evaluations, and proofs. Supports hierarchy via PARENT_CONTROL_ID. (core)' }

Table "EVALUATION" { "EVALUATION_ID" TEXT [pk, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "SUMMARY" TEXT [note: 'Summary of findings'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DESCRIPTION" TEXT [note: 'Detailed description'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "EVALUATING" TEXT [note: 'Evaluated entity name (denormalized)'] "EVALUATING_ID" TEXT [note: 'Evaluated entity ID (denormalized)'] "OBSERVATIONS" TEXT [note: 'Observations and findings'] "PRIORITY" TEXT [note: 'Priority level'] "SOURCE_ASSESSMENT_ID" TEXT [note: 'FK to source ASSESSMENT'] "SOURCE_ASSESSMENT_NAME" TEXT [note: 'Source assessment name (denormalized)'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Not Started)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An evaluation or review of a control, requirement, or risk. Captures observations, assignees, and links to multiple source objects. (core)' }

Table "HYPERSYNC" { "HYPERSYNC_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Integration name'] "DESCRIPTION" TEXT [note: 'Purpose description'] "APP" TEXT [note: 'External application (AWS, Azure, GSuite)'] "FREQUENCY" TEXT [note: 'Sync frequency (Daily, Hourly, On Demand)'] "COLLECT_PROOF_AUTOMATICALLY" BOOLEAN [note: 'Auto-collect evidence'] "TARGET_OBJECT_TYPE" TEXT [note: 'Target Hyperproof object type'] "TARGET_OBJECT_ID" TEXT [note: 'Target object ID'] "CONNECTION_HEALTH" TEXT [note: 'Connection health (Connected, Disconnected, Error)'] "LAST_SYNCED_ON" TIMESTAMP_NTZ [note: 'Last successful sync timestamp'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An integration connection to external systems (AWS, Azure, GSuite) for automated data synchronization. (core)' }

Table "ISSUE" { "ISSUE_ID" TEXT [pk, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "ACTION_PLAN" TEXT [note: 'Remediation action plan'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "BUSINESS_OWNER" TEXT [note: 'Business owner'] "CLOSED_ON" TIMESTAMP_TZ [note: 'Closure timestamp'] "DISCOVERED_ON" TIMESTAMP_TZ [note: 'Discovery timestamp'] "DUE_DATE" TIMESTAMP_TZ [note: 'Resolution deadline'] "EFFORT_LEVEL" TEXT [note: 'Remediation effort'] "EXECUTIVE_SPONSOR" TEXT [note: 'Executive sponsor'] "IMPACT" TEXT [note: 'Business impact'] "IS_PRIVATE" BOOLEAN [note: 'Private/restricted flag'] "PRIORITY" TEXT [note: 'Priority level'] "SOURCE_TYPE" TEXT [note: 'Source entity type'] "SOURCE_ID" TEXT [note: 'Source entity ID'] "STATUS" TEXT [note: 'Status (Open, In Progress, Closed)'] "SUMMARY" TEXT [note: 'Brief summary'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'An issue, finding, or non-conformity. Links to audits, controls, evaluations, policies, programs, requirements, risks, and vendors. (core)' }

Table "LABEL" { "LABEL_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Label name'] "DESCRIPTION" TEXT [note: 'Purpose description'] "FRESHNESS" TEXT [note: 'Freshness status'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness policy'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A tag or label for categorizing GRC objects. Applicable to controls, evaluations, issues, proofs, requests, and questionnaires. (core)' }

Table "POLICY" { "POLICY_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Policy name'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "APPROVED_DATE" DATE [note: 'Approval date'] "APPROVERS" TEXT [note: 'List of approvers'] "EFFECTIVE_POLICY_VERSION_ID" TEXT [note: 'FK to effective POLICY_VERSION'] "EFFECTIVE_POLICY_VERSION" TEXT [note: 'Effective version label'] "EFFECTIVE_DATE" DATE [note: 'Effective date'] "HAS_EFFECTIVE_VERSION" BOOLEAN [note: 'Has effective version flag'] "NEXT_VERSION_DATE" DATE [note: 'Next version date'] "OWNER" TEXT [note: 'Policy owner'] "PUBLISHED_URL" TEXT [note: 'Published URL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A policy document defining rules and requirements. Supports version history, approval workflow, and links to controls and issues. (core)' }

Table "POLICY_VERSION" { "POLICY_VERSION_ID" TEXT [pk, note: 'Unique identifier'] "POLICY_ID" TEXT [note: 'FK to parent policy'] "POLICY_IDENTIFIER" TEXT [note: 'Policy identifier'] "VERSION_ID" TEXT [note: 'Version number'] "APPROVED_DATE" DATE [note: 'Approval date'] "APPROVERS" TEXT [note: 'Approvers list'] "EFFECTIVE_DATE" DATE [note: 'Effective date'] "NEXT_VERSION_DATE" DATE [note: 'Next version date'] "OWNER" TEXT [note: 'Version owner'] "PUBLISHED_URL" TEXT [note: 'Published URL'] "RETIRED_DATE" DATE [note: 'Retirement date'] "STATUS" TEXT [note: 'Status (Draft, Effective, Retired)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A specific version of a policy document. Tracks version history, approval, effective dates, and status. (core)' }

Table "PROGRAM" { "PROGRAM_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Program name'] "DESCRIPTION" TEXT [note: 'Scope description'] "FRAMEWORK" TEXT [note: 'Framework standard'] "PRIMARYCONTACT" TEXT [note: 'Primary contact'] "STATUS" TEXT [note: 'Status (Active, Inactive)'] "HEALTH" TEXT [note: 'Health rating'] "IS_SPRS_SCORING_ENABLED" BOOLEAN [note: 'SPRS scoring enabled'] "SPRS_SCORE" NUMBER [note: 'SPRS compliance score'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A compliance program or framework (SOC 2, ISO 27001, NIST 800-53). Groups requirements and controls, tracks health and scores. (core)' }

Table "PROOF" { "PROOF_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Filename'] "FILE_SIZE" NUMBER [note: 'File size in bytes'] "FILE_TYPE" TEXT [note: 'MIME type / extension'] "PROVIDED_BY" TEXT [note: 'Provider'] "SOURCE" TEXT [note: 'Source system'] "VERSION" NUMBER [note: 'Version number'] "OWNER" TEXT [note: 'Document owner'] "UPLOADER" TEXT [note: 'Uploader user'] "UPLOADED_ON" TIMESTAMP_TZ [note: 'Upload timestamp'] "ISPRIVATE" BOOLEAN [note: 'Private flag'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Evidence document uploaded or synced. Attachable to controls, evaluations, issues, requests, requirements, risks, tasks, and vendors. (core)' }

Table "QUESTIONNAIRE" { "QUESTIONNAIRE_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Questionnaire name'] "VERSION" NUMBER [note: 'Version number'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A questionnaire/survey template for collecting information from vendors or stakeholders. Supports versioning and labels. (core)' }

Table "REQUEST" { "REQUEST_ID" TEXT [pk, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "SUMMARY" TEXT [note: 'Brief summary'] "DESCRIPTION" TEXT [note: 'Detailed description'] "REFERENCE" TEXT [note: 'External reference'] "IS_PRIVATE" BOOLEAN [note: 'Private flag'] "SOURCE_AUDIT_ID" TEXT [note: 'FK to source AUDIT'] "SOURCE_AUDIT_NAME" TEXT [note: 'Source audit name (denormalized)'] "SOURCE_ASSESSMENT_ID" TEXT [note: 'FK to source ASSESSMENT'] "SOURCE_ASSESSMENT_NAME" TEXT [note: 'Source assessment name'] "STATUS" TEXT [note: 'Status (Open, In Progress, Completed)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A request for information, evidence, or action. Originates from audits, assessments, controls, issues, programs, requirements, or risks. (core)' }

Table "REQUIREMENT" { "REQUIREMENT_ID" TEXT [pk, note: 'Unique identifier'] "ID" TEXT [note: 'Requirement identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "SECTION_SUMMARY" TEXT [note: 'Section summary'] "SECTION_1" TEXT [note: 'Section 1'] "SECTION_2" TEXT [note: 'Section 2'] "SECTION_3" TEXT [note: 'Section 3'] "SECTION_4" TEXT [note: 'Section 4'] "PROGRAM" TEXT [note: 'FK to PROGRAM'] "STATUS" TEXT [note: 'Status'] "SORT_ORDER" NUMBER [note: 'Display sort order'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A specific requirement within a compliance program. Defines what must be achieved, mapped to controls, and linked to evaluations, issues, and proof. (core)' }

Table "RISK" { "RISK_ID" TEXT [pk, note: 'Unique identifier'] "IDENTIFIER" TEXT [note: 'Risk register identifier'] "NAME" TEXT [note: 'Risk name'] "ADVANCED_MITIGATION" BOOLEAN [note: 'Advanced mitigation enabled'] "CATEGORY" TEXT [note: 'Category (Operational, Strategic, Financial)'] "DESCRIPTION" TEXT [note: 'Detailed description'] "TOLERANCE_LEVEL" TEXT [note: 'Tolerance level'] "TOLERANCE_VALUE" NUMBER [note: 'Tolerance threshold'] "INHERENT_IMPACT_NAME" TEXT [note: 'Inherent impact label'] "INHERENT_IMPACT_VALUE" NUMBER [note: 'Inherent impact score'] "INHERENT_LIKELIHOOD_NAME" TEXT [note: 'Inherent likelihood label'] "INHERENT_LIKELIHOOD_VALUE" NUMBER [note: 'Inherent likelihood score'] "INHERENT_RISK_NAME" TEXT [note: 'Inherent risk label'] "INHERENT_RISK_VALUE" NUMBER [note: 'Inherent risk score'] "RESIDUAL_IMPACT_NAME" TEXT [note: 'Residual impact label'] "RESIDUAL_IMPACT_VALUE" FLOAT [note: 'Residual impact score'] "RESIDUAL_LIKELIHOOD_NAME" TEXT [note: 'Residual likelihood label'] "RESIDUAL_LIKELIHOOD_VALUE" FLOAT [note: 'Residual likelihood score'] "RESIDUAL_RISK_NAME" TEXT [note: 'Residual risk label'] "RESIDUAL_RISK_VALUE" FLOAT [note: 'Residual risk score'] "RESIDUAL_IMPACT_MITIGATION_FACTOR" FLOAT [note: 'Impact mitigation factor'] "RESIDUAL_LIKELIHOOD_MITIGATION_FACTOR" FLOAT [note: 'Likelihood mitigation factor'] "HEALTH" TEXT [note: 'Health status'] "NOTES" TEXT [note: 'Additional notes'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "REGISTER" TEXT [note: 'Risk register name'] "RESPONSE" TEXT [note: 'Response strategy (Accept, Mitigate, Transfer, Avoid)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "DATETEST" TIMESTAMP_TZ [note: 'Custom: test date field'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "NUMBER_TEST" FLOAT [note: 'Custom: test numeric field'] "SECONDARY_PRIORITY" TEXT [note: 'Custom: secondary priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'A risk in the risk register. Tracks inherent/residual risk values, likelihood, impact, mitigation factors, and health. Supports custom fields. (core)' }

Table "RISKSNAPSHOT" { "RISK_SNAPSHOT_ID" TEXT [pk, note: 'Unique identifier'] "RISK_ID" TEXT [note: 'FK to RISK'] "DATE" DATE [note: 'Snapshot date'] "RESIDUAL_RISK_VALUE" FLOAT [note: 'Residual risk value'] "HEALTH" TEXT [note: 'Health status at snapshot'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-series snapshot of a risk’s residual value and health at a specific date for trend tracking. (core)' }

Table "SCOPE" { "SCOPE_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Scope name'] "OWNER" TEXT [note: 'Scope owner'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A scope definition defining the boundary or context for control applicability. (core)' }

Table "TASK" { "TASK_ID" TEXT [pk, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "NAME" TEXT [note: 'Task name'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DESCRIPTION" TEXT [note: 'Detailed description'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "CLOSED_ON" TIMESTAMP_TZ [note: 'Closure timestamp'] "INTEGRATION_URL" TEXT [note: 'External integration URL'] "TARGET_OBJECT_TYPE" TEXT [note: 'Target type (CONTROL, ACCESS_REVIEW)'] "TARGET_OBJECT_ID" TEXT [note: 'Target object ID'] "PRIORITY" TEXT [note: 'Priority level'] "STATUS" TEXT [note: 'Status (Open, In Progress, Completed)'] "TASK_TYPE" TEXT [note: 'Task type/category'] "TASK_TEMPLATE_ID" TEXT [note: 'FK to TASK_TEMPLATE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'A task or action item in the GRC workflow. Generated from templates, linked to requirements and proof. (core)' }

Table "TASK_TEMPLATE" { "TASK_TEMPLATE_ID" TEXT [pk, note: 'Unique identifier'] "TITLE" TEXT [note: 'Template title'] "DESCRIPTION" TEXT [note: 'Template description'] "ASSIGNEE" TEXT [note: 'Default assignee'] "GROUP_ASSIGNEE" TEXT [note: 'Default group assignee'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DUE_DATE" TEXT [note: 'Due date offset expression'] "PRIORITY" TEXT [note: 'Default priority'] "TYPE" TEXT [note: 'Task type'] "REPEATS" TEXT [note: 'Recurrence pattern'] "TARGET_OBJECT_TYPE" TEXT [note: 'Default target type'] "TARGET_OBJECT_ID" TEXT [note: 'Default target ID'] "STARTS_REPEATING" TIMESTAMP_TZ [note: 'Recurrence start'] "NEXT_RECURRENCE" TIMESTAMP_TZ [note: 'Next scheduled date'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'Template for generating recurring or standardized tasks with defaults for assignees, due dates, and recurrence. (core)' }

Table "TEST" { "TEST_ID" TEXT [pk, note: 'Unique identifier'] "ID" TEXT [note: 'Business identifier'] "NAME" TEXT [note: 'Test name'] "NOTES" TEXT [note: 'Test notes'] "HYPERSYNC_ID" TEXT [note: 'FK to HYPERSYNC'] "TARGET_OBJECT_TYPE" TEXT [note: 'Target type'] "TARGET_OBJECT_ID" TEXT [note: 'Target ID'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A test definition for validating control effectiveness. Links to controls and hypersync integrations. (core)' }

Table "TEST_RESULT" { "TEST_RESULT_ID" TEXT [pk, note: 'Unique identifier'] "TEST_ID" TEXT [note: 'FK to TEST'] "ID" TEXT [note: 'Business identifier'] "NOTES" TEXT [note: 'Execution notes'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "RAN_ON" TIMESTAMP_TZ [note: 'Execution timestamp'] "OUTCOME" TEXT [note: 'Outcome (Pass, Fail, Error)'] "RESOLUTION" TEXT [note: 'Resolution notes'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Result of a specific test execution. Captures pass/fail outcome, resolution, associated proof, and execution timestamp. (core)' }

Table "VENDOR" { "VENDOR_ID" TEXT [pk, note: 'Unique identifier'] "NAME" TEXT [note: 'Vendor name'] "ASSESSED_RISK_LEVEL" TEXT [note: 'Assessed risk level'] "ASSESSED_RISK_LEVEL_VALUE" FLOAT [note: 'Assessed risk score'] "CATEGORY" TEXT [note: 'Vendor category'] "CONTRACT_END_DATE" TIMESTAMP_TZ [note: 'Contract end'] "CONTRACT_START_DATE" TIMESTAMP_TZ [note: 'Contract start'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "RISK_LEVEL" TEXT [note: 'Current risk level'] "RISK_LEVEL_OVERRIDDEN" BOOLEAN [note: 'Risk level overridden'] "RISK_LEVEL_VALUE" NUMBER [note: 'Risk level score'] "STATUS" TEXT [note: 'Status (Active, Inactive, Under Review)'] "TOLERANCE" TEXT [note: 'Tolerance level'] "TOLERANCE_VALUE" NUMBER [note: 'Tolerance value'] "FRESHNESS" TEXT [note: 'Assessment freshness'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness policy'] "HEALTH" TEXT [note: 'Health status'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "SECONDARY_PRIORITY" TEXT [note: 'Custom: secondary priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'A third-party vendor tracked in GRC. Includes risk assessment, contract dates, health, and tolerance levels. (core)' }

Table "VENDOR_CONTACTS" { "VENDOR_CONTACT_ID" TEXT [pk, note: 'Unique identifier'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "GIVEN_NAME" TEXT [note: 'First name'] "SURNAME" TEXT [note: 'Last name'] "EMAIL" TEXT [note: 'Email address'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Contact persons associated with a vendor. (core)' }

Table "RESPONSE" { "RESPONSE_ID" TEXT [pk, note: 'Unique identifier'] "DATE_FIRST_SENT" TIMESTAMP_TZ [note: 'First sent date'] "DATE_LAST_SENT" TIMESTAMP_TZ [note: 'Last sent date'] "QUESTIONNAIRE" TEXT [note: 'Questionnaire name (denormalized)'] "QUESTIONNAIRE_ID" TEXT [note: 'FK to QUESTIONNAIRE'] "RESPONDENT" TEXT [note: 'Respondent name'] "STATUS" TEXT [note: 'Status (Sent, In Progress, Submitted)'] "SUBMITTED_DATE" TIMESTAMP_TZ [note: 'Submission date'] "REMINDER_COUNT" NUMBER [note: 'Reminders sent'] "VENDOR" TEXT [note: 'Vendor name (denormalized)'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "VERSION" NUMBER [note: 'Questionnaire version'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'A questionnaire response submitted by a vendor or respondent. (core)' }

Table "GROUP_MEMBER" { "GROUP_MEMBER_ID" TEXT [pk, note: 'Unique identifier'] "GROUP_ID" TEXT [note: 'Group ID'] "GROUP_NAME" TEXT [note: 'Group name'] "MEMBER" TEXT [note: 'User member'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Maps users to groups for group-based assignments across controls, issues, risks, tasks, and vendors. (core)' }

Table "ASSESSMENT_EVALUATION" { "ASSESSMENT_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the ASSESSMENT_EVALUATION link'] "ASSESSMENT_ID" TEXT [note: 'FK to ASSESSMENT'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links assessments to evaluations. (junction)' }

Table "AUDIT_ISSUE" { "AUDIT_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the AUDIT_ISSUE link'] "AUDIT_ID" TEXT [note: 'FK to AUDIT'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links audits to issues/findings. (junction)' }

Table "AUDIT_REQUEST" { "AUDIT_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the AUDIT_REQUEST link'] "AUDIT_ID" TEXT [note: 'FK to AUDIT'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links audits to requests. (junction)' }

Table "CONTROL_EVALUATION" { "CONTROL_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_EVALUATION link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to evaluations. (junction)' }

Table "CONTROL_ISSUE" { "CONTROL_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_ISSUE link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to issues. (junction)' }

Table "CONTROL_LABEL" { "CONTROL_LABEL_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_LABEL link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to labels. (junction)' }

Table "CONTROL_PROOF" { "CONTROL_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_PROOF link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to proof/evidence. (junction)' }

Table "CONTROL_REQUEST" { "CONTROL_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_REQUEST link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to requests. (junction)' }

Table "CONTROL_VENDOR" { "CONTROL_VENDOR_LINK_ID" TEXT [pk, note: 'Unique identifier for the CONTROL_VENDOR link'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to vendors. (junction)' }

Table "EVALUATION_ISSUE" { "EVALUATION_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the EVALUATION_ISSUE link'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links evaluations to issues. (junction)' }

Table "EVALUATION_PROOF" { "EVALUATION_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the EVALUATION_PROOF link'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links evaluations to proof. (junction)' }

Table "ISSUE_PROOF" { "ISSUE_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the ISSUE_PROOF link'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links issues to proof. (junction)' }

Table "ISSUE_REQUEST" { "ISSUE_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the ISSUE_REQUEST link'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links issues to requests. (junction)' }

Table "LABEL_EVALUATION" { "LABEL_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the LABEL_EVALUATION link'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links labels to evaluations. (junction)' }

Table "LABEL_ISSUE" { "LABEL_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the LABEL_ISSUE link'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links labels to issues. (junction)' }

Table "LABEL_PROOF" { "LABEL_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the LABEL_PROOF link'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links labels to proof. (junction)' }

Table "LABEL_REQUEST" { "LABEL_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the LABEL_REQUEST link'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links labels to requests. (junction)' }

Table "POLICY_CONTROL" { "POLICY_CONTROL_LINK_ID" TEXT [pk, note: 'Unique identifier for the POLICY_CONTROL link'] "POLICY_ID" TEXT [note: 'FK to POLICY'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links policies to controls. (junction)' }

Table "POLICY_ISSUE" { "POLICY_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the POLICY_ISSUE link'] "POLICY_ID" TEXT [note: 'FK to POLICY'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links policies to issues. (junction)' }

Table "PROGRAM_EVALUATION" { "PROGRAM_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the PROGRAM_EVALUATION link'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links programs to evaluations. (junction)' }

Table "PROGRAM_ISSUE" { "PROGRAM_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the PROGRAM_ISSUE link'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links programs to issues. (junction)' }

Table "PROGRAM_REQUEST" { "PROGRAM_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the PROGRAM_REQUEST link'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links programs to requests. (junction)' }

Table "QUESTIONNAIRE_LABEL" { "QUESTIONNAIRE_LABEL_LINK_ID" TEXT [pk, note: 'Unique identifier for the QUESTIONNAIRE_LABEL link'] "QUESTIONNAIRE_ID" TEXT [note: 'FK to QUESTIONNAIRE'] "LABEL_ID" TEXT [note: 'FK to LABEL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links questionnaires to labels. (junction)' }

Table "REQUEST_EVALUATION" { "REQUEST_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUEST_EVALUATION link'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requests to evaluations. (junction)' }

Table "REQUEST_ISSUE" { "REQUEST_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUEST_ISSUE link'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requests to issues. (junction)' }

Table "REQUEST_PROOF" { "REQUEST_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUEST_PROOF link'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requests to proof. (junction)' }

Table "REQUIREMENT_EVALUATION" { "REQUIREMENT_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUIREMENT_EVALUATION link'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requirements to evaluations. (junction)' }

Table "REQUIREMENT_ISSUE" { "REQUIREMENT_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUIREMENT_ISSUE link'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requirements to issues. (junction)' }

Table "REQUIREMENT_PROOF" { "REQUIREMENT_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUIREMENT_PROOF link'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requirements to proof. (junction)' }

Table "REQUIREMENT_REQUEST" { "REQUIREMENT_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the REQUIREMENT_REQUEST link'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links requirements to requests. (junction)' }

Table "RISK_EVALUATION" { "RISK_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the RISK_EVALUATION link'] "RISK_ID" TEXT [note: 'FK to RISK'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risks to evaluations. (junction)' }

Table "RISK_ISSUE" { "RISK_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the RISK_ISSUE link'] "RISK_ID" TEXT [note: 'FK to RISK'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risks to issues. (junction)' }

Table "RISK_PROOF" { "RISK_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the RISK_PROOF link'] "RISK_ID" TEXT [note: 'FK to RISK'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risks to proof. (junction)' }

Table "RISK_REQUEST" { "RISK_REQUEST_LINK_ID" TEXT [pk, note: 'Unique identifier for the RISK_REQUEST link'] "RISK_ID" TEXT [note: 'FK to RISK'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risks to requests. (junction)' }

Table "RISK_VENDOR" { "RISK_VENDOR_LINK_ID" TEXT [pk, note: 'Unique identifier for the RISK_VENDOR link'] "RISK_ID" TEXT [note: 'FK to RISK'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risks to vendors. (junction)' }

Table "TASK_PROOF" { "TASK_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the TASK_PROOF link'] "TASK_ID" TEXT [note: 'FK to TASK'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links tasks to proof. (junction)' }

Table "VENDOR_EVALUATION" { "VENDOR_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier for the VENDOR_EVALUATION link'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links vendors to evaluations. (junction)' }

Table "VENDOR_ISSUE" { "VENDOR_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier for the VENDOR_ISSUE link'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links vendors to issues. (junction)' }

Table "VENDOR_PROOF" { "VENDOR_PROOF_LINK_ID" TEXT [pk, note: 'Unique identifier for the VENDOR_PROOF link'] "VENDOR_ID" TEXT [note: 'FK to VENDOR'] "PROOF_ID" TEXT [note: 'FK to PROOF'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links vendors to proof. (junction)' }

Table "CONTROL_RISK" { "CONTROL_RISK_LINK_ID" TEXT [pk, note: 'Unique identifier'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "RISK_ID" TEXT [note: 'FK to RISK'] "LIKELIHOOD_MITIGATION" FLOAT [note: 'Likelihood mitigation factor'] "IMPACT_MITIGATION" FLOAT [note: 'Impact mitigation factor'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links controls to risks with mitigation factors. (junction)' }

Table "RISK_REGISTER_ISSUE" { "RISK_REGISTER_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier'] "RISK_REGISTER_ID" TEXT [note: 'Risk register identifier (string)'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links risk registers to issues via register ID (string-based FK). (junction)' }

Table "VENDOR_REGISTER_EVALUATION" { "VENDOR_REGISTER_EVALUATION_LINK_ID" TEXT [pk, note: 'Unique identifier'] "VENDOR_REGISTER_ID" TEXT [note: 'Vendor register identifier'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links vendor registers to evaluations via register ID. (junction)' }

Table "VENDOR_REGISTER_ISSUE" { "VENDOR_REGISTER_ISSUE_LINK_ID" TEXT [pk, note: 'Unique identifier'] "VENDOR_REGISTER_ID" TEXT [note: 'Vendor register identifier'] "ISSUE_ID" TEXT [note: 'FK to ISSUE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Links vendor registers to issues via register ID. (junction)' }

Table "PROGRAM_CONTROL" { "PROGRAM_CONTROL_ID" TEXT [pk, note: 'Unique identifier (36 chars)'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Maps programs to controls included in the program. (junction_with_extra)' }

Table "PROGRAM_REQUIREMENT_CONTROL" { "PROGRAM_REQUIREMENT_CONTROL_ID" TEXT [pk, note: 'Unique identifier (36 chars)'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Maps programs through requirements to controls (3-way mapping). (junction_with_extra)' }

Table "REQUIREMENT_TASK" { "TASK_REQUIREMENT_ID" TEXT [pk, note: 'Unique identifier (32 chars)'] "TASK_ID" TEXT [note: 'FK to TASK'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Maps requirements to tasks for fulfilling them. (junction_with_extra)' }

Table "TS_APPROVAL" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the APPROVAL time-series view'] "APPROVAL_ID" TEXT [not null, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index/order number'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Description of what is being approved'] "ASSIGNEE" TEXT [note: 'User assigned to provide approval'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline for approval'] "PARENT_APPROVAL_ID" TEXT [note: 'Self-referential FK for approval hierarchies'] "IS_PARENT_APPROVAL" BOOLEAN [note: 'Indicates if this is a parent approval'] "PRIORITY" TEXT [note: 'Priority level'] "RESPONDENT" TEXT [note: 'User who provided the approval decision'] "REVIEW_COMMENTS" TEXT [note: 'Comments from the review'] "SOURCE_TYPE" TEXT [note: 'Polymorphic source type (ASSESSMENT, AUDIT, CONTROL, ISSUE, etc.)'] "SOURCE_ID" TEXT [note: 'Polymorphic source ID'] "STATUS" TEXT [note: 'Approval status (Pending, Approved, Rejected)'] "SUMMARY" TEXT [note: 'Brief summary'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of APPROVAL. Contains same columns as APPROVAL plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_ASSESSMENT" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the ASSESSMENT time-series view'] "ASSESSMENT_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Name of the assessment'] "DESCRIPTION" TEXT [note: 'Scope and objectives'] "PRIMARY_CONTACT" TEXT [note: 'Responsible contact'] "TYPE" TEXT [note: 'Type/category'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Draft)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of ASSESSMENT. Contains same columns as ASSESSMENT plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_ASSESSMENT_EVALUATION" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the ASSESSMENT_EVALUATION time-series view'] "ASSESSMENT_EVALUATION_LINK_ID" TEXT [not null, note: 'Unique identifier for the ASSESSMENT_EVALUATION link'] "ASSESSMENT_ID" TEXT [note: 'FK to ASSESSMENT'] "EVALUATION_ID" TEXT [note: 'FK to EVALUATION'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of ASSESSMENT_EVALUATION. Contains same columns as ASSESSMENT_EVALUATION plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_AUDIT" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the AUDIT time-series view'] "AUDIT_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Audit name'] "DESCRIPTION" TEXT [note: 'Scope and objectives'] "PRIMARY_CONTACT" TEXT [note: 'Primary contact'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Planned)'] "HEALTH" TEXT [note: 'Health rating (On Track, At Risk, Off Track)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of AUDIT. Contains same columns as AUDIT plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_AUDIT_REQUEST" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the AUDIT_REQUEST time-series view'] "AUDIT_REQUEST_LINK_ID" TEXT [not null, note: 'Unique identifier for the AUDIT_REQUEST link'] "AUDIT_ID" TEXT [note: 'FK to AUDIT'] "REQUEST_ID" TEXT [note: 'FK to REQUEST'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of AUDIT_REQUEST. Contains same columns as AUDIT_REQUEST plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_CONTROL" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the CONTROL time-series view'] "CONTROL_ID" TEXT [not null, note: 'Unique identifier'] "ID" TEXT [note: 'Business identifier'] "NAME" TEXT [note: 'Control name'] "DESCRIPTION" TEXT [note: 'Purpose and implementation'] "AUTOMATION_STATUS" TEXT [note: 'Automation status (Automated, Manual)'] "DOMAIN" TEXT [note: 'Domain/category'] "EXPIRATION_DATE" TIMESTAMP_TZ [note: 'Expiration/review date'] "FRESHNESS" TEXT [note: 'Evidence freshness'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness determination date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness requirements policy'] "FRESH_FOR_DURATION" TEXT [note: 'Fresh evidence duration'] "HEALTH" TEXT [note: 'Health status (Pass, Fail, Not Tested)'] "IMPLEMENTATION" TEXT [note: 'Implementation status'] "PARENT_CONTROL_ID" TEXT [note: 'Self-referential FK for hierarchy'] "NOTES" TEXT [note: 'Additional notes'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_OWNER_GROUP_ID" TEXT [note: 'Owner group ID'] "SCOPE_ID" TEXT [note: 'FK to SCOPE'] "SCOPE_NAME" TEXT [note: 'Scope name (denormalized)'] "TESTING_STATUS" TEXT [note: 'Testing status'] "TYPE" TEXT [note: 'Control type (Preventative, Detective, Corrective)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'Time-snapshot view of CONTROL. Contains same columns as CONTROL plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_CONTROL_RISK" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the CONTROL_RISK time-series view'] "CONTROL_RISK_LINK_ID" TEXT [not null, note: 'Unique identifier'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "RISK_ID" TEXT [note: 'FK to RISK'] "LIKELIHOOD_MITIGATION" FLOAT [note: 'Likelihood mitigation factor'] "IMPACT_MITIGATION" FLOAT [note: 'Impact mitigation factor'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of CONTROL_RISK. Contains same columns as CONTROL_RISK plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_EVALUATION" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the EVALUATION time-series view'] "EVALUATION_ID" TEXT [not null, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "SUMMARY" TEXT [note: 'Summary of findings'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DESCRIPTION" TEXT [note: 'Detailed description'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "EVALUATING" TEXT [note: 'Evaluated entity name (denormalized)'] "EVALUATING_ID" TEXT [note: 'Evaluated entity ID (denormalized)'] "OBSERVATIONS" TEXT [note: 'Observations and findings'] "PRIORITY" TEXT [note: 'Priority level'] "SOURCE_ASSESSMENT_ID" TEXT [note: 'FK to source ASSESSMENT'] "SOURCE_ASSESSMENT_NAME" TEXT [note: 'Source assessment name (denormalized)'] "STATUS" TEXT [note: 'Status (In Progress, Completed, Not Started)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of EVALUATION. Contains same columns as EVALUATION plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_ISSUE" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the ISSUE time-series view'] "ISSUE_ID" TEXT [not null, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "ACTION_PLAN" TEXT [note: 'Remediation action plan'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "BUSINESS_OWNER" TEXT [note: 'Business owner'] "CLOSED_ON" TIMESTAMP_TZ [note: 'Closure timestamp'] "DISCOVERED_ON" TIMESTAMP_TZ [note: 'Discovery timestamp'] "DUE_DATE" TIMESTAMP_TZ [note: 'Resolution deadline'] "EFFORT_LEVEL" TEXT [note: 'Remediation effort'] "EXECUTIVE_SPONSOR" TEXT [note: 'Executive sponsor'] "IMPACT" TEXT [note: 'Business impact'] "IS_PRIVATE" BOOLEAN [note: 'Private/restricted flag'] "PRIORITY" TEXT [note: 'Priority level'] "SOURCE_TYPE" TEXT [note: 'Source entity type'] "SOURCE_ID" TEXT [note: 'Source entity ID'] "STATUS" TEXT [note: 'Status (Open, In Progress, Closed)'] "SUMMARY" TEXT [note: 'Brief summary'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of ISSUE. Contains same columns as ISSUE plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_LABEL" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the LABEL time-series view'] "LABEL_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Label name'] "DESCRIPTION" TEXT [note: 'Purpose description'] "FRESHNESS" TEXT [note: 'Freshness status'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness policy'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of LABEL. Contains same columns as LABEL plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_POLICY" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the POLICY time-series view'] "POLICY_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Policy name'] "ID" TEXT [note: 'Business identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "APPROVED_DATE" DATE [note: 'Approval date'] "APPROVERS" TEXT [note: 'List of approvers'] "EFFECTIVE_POLICY_VERSION_ID" TEXT [note: 'FK to effective POLICY_VERSION'] "EFFECTIVE_POLICY_VERSION" TEXT [note: 'Effective version label'] "EFFECTIVE_DATE" DATE [note: 'Effective date'] "HAS_EFFECTIVE_VERSION" BOOLEAN [note: 'Has effective version flag'] "NEXT_VERSION_DATE" DATE [note: 'Next version date'] "OWNER" TEXT [note: 'Policy owner'] "PUBLISHED_URL" TEXT [note: 'Published URL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of POLICY. Contains same columns as POLICY plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_POLICY_VERSION" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the POLICY_VERSION time-series view'] "POLICY_VERSION_ID" TEXT [not null, note: 'Unique identifier'] "POLICY_ID" TEXT [note: 'FK to parent policy'] "POLICY_IDENTIFIER" TEXT [note: 'Policy identifier'] "VERSION_ID" TEXT [note: 'Version number'] "APPROVED_DATE" DATE [note: 'Approval date'] "APPROVERS" TEXT [note: 'Approvers list'] "EFFECTIVE_DATE" DATE [note: 'Effective date'] "NEXT_VERSION_DATE" DATE [note: 'Next version date'] "OWNER" TEXT [note: 'Version owner'] "PUBLISHED_URL" TEXT [note: 'Published URL'] "RETIRED_DATE" DATE [note: 'Retirement date'] "STATUS" TEXT [note: 'Status (Draft, Effective, Retired)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of POLICY_VERSION. Contains same columns as POLICY_VERSION plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_PROGRAM" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the PROGRAM time-series view'] "PROGRAM_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Program name'] "DESCRIPTION" TEXT [note: 'Scope description'] "FRAMEWORK" TEXT [note: 'Framework standard'] "PRIMARYCONTACT" TEXT [note: 'Primary contact'] "STATUS" TEXT [note: 'Status (Active, Inactive)'] "HEALTH" TEXT [note: 'Health rating'] "IS_SPRS_SCORING_ENABLED" BOOLEAN [note: 'SPRS scoring enabled'] "SPRS_SCORE" NUMBER [note: 'SPRS compliance score'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of PROGRAM. Contains same columns as PROGRAM plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_PROGRAM_CONTROL" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the PROGRAM_CONTROL time-series view'] "PROGRAM_CONTROL_ID" TEXT [not null, note: 'Unique identifier (36 chars)'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of PROGRAM_CONTROL. Contains same columns as PROGRAM_CONTROL plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_PROGRAM_REQUIREMENT_CONTROL" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the PROGRAM_REQUIREMENT_CONTROL time-series view'] "PROGRAM_REQUIREMENT_CONTROL_ID" TEXT [not null, note: 'Unique identifier (36 chars)'] "PROGRAM_ID" TEXT [note: 'FK to PROGRAM'] "REQUIREMENT_ID" TEXT [note: 'FK to REQUIREMENT'] "CONTROL_ID" TEXT [note: 'FK to CONTROL'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of PROGRAM_REQUIREMENT_CONTROL. Contains same columns as PROGRAM_REQUIREMENT_CONTROL plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_REQUEST" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the REQUEST time-series view'] "REQUEST_ID" TEXT [not null, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "SUMMARY" TEXT [note: 'Brief summary'] "DESCRIPTION" TEXT [note: 'Detailed description'] "REFERENCE" TEXT [note: 'External reference'] "IS_PRIVATE" BOOLEAN [note: 'Private flag'] "SOURCE_AUDIT_ID" TEXT [note: 'FK to source AUDIT'] "SOURCE_AUDIT_NAME" TEXT [note: 'Source audit name (denormalized)'] "SOURCE_ASSESSMENT_ID" TEXT [note: 'FK to source ASSESSMENT'] "SOURCE_ASSESSMENT_NAME" TEXT [note: 'Source assessment name'] "STATUS" TEXT [note: 'Status (Open, In Progress, Completed)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of REQUEST. Contains same columns as REQUEST plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_REQUIREMENT" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the REQUIREMENT time-series view'] "REQUIREMENT_ID" TEXT [not null, note: 'Unique identifier'] "ID" TEXT [note: 'Requirement identifier'] "DESCRIPTION" TEXT [note: 'Detailed description'] "SECTION_SUMMARY" TEXT [note: 'Section summary'] "SECTION_1" TEXT [note: 'Section 1'] "SECTION_2" TEXT [note: 'Section 2'] "SECTION_3" TEXT [note: 'Section 3'] "SECTION_4" TEXT [note: 'Section 4'] "PROGRAM" TEXT [note: 'FK to PROGRAM'] "STATUS" TEXT [note: 'Status'] "SORT_ORDER" NUMBER [note: 'Display sort order'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] Note: 'Time-snapshot view of REQUIREMENT. Contains same columns as REQUIREMENT plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_RISK" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the RISK time-series view'] "RISK_ID" TEXT [not null, note: 'Unique identifier'] "IDENTIFIER" TEXT [note: 'Risk register identifier'] "NAME" TEXT [note: 'Risk name'] "ADVANCED_MITIGATION" BOOLEAN [note: 'Advanced mitigation enabled'] "CATEGORY" TEXT [note: 'Category (Operational, Strategic, Financial)'] "DESCRIPTION" TEXT [note: 'Detailed description'] "TOLERANCE_LEVEL" TEXT [note: 'Tolerance level'] "TOLERANCE_VALUE" NUMBER [note: 'Tolerance threshold'] "INHERENT_IMPACT_NAME" TEXT [note: 'Inherent impact label'] "INHERENT_IMPACT_VALUE" NUMBER [note: 'Inherent impact score'] "INHERENT_LIKELIHOOD_NAME" TEXT [note: 'Inherent likelihood label'] "INHERENT_LIKELIHOOD_VALUE" NUMBER [note: 'Inherent likelihood score'] "INHERENT_RISK_NAME" TEXT [note: 'Inherent risk label'] "INHERENT_RISK_VALUE" NUMBER [note: 'Inherent risk score'] "RESIDUAL_IMPACT_NAME" TEXT [note: 'Residual impact label'] "RESIDUAL_IMPACT_VALUE" FLOAT [note: 'Residual impact score'] "RESIDUAL_LIKELIHOOD_NAME" TEXT [note: 'Residual likelihood label'] "RESIDUAL_LIKELIHOOD_VALUE" FLOAT [note: 'Residual likelihood score'] "RESIDUAL_RISK_NAME" TEXT [note: 'Residual risk label'] "RESIDUAL_RISK_VALUE" FLOAT [note: 'Residual risk score'] "RESIDUAL_IMPACT_MITIGATION_FACTOR" FLOAT [note: 'Impact mitigation factor'] "RESIDUAL_LIKELIHOOD_MITIGATION_FACTOR" FLOAT [note: 'Likelihood mitigation factor'] "HEALTH" TEXT [note: 'Health status'] "NOTES" TEXT [note: 'Additional notes'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "REGISTER" TEXT [note: 'Risk register name'] "RESPONSE" TEXT [note: 'Response strategy (Accept, Mitigate, Transfer, Avoid)'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "DATETEST" TIMESTAMP_TZ [note: 'Custom: test date field'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "NUMBER_TEST" FLOAT [note: 'Custom: test numeric field'] "SECONDARY_PRIORITY" TEXT [note: 'Custom: secondary priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'Time-snapshot view of RISK. Contains same columns as RISK plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_TASK" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the TASK time-series view'] "TASK_ID" TEXT [not null, note: 'Unique identifier'] "INDEX" NUMBER [note: 'Sequential index'] "ID" TEXT [note: 'Business identifier'] "NAME" TEXT [note: 'Task name'] "ASSIGNEE" TEXT [note: 'Assigned individual'] "GROUP_ASSIGNEE" TEXT [note: 'Assigned group'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "DESCRIPTION" TEXT [note: 'Detailed description'] "DUE_DATE" TIMESTAMP_TZ [note: 'Deadline'] "CLOSED_ON" TIMESTAMP_TZ [note: 'Closure timestamp'] "INTEGRATION_URL" TEXT [note: 'External integration URL'] "TARGET_OBJECT_TYPE" TEXT [note: 'Target type (CONTROL, ACCESS_REVIEW)'] "TARGET_OBJECT_ID" TEXT [note: 'Target object ID'] "PRIORITY" TEXT [note: 'Priority level'] "STATUS" TEXT [note: 'Status (Open, In Progress, Completed)'] "TASK_TYPE" TEXT [note: 'Task type/category'] "TASK_TEMPLATE_ID" TEXT [note: 'FK to TASK_TEMPLATE'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'Time-snapshot view of TASK. Contains same columns as TASK plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

Table "TS_VENDOR" { "SNAPSHOT_DATE" DATE [note: 'Snapshot date for the VENDOR time-series view'] "VENDOR_ID" TEXT [not null, note: 'Unique identifier'] "NAME" TEXT [note: 'Vendor name'] "ASSESSED_RISK_LEVEL" TEXT [note: 'Assessed risk level'] "ASSESSED_RISK_LEVEL_VALUE" FLOAT [note: 'Assessed risk score'] "CATEGORY" TEXT [note: 'Vendor category'] "CONTRACT_END_DATE" TIMESTAMP_TZ [note: 'Contract end'] "CONTRACT_START_DATE" TIMESTAMP_TZ [note: 'Contract start'] "OWNER" TEXT [note: 'Individual owner'] "GROUP_OWNER" TEXT [note: 'Group owner'] "GROUP_ASSIGNEE_GROUP_ID" TEXT [note: 'Group ID'] "RISK_LEVEL" TEXT [note: 'Current risk level'] "RISK_LEVEL_OVERRIDDEN" BOOLEAN [note: 'Risk level overridden'] "RISK_LEVEL_VALUE" NUMBER [note: 'Risk level score'] "STATUS" TEXT [note: 'Status (Active, Inactive, Under Review)'] "TOLERANCE" TEXT [note: 'Tolerance level'] "TOLERANCE_VALUE" NUMBER [note: 'Tolerance value'] "FRESHNESS" TEXT [note: 'Assessment freshness'] "FRESH_AS_OF_DATE" TIMESTAMP_TZ [note: 'Freshness date'] "FRESHNESS_NOTE" TEXT [note: 'Freshness notes'] "FRESHNESS_POLICY" TEXT [note: 'Freshness policy'] "HEALTH" TEXT [note: 'Health status'] "CREATED" TIMESTAMP_TZ [note: 'Timestamp when the record was created'] "CREATOR" TEXT [note: 'User who created the record'] "UPDATED" TIMESTAMP_TZ [note: 'Timestamp when the record was last updated'] "UPDATER" TEXT [note: 'User who last updated the record'] "INTERNAL_PRIORITY" TEXT [note: 'Custom: internal priority'] "SECONDARY_PRIORITY" TEXT [note: 'Custom: secondary priority'] "TEXT_FIELD_1" TEXT [note: 'Custom: extensible text field'] Note: 'Time-snapshot view of VENDOR. Contains same columns as VENDOR plus SNAPSHOT_DATE for historical tracking. (timeseries)' }

// ---- 120 foreign-key references ---- Ref: "APPROVAL"."PARENT_APPROVAL_ID" - "APPROVAL"."APPROVAL_ID" Ref: "APPROVAL"."SOURCE_ID" > "ACCESS_REVIEW"."ACCESS_REVIEW_ID" Ref: "APPROVAL"."SOURCE_ID" > "ASSESSMENT"."ASSESSMENT_ID" Ref: "APPROVAL"."SOURCE_ID" > "AUDIT"."AUDIT_ID" Ref: "APPROVAL"."SOURCE_ID" > "CONTROL"."CONTROL_ID" Ref: "APPROVAL"."SOURCE_ID" > "EVALUATION"."EVALUATION_ID" Ref: "APPROVAL"."SOURCE_ID" > "ISSUE"."ISSUE_ID" Ref: "APPROVAL"."SOURCE_ID" > "PROGRAM"."PROGRAM_ID" Ref: "APPROVAL"."SOURCE_ID" > "REQUEST"."REQUEST_ID" Ref: "APPROVAL"."SOURCE_ID" > "RISK"."RISK_ID" Ref: "ASSESSMENT_EVALUATION"."ASSESSMENT_ID" > "ASSESSMENT"."ASSESSMENT_ID" Ref: "ASSESSMENT_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "AUDIT_ISSUE"."AUDIT_ID" > "AUDIT"."AUDIT_ID" Ref: "AUDIT_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "AUDIT_REQUEST"."AUDIT_ID" > "AUDIT"."AUDIT_ID" Ref: "AUDIT_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "CONTROL"."PARENT_CONTROL_ID" - "CONTROL"."CONTROL_ID" Ref: "CONTROL"."SCOPE_ID" > "SCOPE"."SCOPE_ID" Ref: "CONTROL_EVALUATION"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "CONTROL_ISSUE"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "CONTROL_LABEL"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_LABEL"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "CONTROL_PROOF"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "CONTROL_REQUEST"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "CONTROL_RISK"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_RISK"."RISK_ID" > "RISK"."RISK_ID" Ref: "CONTROL_VENDOR"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "CONTROL_VENDOR"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "EVALUATION_ISSUE"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "EVALUATION_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "EVALUATION_PROOF"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "EVALUATION_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "ISSUE_PROOF"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "ISSUE_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "ISSUE_REQUEST"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "ISSUE_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "LABEL_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "LABEL_EVALUATION"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "LABEL_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "LABEL_ISSUE"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "LABEL_PROOF"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "LABEL_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "LABEL_REQUEST"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "LABEL_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "POLICY_CONTROL"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "POLICY_CONTROL"."POLICY_ID" > "POLICY"."POLICY_ID" Ref: "POLICY_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "POLICY_ISSUE"."POLICY_ID" > "POLICY"."POLICY_ID" Ref: "POLICY_VERSION"."POLICY_ID" > "POLICY"."POLICY_ID" Ref: "PROGRAM_CONTROL"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "PROGRAM_CONTROL"."PROGRAM_ID" > "PROGRAM"."PROGRAM_ID" Ref: "PROGRAM_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "PROGRAM_EVALUATION"."PROGRAM_ID" > "PROGRAM"."PROGRAM_ID" Ref: "PROGRAM_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "PROGRAM_ISSUE"."PROGRAM_ID" > "PROGRAM"."PROGRAM_ID" Ref: "PROGRAM_REQUEST"."PROGRAM_ID" > "PROGRAM"."PROGRAM_ID" Ref: "PROGRAM_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "PROGRAM_REQUIREMENT_CONTROL"."CONTROL_ID" > "CONTROL"."CONTROL_ID" Ref: "PROGRAM_REQUIREMENT_CONTROL"."PROGRAM_ID" > "PROGRAM"."PROGRAM_ID" Ref: "PROGRAM_REQUIREMENT_CONTROL"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "QUESTIONNAIRE_LABEL"."LABEL_ID" > "LABEL"."LABEL_ID" Ref: "QUESTIONNAIRE_LABEL"."QUESTIONNAIRE_ID" > "QUESTIONNAIRE"."QUESTIONNAIRE_ID" Ref: "REQUEST"."SOURCE_ASSESSMENT_ID" > "ASSESSMENT"."ASSESSMENT_ID" Ref: "REQUEST"."SOURCE_AUDIT_ID" > "AUDIT"."AUDIT_ID" Ref: "REQUEST_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "REQUEST_EVALUATION"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "REQUEST_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "REQUEST_ISSUE"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "REQUEST_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "REQUEST_PROOF"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "REQUIREMENT"."PROGRAM" > "PROGRAM"."PROGRAM_ID" Ref: "REQUIREMENT_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "REQUIREMENT_EVALUATION"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "REQUIREMENT_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "REQUIREMENT_ISSUE"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "REQUIREMENT_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "REQUIREMENT_PROOF"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "REQUIREMENT_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "REQUIREMENT_REQUEST"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "REQUIREMENT_TASK"."REQUIREMENT_ID" > "REQUIREMENT"."REQUIREMENT_ID" Ref: "REQUIREMENT_TASK"."TASK_ID" > "TASK"."TASK_ID" Ref: "RESPONSE"."QUESTIONNAIRE_ID" > "QUESTIONNAIRE"."QUESTIONNAIRE_ID" Ref: "RESPONSE"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "RISKSNAPSHOT"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "RISK_EVALUATION"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "RISK_ISSUE"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "RISK_PROOF"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_REGISTER_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "RISK_REGISTER_ISSUE"."RISK_REGISTER_ID" > "RISK"."RISK_ID" Ref: "RISK_REQUEST"."REQUEST_ID" > "REQUEST"."REQUEST_ID" Ref: "RISK_REQUEST"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_VENDOR"."RISK_ID" > "RISK"."RISK_ID" Ref: "RISK_VENDOR"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "TASK"."TARGET_OBJECT_ID" > "ACCESS_REVIEW"."ACCESS_REVIEW_ID" Ref: "TASK"."TARGET_OBJECT_ID" > "CONTROL"."CONTROL_ID" Ref: "TASK"."TASK_TEMPLATE_ID" > "TASK_TEMPLATE"."TASK_TEMPLATE_ID" Ref: "TASK_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "TASK_PROOF"."TASK_ID" > "TASK"."TASK_ID" Ref: "TEST"."HYPERSYNC_ID" > "HYPERSYNC"."HYPERSYNC_ID" Ref: "TEST"."TARGET_OBJECT_ID" > "CONTROL"."CONTROL_ID" Ref: "TEST_RESULT"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "TEST_RESULT"."TEST_ID" > "TEST"."TEST_ID" Ref: "VENDOR_CONTACTS"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "VENDOR_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "VENDOR_EVALUATION"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "VENDOR_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "VENDOR_ISSUE"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "VENDOR_PROOF"."PROOF_ID" > "PROOF"."PROOF_ID" Ref: "VENDOR_PROOF"."VENDOR_ID" > "VENDOR"."VENDOR_ID" Ref: "VENDOR_REGISTER_EVALUATION"."EVALUATION_ID" > "EVALUATION"."EVALUATION_ID" Ref: "VENDOR_REGISTER_EVALUATION"."VENDOR_REGISTER_ID" > "VENDOR"."VENDOR_ID" Ref: "VENDOR_REGISTER_ISSUE"."ISSUE_ID" > "ISSUE"."ISSUE_ID" Ref: "VENDOR_REGISTER_ISSUE"."VENDOR_REGISTER_ID" > "VENDOR"."VENDOR_ID"