Skip to main content

Compliance API

Table of Contents

Top

upsquad/compliance/v1/compliance.proto

AttestDeletionRequest

AttestDeletionRequest consumes the one-time attestation token and transitions the RTD request to QUEUED.

FieldTypeLabelDescription
request_idstringrequest_id identifies the RTD request to attest.
attestation_tokenstringattestation_token must match the token returned by RequestDeletion.
attesting_member_idstringattesting_member_id is the UUID of the second admin.

AttestDeletionResponse

AttestDeletionResponse reports the post-attestation status.

FieldTypeLabelDescription
statusStatusstatus is the new lifecycle state (typically STATUS_QUEUED).

CancelRequestRequest

CancelRequestRequest aborts an in-flight RTD. Only QUEUED / AWAITING_ATTESTATION / early-PURGE (no scope completed) are allowed.

FieldTypeLabelDescription
request_idstringrequest_id identifies the RTD request to cancel.
org_idstringorg_id is the caller's tenant for scoping verification.
reasonstringreason is the free-form justification for the cancel.

CancelRequestResponse

CancelRequestResponse reports the post-cancellation status.

FieldTypeLabelDescription
statusStatusstatus is the new lifecycle state (typically STATUS_CANCELLED).

ConfigureRetentionRequest

ConfigureRetentionRequest writes / updates a tenant retention override for one scope.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.
scope_namestringscope_name is the classregistry scope identifier.
ttl_daysint32ttl_days is the requested retention window in days.
archive_targetstringarchive_target is the optional S3 URI for ArchiveThenDelete.

ConfigureRetentionResponse

ConfigureRetentionResponse reports the effective TTL and which layer clamped (tenant / floor / ceiling / default).

FieldTypeLabelDescription
effective_ttl_daysint32effective_ttl_days is the TTL the server actually applied.
sourceRetentionSourcesource identifies which layer produced effective_ttl_days.
actionRetentionActionaction is the terminal disposition when the window expires.
archive_targetstringarchive_target echoes the configured archive URI (or empty).

ConfigureSiemEndpointRequest

ConfigureSiemEndpointRequest upserts the tenant's SIEM webhook endpoint. The HMAC secret is minted server-side and returned once in the response; subsequent reads never expose it.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.
webhook_urlstringwebhook_url is the HTTPS endpoint to POST events to.
formatstringformat must be "ocsf" (founder Q3 — no other schema permitted).
filter_classSiemFilterClassfilter_class narrows which events are forwarded.

ConfigureSiemEndpointResponse

ConfigureSiemEndpointResponse carries the post-upsert configuration and the one-time HMAC secret.

FieldTypeLabelDescription
org_idstringorg_id echoes the caller's tenant.
webhook_urlstringwebhook_url echoes the configured endpoint.
formatstringformat echoes the configured format.
filter_classSiemFilterClassfilter_class echoes the configured filter class.
key_idstringkey_id identifies the HMAC key version in Vault.
hmac_secret_hexstringhmac_secret_hex is the ONE-TIME hex-encoded HMAC secret. Returned only at intake; GetSiemEndpoint deliberately omits it.
rotated_atgoogle.protobuf.Timestamprotated_at is when the current key was minted.
next_rotate_atgoogle.protobuf.Timestampnext_rotate_at is when the key is scheduled to rotate.

DeleteSiemEndpointRequest

DeleteSiemEndpointRequest removes the tenant's SIEM endpoint configuration. The historical siem_export_events ledger is preserved (audit proof).

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.

DeleteSiemEndpointResponse

DeleteSiemEndpointResponse reports whether historical events were preserved (always true per founder Q4B acceptance).

FieldTypeLabelDescription
preserved_historyboolpreserved_history is always true — the historical ledger survives endpoint deletion for audit purposes.

GetRetentionConfigRequest

GetRetentionConfigRequest asks for the effective retention policy for one scope.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.
scope_namestringscope_name is the classregistry scope identifier.

GetRetentionConfigResponse

GetRetentionConfigResponse carries the effective retention policy and the platform floor/ceiling/default bounds for UI display.

FieldTypeLabelDescription
effective_ttl_daysint32effective_ttl_days is the TTL currently applied to the scope.
sourceRetentionSourcesource identifies which layer produced effective_ttl_days.
actionRetentionActionaction is the terminal disposition when the window expires.
archive_targetstringarchive_target is the configured archive URI (or empty).
floor_daysint32floor_days is the platform minimum allowable override.
ceiling_daysint32ceiling_days is the platform maximum allowable override (0 = unlimited).
default_daysint32default_days is the platform default when no override is set.

GetScopeCoverageRequest

GetScopeCoverageRequest asks for the classregistry snapshot for the caller's tenant.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.

GetScopeCoverageResponse

GetScopeCoverageResponse carries the scope snapshot and a coverage summary for UI display.

FieldTypeLabelDescription
scopesScopeEntryrepeatedscopes is the full list of registered scopes.
total_registeredint32total_registered is len(scopes) (convenience counter).
pg_registeredint32pg_registered is the count of scopes where kind == SCOPE_KIND_PG (covered by RLS and migration scanning).

GetSiemEndpointRequest

GetSiemEndpointRequest asks for the tenant's SIEM endpoint config minus the HMAC secret.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.

GetSiemEndpointResponse

GetSiemEndpointResponse carries the SIEM endpoint configuration without the HMAC secret (vault-only).

FieldTypeLabelDescription
org_idstringorg_id echoes the caller's tenant.
webhook_urlstringwebhook_url is the configured endpoint.
formatstringformat is the configured format.
filter_classSiemFilterClassfilter_class is the configured filter class.
key_idstringkey_id identifies the current HMAC key version in Vault.
rotated_atgoogle.protobuf.Timestamprotated_at is when the current key was minted.
next_rotate_atgoogle.protobuf.Timestampnext_rotate_at is when the key is scheduled to rotate.
circuit_statestringcircuit_state reports the circuit-breaker state for outbound delivery (closed / open / half-open).

GetStatusRequest

GetStatusRequest asks for the current state of one RTD request.

FieldTypeLabelDescription
request_idstringrequest_id identifies the RTD request.
org_idstringorg_id is the caller's tenant for scoping verification.

GetStatusResponse

GetStatusResponse carries the full request state including timing and certificate pointer.

FieldTypeLabelDescription
request_idstringrequest_id echoes the RTD request UUID.
org_idstringorg_id is the tenant the request targets.
statusStatusstatus is the current lifecycle state.
phase_currentPhasephase_current is the active (or most recently active) phase.
dry_runbooldry_run mirrors the original request flag.
reasonstringreason mirrors the original request reason.
failure_reasonstringfailure_reason is set when status == STATUS_FAILED.
created_atgoogle.protobuf.Timestampcreated_at is when the request was submitted.
attestation_expires_atgoogle.protobuf.Timestampattestation_expires_at is when the dual-control token expires.
attested_atgoogle.protobuf.Timestampattested_at is when the second admin consumed the token (unset until attestation occurs).
started_atgoogle.protobuf.Timestampstarted_at is when PHASE_PURGE began.
completed_atgoogle.protobuf.Timestampcompleted_at is when the terminal phase finished (success or failure).
sla_deadlinegoogle.protobuf.Timestampsla_deadline is the regulatory SLA by which completion was due.
certificate_s3_keystringcertificate_s3_key is the S3 key of the deletion certificate, populated after PHASE_CERTIFY.

ListRequestsRequest

ListRequestsRequest returns a page of RTD requests for the tenant.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.
page_sizeint32page_size bounds the number of rows returned (server may cap).

ListRequestsResponse

ListRequestsResponse carries a page of RTD summaries.

FieldTypeLabelDescription
requestsRTDSummaryrepeatedrequests is the page of summaries, newest-first.

ListRetentionOverridesRequest

ListRetentionOverridesRequest returns every override configured for the caller's tenant.

FieldTypeLabelDescription
org_idstringorg_id is the caller's tenant.

ListRetentionOverridesResponse

ListRetentionOverridesResponse carries all of the tenant's configured overrides.

FieldTypeLabelDescription
overridesRetentionOverrideEntryrepeatedoverrides is the full list of tenant retention overrides.

RTDSummary

RTDSummary is a compact row in the ListRequests response.

FieldTypeLabelDescription
request_idstringrequest_id is the RTD request UUID.
statusStatusstatus is the current lifecycle state.
phase_currentPhasephase_current is the active (or most recently active) phase.
dry_runbooldry_run mirrors the original request flag.
created_atgoogle.protobuf.Timestampcreated_at is when the request was submitted.
completed_atgoogle.protobuf.Timestampcompleted_at is when the terminal phase finished (unset while in-flight).

RequestDeletionRequest

RequestDeletionRequest initiates a tenant RTD request. The response carries an attestation token that a second admin must present to AttestDeletion within 72 h (founder Q2 dual-control).

FieldTypeLabelDescription
org_idstringorg_id is the tenant the RTD targets.
requester_member_idstringrequester_member_id is the UUID of the admin submitting the request.
reasonstringreason is the free-form justification for the deletion.
dry_runbooldry_run skips phase execution and produces a plan-only report.

RequestDeletionResponse

RequestDeletionResponse carries the newly created request's id and the dual-control attestation token.

FieldTypeLabelDescription
request_idstringrequest_id is the server-assigned UUID for the new request.
attestation_tokenstringattestation_token is the one-time token a different admin must present to AttestDeletion.
attestation_expires_atgoogle.protobuf.Timestampattestation_expires_at bounds when the token remains valid.
sla_deadlinegoogle.protobuf.Timestampsla_deadline is the regulatory SLA by which the RTD must complete.

RetentionOverrideEntry

RetentionOverrideEntry is one row of the ListRetentionOverrides response.

FieldTypeLabelDescription
scope_namestringscope_name is the classregistry scope identifier.
ttl_daysint32ttl_days is the tenant-configured retention window.
archive_targetstringarchive_target is the tenant-configured archive URI (or empty).
updated_atgoogle.protobuf.Timestampupdated_at is the last-write timestamp for the override.

ScopeEntry

ScopeEntry is one row of the classregistry snapshot returned by GetScopeCoverage.

FieldTypeLabelDescription
namestringname is the human-readable scope identifier.
tablestringtable is the PG table name (empty for non-PG scopes).
kindScopeKindkind is the storage backend (PG, Vault, Redis, S3).
data_classDataClassdata_class groups the scope by regulatory handling.
sensitivitystringsensitivity is a free-form label (high/medium/low) for UI display.
retention_default_daysint32retention_default_days is the platform default retention.
retention_floor_daysint32retention_floor_days is the minimum allowable override (0 if tenant may delete immediately).
retention_ceiling_daysint32retention_ceiling_days is the maximum allowable override (0 if unlimited).
siem_exportedboolsiem_exported indicates whether events from this scope are forwarded to the tenant's SIEM endpoint.

DataClass

DataClass groups data scopes by regulatory handling requirement. The class determines which RTD phases apply to the scope (e.g. AUDIT is redacted rather than deleted).

NameNumberDescription
DATA_CLASS_UNSPECIFIED0DATA_CLASS_UNSPECIFIED is the zero-value sentinel.
DATA_CLASS_PERSONAL1DATA_CLASS_PERSONAL is PII subject to GDPR/CCPA deletion.
DATA_CLASS_OPERATIONAL2DATA_CLASS_OPERATIONAL is operational data (logs, metrics) with a tenant-configurable retention window.
DATA_CLASS_AUDIT3DATA_CLASS_AUDIT is audit-trail data that must be retained but may be redacted (not deleted) under regulatory rules.
DATA_CLASS_SECRET4DATA_CLASS_SECRET is secret material (tokens, keys) that must be purged on RTD with no retention window.
DATA_CLASS_PLATFORM5DATA_CLASS_PLATFORM is platform-owned data not subject to tenant RTD (shared billing, analytics rollups).

Phase

Phase is the four-step RTD execution sequence. Each phase must complete successfully before the next begins; failure in any phase terminates the request.

NameNumberDescription
PHASE_UNSPECIFIED0PHASE_UNSPECIFIED is the zero-value sentinel.
PHASE_PURGE1PHASE_PURGE is step 1 — delete rows matching the tenant's scopes across PG, Vault, Redis, S3.
PHASE_VERIFY2PHASE_VERIFY is step 2 — re-scan scopes to confirm no residual rows.
PHASE_REDACT3PHASE_REDACT is step 3 — redact any audit trail rows that must remain (CCPA/GDPR audit exception).
PHASE_CERTIFY4PHASE_CERTIFY is step 4 — emit the signed certificate of deletion to S3.

RetentionAction

RetentionAction is the terminal disposition for a scope's data at the end of its retention window.

NameNumberDescription
RETENTION_ACTION_UNSPECIFIED0RETENTION_ACTION_UNSPECIFIED is the zero-value sentinel.
RETENTION_ACTION_DELETE1RETENTION_ACTION_DELETE purges the row outright.
RETENTION_ACTION_REDACT2RETENTION_ACTION_REDACT strips PII while retaining the row for audit purposes (AUDIT class).
RETENTION_ACTION_ARCHIVE_THEN_DELETE3RETENTION_ACTION_ARCHIVE_THEN_DELETE offloads to the configured archive_target S3 URI before deleting.
RETENTION_ACTION_SKIP4RETENTION_ACTION_SKIP leaves the row untouched (platform-owned scopes not subject to tenant retention).

RetentionSource

RetentionSource identifies which layer produced the effective TTL for a retention query. Used for UI badges and audit.

NameNumberDescription
RETENTION_SOURCE_UNSPECIFIED0RETENTION_SOURCE_UNSPECIFIED is the zero-value sentinel.
RETENTION_SOURCE_TENANT1RETENTION_SOURCE_TENANT — the tenant has configured an override that falls within [floor, ceiling].
RETENTION_SOURCE_FLOOR2RETENTION_SOURCE_FLOOR — a tenant override was requested below the platform floor; the floor is returned instead.
RETENTION_SOURCE_CEILING3RETENTION_SOURCE_CEILING — a tenant override was requested above the platform ceiling; the ceiling is returned instead.
RETENTION_SOURCE_DEFAULT4RETENTION_SOURCE_DEFAULT — no override; the platform default applies.

ScopeKind

ScopeKind identifies the storage backend of a registered data scope.

NameNumberDescription
SCOPE_KIND_UNSPECIFIED0SCOPE_KIND_UNSPECIFIED is the zero-value sentinel.
SCOPE_KIND_PG1SCOPE_KIND_PG is a PostgreSQL table scope.
SCOPE_KIND_VAULT2SCOPE_KIND_VAULT is a HashiCorp Vault path scope.
SCOPE_KIND_REDIS3SCOPE_KIND_REDIS is a Redis key-prefix scope.
SCOPE_KIND_S34SCOPE_KIND_S3 is an S3 key-prefix scope.

SiemFilterClass

SiemFilterClass narrows which events are forwarded to the tenant's SIEM endpoint.

NameNumberDescription
SIEM_FILTER_CLASS_UNSPECIFIED0SIEM_FILTER_CLASS_UNSPECIFIED is the zero-value sentinel.
SIEM_FILTER_CLASS_ALL1SIEM_FILTER_CLASS_ALL forwards every exportable event.
SIEM_FILTER_CLASS_AUDIT_ONLY2SIEM_FILTER_CLASS_AUDIT_ONLY forwards only AUDIT-class events.
SIEM_FILTER_CLASS_HIGH_SEVERITY3SIEM_FILTER_CLASS_HIGH_SEVERITY forwards only events tagged with high-severity (e.g. failed auth, privilege escalation).

Status

Status is the lifecycle state of an RTD request. The state machine transitions are enforced by the RTD engine; any unexpected value indicates a bug and should be surfaced.

NameNumberDescription
STATUS_UNSPECIFIED0STATUS_UNSPECIFIED is the zero-value sentinel; never persisted.
STATUS_QUEUED1STATUS_QUEUED marks a request ready for the RTD worker to pick up.
STATUS_AWAITING_ATTESTATION2STATUS_AWAITING_ATTESTATION marks a request waiting for a second admin to consume the attestation token (founder Q2 dual-control).
STATUS_RUNNING3STATUS_RUNNING marks a request currently executing a phase.
STATUS_SUCCEEDED4STATUS_SUCCEEDED marks a request that completed all phases and produced a certificate.
STATUS_FAILED5STATUS_FAILED marks a request that hit a terminal error; see failure_reason on GetStatusResponse.
STATUS_CANCELLED6STATUS_CANCELLED marks a request aborted via CancelRequest before phase execution passed the cancellation barrier.

ComplianceService

ComplianceService exposes the tenant-facing Right-to-Delete (RTD) and retention/SIEM administration RPCs. Every RPC is tenant-scoped and gated by clearance checks at the gateway; see LLD docs/lld/ wave4-lld-19-rtd-engine.md.

Method NameRequest TypeResponse TypeDescription
RequestDeletionRequestDeletionRequestRequestDeletionResponseRequestDeletion accepts a tenant-initiated RTD. Caller must be a platform-admin. Founder Q2 dual-control — returns an attestation token which must be presented to AttestDeletion by a DIFFERENT admin within 72 h.
AttestDeletionAttestDeletionRequestAttestDeletionResponseAttestDeletion consumes the one-time attestation token and transitions the request to 'queued'.
GetStatusGetStatusRequestGetStatusResponseGetStatus returns the progress of one request.
ListRequestsListRequestsRequestListRequestsResponseListRequests returns a page of requests for the tenant.
CancelRequestCancelRequestRequestCancelRequestResponseCancelRequest aborts an in-flight RTD. Only QUEUED / AWAITING_ATTESTATION / early-PURGE (no scope completed) are allowed.
GetScopeCoverageGetScopeCoverageRequestGetScopeCoverageResponseGetScopeCoverage returns the current classregistry snapshot.
ConfigureRetentionConfigureRetentionRequestConfigureRetentionResponse── Retention policy RPCs (LLD 20) ─────────────────────────────

ConfigureRetention writes / updates a tenant retention override for one scope. Validated against the platform floor/ceiling: rejected with InvalidArgument when the requested TTL falls outside [floor, ceiling]. Tenant admin only. | | GetRetentionConfig | GetRetentionConfigRequest | GetRetentionConfigResponse | GetRetentionConfig returns the effective retention policy for one scope: (ttl_days, source, action). | | ListRetentionOverrides | ListRetentionOverridesRequest | ListRetentionOverridesResponse | ListRetentionOverrides returns every override configured for the caller's tenant. | | ConfigureSiemEndpoint | ConfigureSiemEndpointRequest | ConfigureSiemEndpointResponse | ── SIEM endpoint RPCs (LLD 21) ────────────────────────────────

ConfigureSiemEndpoint upserts the tenant's SIEM webhook endpoint. The HMAC secret is returned ONCE in the response; subsequent reads via GetSiemEndpoint never expose it. LLD 21 (#464). | | GetSiemEndpoint | GetSiemEndpointRequest | GetSiemEndpointResponse | GetSiemEndpoint returns the tenant's SIEM endpoint configuration minus the HMAC secret (secret is vault-only). LLD 21 (#464). | | DeleteSiemEndpoint | DeleteSiemEndpointRequest | DeleteSiemEndpointResponse | DeleteSiemEndpoint removes the tenant's SIEM endpoint configuration. The historical siem_export_events ledger is PRESERVED (audit proof). LLD 21 (#464). |

Top

upsquad/compliance/v1/dataclass_registry.proto

CreateDataClassRequest

CreateDataClassRequest adds a new registry entry. Returns AlreadyExists if entry.name collides with an existing row.

FieldTypeLabelDescription
entryDataClassEntryentry is the new row to insert. All mutable fields are validated.

CreateDataClassResponse

CreateDataClassResponse returns the persisted row.

FieldTypeLabelDescription
entryDataClassEntryentry is the persisted row including server-stamped timestamps.

DataClassEntry

DataClassEntry is a single registry row. name is the primary key and the only field that cannot be updated (renames would invalidate every DataClass badge consumer). The name value SHOULD correspond to a DataClass enum value (compliance.proto) but is stored as a string so the registry can track values the runtime does not yet recognise — seed-script authors are responsible for keeping the two in sync.

FieldTypeLabelDescription
namestringname is the registry key. Immutable after create.
severitystringseverity ranks the regulatory handling cost. One of "low", "medium", "high", "critical".
descriptionstringdescription is the human-readable gloss surfaced on badges and in compliance reports.
colourstringcolour is the hex token ("#RRGGBB" — including the hash) used by B10's badge renderer.
compliance_tagsstringrepeatedcompliance_tags lists regulatory regimes that apply (e.g. "gdpr", "ccpa", "hipaa", "pci"). Used by governance reports.
created_atgoogle.protobuf.Timestampcreated_at is server-stamped on Create; read-only.
updated_atgoogle.protobuf.Timestampupdated_at is server-stamped on every successful Update; read-only.

DeleteDataClassRequest

DeleteDataClassRequest removes a registry row by name.

FieldTypeLabelDescription
namestringname is the registry key to delete.

DeleteDataClassResponse

DeleteDataClassResponse is deliberately empty — success is signalled by the absence of an error.

GetDataClassRequest

GetDataClassRequest identifies a single registry row by name.

FieldTypeLabelDescription
namestringname is the registry primary key.

GetDataClassResponse

GetDataClassResponse carries the requested registry row.

FieldTypeLabelDescription
entryDataClassEntryentry is the matched registry row.

ListDataClassesRequest

ListDataClassesRequest is deliberately empty — the registry is platform-global and returned in full.

ListDataClassesResponse

ListDataClassesResponse carries every registry row.

FieldTypeLabelDescription
entriesDataClassEntryrepeatedentries is every row in the registry, ordered by name.

UpdateDataClassRequest

UpdateDataClassRequest replaces metadata on an existing row.

FieldTypeLabelDescription
namestringname identifies the row to update. Immutable — edits to name must go through Delete + Create.
entryDataClassEntryentry carries the new metadata. Its name field is ignored; the path component above wins.

UpdateDataClassResponse

UpdateDataClassResponse returns the persisted row.

FieldTypeLabelDescription
entryDataClassEntryentry is the persisted row after update, with a refreshed updated_at.

DataClassRegistryService

DataClassRegistryService manages the platform-global Data Class catalog. There is NO tenant scoping — this registry is consumed cross-tenant by governance and badge-rendering code paths.

Method NameRequest TypeResponse TypeDescription
GetDataClassGetDataClassRequestGetDataClassResponseGetDataClass returns a single registry entry by name. Read clearance L3 — tenant admin can inspect the catalog.
ListDataClassesListDataClassesRequestListDataClassesResponseListDataClasses returns every registry entry. Read clearance L3.
CreateDataClassCreateDataClassRequestCreateDataClassResponseCreateDataClass adds a new registry entry. L5 — platform catalog mutation.
UpdateDataClassUpdateDataClassRequestUpdateDataClassResponseUpdateDataClass replaces metadata on an existing entry. L5.
DeleteDataClassDeleteDataClassRequestDeleteDataClassResponseDeleteDataClass removes an entry by name. L5.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)