1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126
|
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
import "policy_common_definitions.proto";
package enterprise_management;
option go_package="chromium/policy/enterprise_management_proto";
// Everything below this comment will be synchronized between client and server
// repos ( go/cros-proto-sync ).
message DevicePolicyRefreshRateProto {
// In milliseconds.
optional int64 device_policy_refresh_rate = 1;
}
message UserWhitelistProto {
// If a UserWhitelistProto is included in the ChromeDeviceSettingsProto but
// the user_whitelist field is empty then no user can sign-in.
repeated string user_whitelist = 1;
}
message UserAllowlistProto {
// If a UserAllowlistProto is included in the ChromeDeviceSettingsProto but
// the user_whitelist field is empty then no user can sign-in.
repeated string user_allowlist = 1;
}
message AllowNewUsersProto {
// Determines whether we allow arbitrary users to log into the device.
// This interacts with the UserAllowlistProto as follows:
// allow_new_users | user_allowlist | anyone can log in
//-----------------+--------------------+------------------
// present, true | not present | Yes
//-----------------+--------------------+------------------
// present, true | present | Yes
//-----------------+--------------------+------------------
// present, false | not present | (Broken) Yes
//-----------------+--------------------+------------------
// present, false | present | No, W/L enforced
//-----------------+--------------------+------------------
// not present | not present | Yes
//-----------------+--------------------+------------------
// not present | present, empty | Yes
//-----------------+--------------------+------------------
// not present | present, non-empty | No, W/L enforced
//-----------------+--------------------+------------------
optional bool allow_new_users = 1 [default = true];
}
message GuestModeEnabledProto {
// Determines if guests are allowed to log in to the device.
optional bool guest_mode_enabled = 1 [default = true];
}
message ShowUserNamesOnSigninProto {
// Determines if we show pods for existing users on the sign in screen.
optional bool show_user_names = 1 [default = true];
}
message DataRoamingEnabledProto {
// Determines if cellular data roaming is enabled.
optional bool data_roaming_enabled = 1 [default = false];
}
message OBSOLETE_DeviceProxySettingsProto {
// One of "direct", "auto_detect", "pac_script", "fixed_servers", "system"
optional string OBSOLETE_proxy_mode = 1 [deprecated = true];
optional string OBSOLETE_proxy_server = 2 [deprecated = true];
optional string OBSOLETE_proxy_pac_url = 3 [deprecated = true];
optional string OBSOLETE_proxy_bypass_list = 4 [deprecated = true];
}
// This is used by chromeos, make sure to do cleanup there before marking it as
// obsolette.
message CameraEnabledProto {
optional bool camera_enabled = 1;
}
message MetricsEnabledProto {
optional bool metrics_enabled = 1;
}
message ReleaseChannelProto {
// One of "stable-channel", "beta-channel", or "dev-channel"
optional string release_channel = 1;
// The user can select the channel if |release_channel_delegated| is true.
// The value of |release_channel| is only taken into account if
// |release_channel_delegated| is set to false.
optional bool release_channel_delegated = 2;
// |release_lts_tag| is forwarded as the "ltshint" attribute to Omaha.
optional string release_lts_tag = 3;
}
message DeviceOpenNetworkConfigurationProto {
// The network configuration blob. This is a JSON string as specified by ONC.
optional string open_network_configuration = 1;
}
message NetworkHostnameProto {
// The device hostname template. It might contain following
// patterns that would be substituted by the device:
// ASSET_ID, SERIAL_NUM, MAC_ADDR, and string after substitution should
// be a valid hostname.
optional string device_hostname_template = 1;
}
message DeviceHindiInscriptLayoutEnabledProto {
// Determines if Hindi Inscript Layout is available
optional bool enabled = 1 [default = false];
}
message HostnameUserConfigurableProto {
// Determines if user is allowed to configure the device hostname
optional bool device_hostname_user_configurable = 1 [default = false];
}
// Policies to turn on portions of the device status reports.
// If changed, the default values have to be updated in
// chrome/browser/ash/policy/status_collector/device_status_collector.cc
// and
// chrome/browser/ash/policy/status_collector/child_status_collector.cc.
message DeviceReportingProto {
optional bool report_version_info = 1 [default = true];
optional bool report_activity_times = 2 [default = true];
optional bool report_boot_mode = 3 [default = true];
optional bool report_location = 4 [default = false];
// The server side still retains this field for being backward compatible with
// old versions of ChromeOS <= 95. See b/243958646.
optional bool report_network_interfaces = 5
[default = true, deprecated = true];
optional bool report_users = 6 [default = true];
// The server side still retains this field for being backward compatible with
// old versions of ChromeOS <= 95. See b/243960946.
optional bool report_hardware_status = 7 [default = true, deprecated = true];
optional bool report_session_status = 8 [default = true];
optional bool report_os_update_status = 10 [default = false];
optional bool report_running_kiosk_app = 11 [default = false];
optional bool report_power_status = 12 [default = false];
optional bool report_storage_status = 13 [default = false];
optional bool report_board_status = 14 [default = false];
optional bool report_cpu_info = 15 [default = false];
optional bool report_graphics_status = 16 [default = false];
optional bool report_crash_report_info = 17 [default = false];
optional bool report_timezone_info = 18 [default = false];
optional bool report_memory_info = 19 [default = false];
optional bool report_backlight_info = 20 [default = false];
optional bool report_app_info = 21 [default = false];
optional bool report_bluetooth_info = 22 [default = false];
optional bool report_fan_info = 23 [default = false];
optional bool report_vpd_info = 24 [default = false];
optional bool report_system_info = 25 [default = false];
optional bool report_print_jobs = 26 [default = false];
optional bool report_login_logout = 27 [default = false];
optional bool report_audio_status = 28 [default = true];
optional bool report_network_configuration = 29 [default = true];
optional bool report_network_status = 30 [default = true];
optional bool report_security_status = 31 [default = false];
optional bool report_crd_sessions = 36 [default = false];
optional bool report_peripherals = 37 [default = false];
optional bool report_network_events = 41 [default = false];
optional bool report_runtime_counters = 42 [default = false];
// Frequency to report device status, default to 3 hours.
// If changed, the default value has to be updated in
// chrome/browser/ash/policy/core/device_cloud_policy_manager_ash.cc.
optional int64 device_status_frequency = 9 [default = 10800000];
// Obsolete: This policy is not supported by the client starting with M-106.
// This is a internal flag that will be used to control whether enable
// granular device reporting is enabled
optional bool enable_granular_reporting = 32
[default = true, deprecated = true];
// Network telemetry policies.
optional int64 report_network_telemetry_collection_rate_ms = 33
[default = 3600000];
optional int64 report_network_telemetry_event_checking_rate_ms = 34
[default = 600000];
// Audio telemetry policy
optional int64 report_device_audio_status_checking_rate_ms = 35
[default = 600000];
// Runtime counters telemetry policy.
optional int64 device_report_runtime_counters_checking_rate_ms = 43
[default = 86400000];
optional StringList report_signal_strength_event_driven_telemetry = 38;
// Device activity heartbeat policies.
optional bool device_activity_heartbeat_enabled = 39 [default = false];
optional int64 device_activity_heartbeat_collection_rate_ms = 40
[default = 900000];
}
message EphemeralUsersEnabledProto {
// Determines whether users should be treated as ephemeral. In ephemeral users
// mode, no cryptohome is created for the user, but a tmpfs mount is used
// instead such that upon logout all user state is discarded.
//
// Does not apply for device-local accounts with specified `ephemeral_mode`
// that is equal to EPHEMERAL_MODE_DISABLE or EPHEMERAL_MODE_ENABLE.
optional bool ephemeral_users_enabled = 1;
}
message DeviceKeylockerForStorageEncryptionEnabledProto {
// Determines whether cryptohome uses Keylocker for storage encryption ciphers
// when supported.
optional bool enabled = 1;
}
// Details of an extension to install as part of the AppPack.
message OBSOLETE_AppPackEntryProto {
optional string OBSOLETE_extension_id = 1 [deprecated = true];
optional string OBSOLETE_update_url = 2 [deprecated = true];
// This field was added but never used and there are no plans to support it
// eventually either.
optional bool OBSOLETE_online_only = 3 [deprecated = true];
}
message OBSOLETE_AppPackProto {
// List of extensions to install as part of the AppPack.
repeated OBSOLETE_AppPackEntryProto app_pack = 1 [deprecated = true];
}
// This is a special policy for kiosk/retail mode that specifies what apps
// should be pinned to the launcher. For regular accounts, pinned apps are
// controlled through user policy.
message OBSOLETE_PinnedAppsProto {
// App IDs for the apps to pin.
repeated string OBSOLETE_app_id = 1 [deprecated = true];
}
message OBSOLETE_ForcedLogoutTimeoutsProto {
// All timeouts are specified in milliseconds.
// Specifies the timeout before an idle user session is terminated.
// If this field is omitted or set to 0, no logout on idle will be performed.
optional int64 OBSOLETE_idle_logout_timeout = 1 [deprecated = true];
// Specifies the duration of a warning countdown before the user is logged out
// because of idleness as specified by the |idle_logout_timeout| value.
// This field is only used if |idle_logout_timeout| != 0 is specified.
optional int64 OBSOLETE_idle_logout_warning_duration = 2 [deprecated = true];
}
message OBSOLETE_ScreenSaverProto {
// Specifies the extension ID which is to be used as a screen saver on the
// login screen if no user activity is present. Only respected if the device
// is in RETAIL mode.
optional string OBSOLETE_screen_saver_extension_id = 1 [deprecated = true];
// Specifies the timeout before the screen saver is activated. If this field
// is omitted or set to 0, no screen-saver will be started.
// Measured in milliseconds.
optional int64 OBSOLETE_screen_saver_timeout = 2 [deprecated = true];
}
// Enterprise controls for auto-update behavior of Chrome OS.
message AutoUpdateSettingsProto {
reserved 13;
// True if we don't want the device to auto-update (target_version_prefix is
// ignored in this case).
optional bool update_disabled = 1;
// Specifies the prefix of the target version we want the device to
// update to, if it's on an older version. If the device is already on
// a version with the given prefix, then there's no effect. If the device is
// on a higher version, the behavior depends on |rollback_to_target_version|.
// The format of this version can be one of the following:
// ---------------------------------------------------------------------
// "" (or not set at all): update to latest version available.
// 1412.: update to any minor version of 1412 (e.g. 1412.24.34 or 1412.60.2)
// 1412.2.: update to any minor version of 1412.2 (e.g. 1412.2.34 or 1412.2.2)
// 1412.24.34: update to this specific version only
// ---------------------------------------------------------------------
optional string target_version_prefix = 2;
// The Chrome browser version (e.g. "17.*") corresponding to the
// target_version_prefix above. The target_version_prefix is the internal OS
// version that external users normally are not aware of. This display_name
// can be used by the devices to display a message to end-users about the auto
// update setting.
optional string target_version_display_name = 3;
// Specifies the number of seconds up to which a device may randomly
// delay its download of an update from the time the update was first pushed
// out to the server. The device may wait a portion of this time in terms
// of wall-clock-time and the remaining portion in terms of the number of
// update checks. In any case, the scatter is upper bounded by a constant
// amount of time so that a device does not ever get stuck waiting to download
// an update forever.
optional int64 scatter_factor_in_seconds = 4;
// Enumerates network connection types.
enum ConnectionType {
CONNECTION_TYPE_ETHERNET = 0;
CONNECTION_TYPE_WIFI = 1;
CONNECTION_TYPE_WIMAX = 2;
CONNECTION_TYPE_BLUETOOTH = 3;
CONNECTION_TYPE_CELLULAR = 4;
}
// The types of connections that are OK to use for OS updates. OS updates
// potentially put heavy strain on the connection due to their size and may
// incur additional cost. Therefore, they are by default not enabled for
// connection types that are considered expensive (currently only Cellular).
repeated ConnectionType allowed_connection_types = 5;
// This has been replaced by |reboot_after_update| below.
optional bool OBSOLETE_reboot_after_update = 6 [deprecated = true];
// True if AU payloads can be downloaded via HTTP. False otherwise.
optional bool http_downloads_enabled = 7 [default = false];
// True if the device should reboot automatically when an update has been
// applied and a reboot is required to complete the update process.
//
// Note: Currently, automatic reboots are only enabled while the login screen
// is being shown or a kiosk app session is in progress. This will change in
// the future and the policy will always apply, regardless of whether a
// session of any particular type is in progress or not.
optional bool reboot_after_update = 8;
// True if AU payloads may be shared with and consumed from other devices
// on the LAN, using p2p. False otherwise.
optional bool p2p_enabled = 9 [default = false];
// The possible types of rollback.
enum RollbackToTargetVersion {
// No value set. Default is ROLLBACK_DISABLED.
ROLLBACK_UNSPECIFIED = 0;
// No rollback should happen if |target_version_prefix| specifies an older
// version than the currently installed Chrome OS version. If this is the
// case, the device will still respect |target_version_prefix|, so it will
// not update Chrome OS.
ROLLBACK_DISABLED = 1;
// Deprecated. This option is not available or supported anymore.
ROLLBACK_AND_POWERWASH = 2;
// If |target_version_prefix| specifies an older version than the currently
// installed ChromeOS version, the device should roll back to a ChromeOS
// version starting with |target_version_prefix|.
// The device is powerwashed but some data is preserved and recovered: OOBE
// completion state, stats consent status, and device-wide network
// configurations without certificates. When rolling back to M>=106, the
// device re-enrolls automatically.
ROLLBACK_AND_RESTORE_IF_POSSIBLE = 3;
}
// Specifies what should happen if |target_version_prefix| specifies an older
// version than the currently installed Chrome OS version.
optional RollbackToTargetVersion rollback_to_target_version = 10
[default = ROLLBACK_DISABLED];
// Specifies the number of Chrome milestones rollback should be allowed,
// starting from the stable version at any time. Setting this policy prevents
// firmware and kernel rollback protection to apply for at least this number
// of milestones.
optional int32 rollback_allowed_milestones = 11 [default = 0];
// Specifies the time intervals during which the device is not allowed to do
// automatic update checks. This is a JSON string, for details see
// DeviceAutoUpdateTimeRestrictions.yaml.
optional string disallowed_time_intervals = 12;
// Specifies how much of the fleet to update per day as a json
// string that contains a list of pairs <day, percentage>. For more
// details and examples, see DeviceUpdateStagingSchedule.yaml.
optional string staging_schedule = 14;
// This token is forwarded to omaha by update_engine. If it is set, omaha may
// serve a quick fix build identified by the token.
//
// This field is primarily used for quick fixes, but it is also used by the
// Hotrod team to subdivide the Stable channel into cohorts.
optional string device_quick_fix_build_token = 15;
// Types of channel downgrade behavior.
enum ChannelDowngradeBehavior {
// Channel downgrade behavior unspecified. Default is
// WAIT_FOR_VERSION_CATCH_UP.
CHANNEL_DOWNGRADE_BEHAVIOR_UNSPECIFIED = 0;
// On a channel downgrade, e.g. beta to stable, wait for the device's
// version to become available on the new channel. No updates happen until
// then. This is the default.
WAIT_FOR_VERSION_CATCH_UP = 1;
// Roll back and reset the device on a channel downgrade. This does a full
// powerwash and tries to preserve wifi and enrollment.
ROLLBACK = 2;
// Allow the user to decide whether to wait or roll back and reset on a
// user-initiated channel downgrade.
ALLOW_USER_TO_CONFIGURE = 3;
}
// Specifies what should happen if the device channel is downgraded.
optional ChannelDowngradeBehavior channel_downgrade_behavior = 16
[default = WAIT_FOR_VERSION_CATCH_UP];
// |target_version_selector| is forwarded as the "targetversionselector"
// attribute to Omaha and is used by it if for minor version pinning. The
// field is not and shall not be processed by the client.
optional string target_version_selector = 17;
}
message OBSOLETE_StartUpUrlsProto {
// Specifies the URLs to be loaded on login to the anonymous account used if
// the device is in RETAIL mode.
repeated string OBSOLETE_start_up_urls = 1 [deprecated = true];
}
message DeviceLoginScreenGeolocationAccessLevelProto {
enum GeolocationAccessLevel {
DISALLOWED = 0;
ALLOWED = 1;
}
optional GeolocationAccessLevel geolocation_access_level = 1
[default = ALLOWED];
}
message SystemTimezoneProto {
// Specifies an owner-determined timezone that applies to the login screen and
// all users. Valid values are listed in "timezone_settings.cc". Additionally,
// timezones from the "IANA Time Zone Database" (e.g. listed on wikipedia)
// that are equivalent to one of the timezones in "timezone_settings.cc" are
// valid. In case of an invalid value, the setting is still activated with a
// fallback timezone (currently "GMT"). In case of an empty string or if no
// value is provided, the timezone device setting is inactive. In that case,
// the currently active timezone will remain in use however users can change
// the timezone and the change is persistent. Thus a change by one user
// affects the login-screen and all other users.
optional string timezone = 1;
// This allows domain administrators to control the timezone settings for
// their devices.
enum AutomaticTimezoneDetectionType {
USERS_DECIDE = 0;
DISABLED = 1;
IP_ONLY = 2;
SEND_WIFI_ACCESS_POINTS = 3;
SEND_ALL_LOCATION_INFO = 4;
}
optional AutomaticTimezoneDetectionType timezone_detection_type = 2;
}
message SystemUse24HourClockProto {
// Specifies an owner-determined clock format that applies to the login
// screen and is used as a default for all user sessions. Users can still
// override the format to use for their account.
//
// True and false select a 24 and 12 hour clock format, respectively. The
// default format for the case the setting is not present is 24 hour clock.
optional bool use_24hour_clock = 1;
}
// Parameters for Kiosk App device-local accounts.
message KioskAppInfoProto {
// Indicates the Kiosk App for the corresponding device-local account. The
// string value should be a valid 32-character Chrome App identifier and
// specifies the Kiosk App to download and run.
optional string app_id = 1;
// Optional extension update URL to download the Kiosk App package from. If
// not specified, the app will be downloaded from the standard Chrome Web
// Store update URL.
optional string update_url = 2;
}
// Describes which Android application is to be launched.
message AndroidKioskAppInfoProto {
// Package name (must be present).
// In the event this is the only field that is specified, runtime may use
// PackageManager.getLaunchIntentForPackage() to start the app. See
// https://developer.android.com/reference/android/content/pm/PackageManager.html
// Example of the package name: "com.android.camera". Do not include "app:"
// prefix in the package name.
optional string package_name = 1;
// Class name (optional). If present, class name is to be combined with
// package name to form a ComponentName. See
// https://developer.android.com/reference/android/content/ComponentName.html
optional string class_name = 2;
// Action (optional). The third parameter required for creating an Intent.
// If omitted, runtime may choose a reasonable default action
// (e.g. android.intent.action.MAIN).
// If package and action are specified, but not the class name, runtime may
// use PackageManager.queryIntentActivity() to find out the class name.
optional string action = 3;
// Display name (optional).
// User-friendly app name that should be used in Chrome UI where kiosk app
// name is shown. Chrome side could override the string with an updated
// value that it will get from Google Play when the app will be installed.
optional string display_name = 4;
}
// Parameters for Web App-based device local accounts.
message WebKioskAppInfoProto {
// Install url (must be present).
// In case it is the only field provided, title and icon will be deduced
// during first app launch.
optional string url = 1;
// Title (optional).
// User-friendly app name that should be used in Chrome UI where kiosk app
// name is shown. Chrome side could override the string with an updated
// value that it will get during actual app launch.
optional string title = 2;
// Icon url (optional).
// Is not used in the current Implementation. Will be used instead of the
// placeholder icon that is displayed before the first successful app
// launch.
optional string icon_url = 3;
}
// Parameters for Isolated Web App kiosk device local accounts.
message IsolatedWebAppKioskInfoProto {
// Signed Web Bundle ID (required).
// A base32 [a-z2-7] string of 56 or 58 characters.
// The public key of the Signed Web Bundle is used to create the Web Bundle ID
// that identifies the IWA.
optional string web_bundle_id = 1;
// Update URL of the isolated app (required).
// Specifies the app version and where to download the web bundle from.
optional string update_manifest_url = 2;
// The IWA release/update channel name (optional).
// If unset, the "default" channel is used.
optional string update_channel = 3;
// A specific version number to install (optional).
// ChromeOS will attempt to install this version if available on the current
// update channel. Pinning prevents further app updates.
// If unset, the IWA updates to the latest version on the current channel.
optional string pinned_version = 4;
// Enables downgrading to older versions of the IWA (optional).
// Ignored if `pinned_version` is not specified.
// If unset, defaults to false, i.e. downgrading is disabled for this IWA.
optional bool allow_downgrades = 5;
}
// Describes a single device-local account.
message DeviceLocalAccountInfoProto {
// Deprecated: Account identifier for a public session device-local account.
// Old code didn't have the |type| field, so it can't handle new types of
// device-local accounts gracefully (i.e. ignoring unsupported types). New
// code should instead set type to ACCOUNT_TYPE_PUBLIC_SESSION and write the
// identifier to the |account_id| field below. If the |type| field is present,
// |deprecated_public_session_id| will be ignored.
optional string deprecated_public_session_id = 1;
// Identifier for the device-local account. This is an opaque identifier that
// is used to distinguish different device-local accounts configured. All
// configured accounts on a device must have unique identifiers.
optional string account_id = 2;
// LINT.IfChange
// Indicates the type of device-local account.
enum AccountType {
// A login-less, policy-configured browsing session.
ACCOUNT_TYPE_PUBLIC_SESSION = 0;
// An account that serves as a container for a single full-screen
// Chrome app.
ACCOUNT_TYPE_KIOSK_APP = 1;
// An account that serves as a container for a single full-screen
// Android app. Deprecated.
ACCOUNT_TYPE_KIOSK_ANDROID_APP = 2 [deprecated = true];
// SAML public session account.
ACCOUNT_TYPE_SAML_PUBLIC_SESSION = 3;
// An account that serves as a container for a single full-screen Web App.
ACCOUNT_TYPE_WEB_KIOSK_APP = 4;
// An account that serves as a container for a single full-screen
// Isolated Web App (IWA).
ACCOUNT_TYPE_KIOSK_IWA = 5;
// An account that serves as a container for a single full-screen
// Android app running inside ARCVM. This is different from the deprecated
// ACCOUNT_TYPE_KIOSK_ANDROID_APP as this will be used only for Project
// Starline devices.
ACCOUNT_TYPE_KIOSK_ARCVM = 6;
}
// Should keep ChromeServletUtil.toDimensionAccountType logic in sync with
// AccountType enum.
// LINT.ThenChange(//depot/google3/java/com/google/chrome/cros/dmserver/chrome/ChromeServletUtil.java)
// The account type.
optional AccountType type = 3;
// Kiosk App parameters, relevant if |type| is ACCOUNT_TYPE_KIOSK_APP.
optional KioskAppInfoProto kiosk_app = 4;
// Kiosk App parameters, relevant if |type| is ACCOUNT_TYPE_KIOSK_ANDROID_APP
optional AndroidKioskAppInfoProto android_kiosk_app = 5 [deprecated = true];
// Web Kiosk App parameters, relevant if |type| is ACCOUNT_TYPE_WEB_KIOSK_APP
optional WebKioskAppInfoProto web_kiosk_app = 6;
enum EphemeralMode {
// Default value. Same behaviour as
// EPHEMERAL_MODE_FOLLOW_DEVICE_WIDE_POLICY value.
EPHEMERAL_MODE_UNSET = 0;
// Device-local account ephemeral mode controlled by
// DeviceEphemeralUsersEnabled policy.
//
// Prefer this value over EPHEMERAL_MODE_UNSET to avoid errors when merging
// child OU and parent OU protobufs on the service-side.
EPHEMERAL_MODE_FOLLOW_DEVICE_WIDE_POLICY = 1;
// Device-local account must be non-ephemeral.
EPHEMERAL_MODE_DISABLE = 2;
// Device-local account must be ephemeral.
EPHEMERAL_MODE_ENABLE = 3;
}
// Configures whether the current device-local account should be ephemeral and
// overrides the behaviour of DeviceEphemeralUsersEnabled policy for the
// current device-local account iff
// 1) `ephemeral_mode` is present AND
// 2) `ephemeral_mode` value is equal EPHEMERAL_MODE_DISABLE
// or EPHEMERAL_MODE_ENABLE.
//
// Otherwise, DeviceEphemeralUsersEnabled policy is applied to the
// current device-local account.
//
// Relevant if `type` is ACCOUNT_TYPE_KIOSK_APP,
// ACCOUNT_TYPE_KIOSK_ANDROID_APP or ACCOUNT_TYPE_WEB_KIOSK_APP.
optional EphemeralMode ephemeral_mode = 7;
// Kiosk App parameters, relevant if |type| is ACCOUNT_TYPE_KIOSK_IWA.
optional IsolatedWebAppKioskInfoProto isolated_kiosk_app = 8;
// Kiosk App parameters, relevant if |type| is ACCOUNT_TYPE_KIOSK_ARCVM.
// This is different from the deprecated android_kiosk_app field as this will
// be used only for Project Starline devices.
optional AndroidKioskAppInfoProto arcvm_kiosk_app = 9;
}
message DeviceLocalAccountsProto {
// The list of device-local accounts (i.e. accounts without an associated
// cloud-backed profile) that are available on the device.
repeated DeviceLocalAccountInfoProto account = 1;
// The identifier of the device-local account to which the device
// should be logged in automatically. Should be equal to one of the
// ids in DeviceLocalAccountInfoProto.
optional string auto_login_id = 2;
// The amount of time, in milliseconds, that should elapse at the signin
// screen without user interaction before automatically logging in.
optional int64 auto_login_delay = 3;
// Whether the keyboard shortcut to prevent zero-delay auto-login should be
// enabled or not. By default, the user has 3 seconds to press a shortcut
// to prevent auto-login, which is useful to sign-in to a regular user session
// and configure the machine. If this policy is set to false then this
// shortcut is disabled and there is no way to skip auto-login.
optional bool enable_auto_login_bailout = 4 [default = true];
// Whether network configuration should be offered or not when the device
// does not have access to the Internet. If the policy is omitted or set to
// true, the network configuration will be offered. Otherwise, only an error
// message is displayed.
// Note: If both this policy and enable_auto_login_bailout policy above is
// set to false, there are chances that the device might become totally
// unusable when there is no Internet access and has to go through the
// recovery process.
// If the device is offline at startup then the network configuration screen
// is always shown, before auto-login kicks in.
optional bool prompt_for_network_when_offline = 5 [default = true];
}
message ManagedGuestSessionPrivacyWarningsProto {
// Enable the privacy warnings on both; the login screen of the managed-guest
// session & inside the auto-launched managed-guest sessions.
// If this policy is set to false, all the privacy warnings are deactivated.
// If it's set to true or not set, then the privacy warnings will be shown by
// default.
optional bool enabled = 1 [default = true];
}
message AllowRedeemChromeOsRegistrationOffersProto {
// Chrome OS Registration service provides way for chromeos device users
// to redeem electronic offers provided by service provider.
// This value determines if users are allowed to redeem offers through
// Chrome OS Registration service.
optional bool allow_redeem_offers = 1 [default = true];
}
message FeatureFlagsProto {
// Specifies switches that should be passed to Google Chrome when it starts.
// The specified switches are applied on the login screen only. Switches set
// via this policy do not propagate into user sessions.
// This is deprecated because it turned out that storing raw switches is
// problematic since Chrome can't easily tie switches back to feature flags to
// validate them. The |feature_flags| field below works in terms of feature
// flag names (i.e. chrome://flags items) instead and supersedes |switches|.
repeated string switches = 1 [deprecated = true];
// Specifies feature flags (i.e. chrome://flags items) that should be enabled
// when Chrome starts. The format of the individual entries matches the format
// chrome://flags uses for internal bookkeeping, i.e. either the flag name as
// listed on chrome://flags (for flags that only have a single choice besides
// the default) or the flag name followed by the index of the chosen option,
// separated by an '@' character (for flags with multiple choices). The
// specified feature flags are applied on the login screen only and don't
// propagate into the user session.
repeated string feature_flags = 2;
}
message UptimeLimitProto {
// This has been replaced by |uptime_limit| below.
optional int64 OBSOLETE_uptime_limit = 1 [deprecated = true];
// Sets the length of device uptime after which an automatic reboot is
// scheduled. An automatic reboot is scheduled at the selected time but may be
// delayed on the device by up to 24 hours, e.g. if a user is currently using
// the device or an app/extension has requested reboots to be inhibited
// temporarily. The policy value should be specified in seconds.
//
// Note: Currently, automatic reboots are only enabled while the login screen
// is being shown or a kiosk app session is in progress. This will change in
// the future and the policy will always apply, regardless of whether a
// session of any particular type is in progress or not.
optional int64 uptime_limit = 2;
}
message VariationsParameterProto {
// The string for the restrict parameter to be appended to the Variations URL
// when pinging the Variations server.
optional string parameter = 1;
}
message AttestationSettingsProto {
// Attestation involves proving that a cryptographic key is protected by a
// legitimate Chrome OS TPM and reporting the operating mode of the platform.
// This setting enables enterprise attestation features at a device level. If
// this is enabled a machine key will be generated and certified by the Chrome
// OS CA. If this setting is disabled, even users with attestation settings
// enabled will not be able to use those features on the device.
optional bool attestation_enabled = 1 [default = false];
// Chrome OS devices can use remote attestation (Verified Access) to get a
// certificate issued by the Chrome OS CA that asserts the device is eligible
// to play protected content. This process involves sending hardware
// endorsement information to the Chrome OS CA which uniquely identifies the
// device. This setting allows this feature to be disabled for the device
// regardless of any user-specific settings.
optional bool content_protection_enabled = 2 [default = true];
}
message AccessibilitySettingsProto {
// Sets the default state of the following accessibility features on the login
// screen:
//
// 1) Large cursor: login_screen_default_large_cursor_enabled
// 2) Spoken feedback: login_screen_default_spoken_feedback_enabled
// 3) High contrast: login_screen_default_high_contrast_enabled
// 4) Screen magnifier: login_screen_default_screen_magnifier_type
// 5) Virtual keyboard: login_screen_default_virtual_keyboard_enabled
//
// Each acts as follows: If the corresponding policy is set to true, the
// associated accessibility feature will be enabled when the login screen is
// shown. If this policy is set to false, the accessibility feature will be
// disabled when the login screen is shown. Users can temporarily override
// this setting by enabling or disabling the corresponding accessibiilty
// feature. However, the user's choice is not persistent and the default is
// restored whenever the login screen is shown anew or the user remains idle
// on the login screen for a minute. If this policy is left unset, the
// corresponding accessibiilty feature is disabled when the login screen is
// first shown. Users can enable or disable the corresponding accessibiilty
// feature anytime and its status on the login screen is persisted between
// users.
optional bool login_screen_default_large_cursor_enabled = 1;
optional bool login_screen_default_spoken_feedback_enabled = 2;
optional bool login_screen_default_high_contrast_enabled = 3;
// Enumerates the screen magnifier types.
enum ScreenMagnifierType {
// Screen magnifier disabled.
SCREEN_MAGNIFIER_TYPE_NONE = 0;
// Full-screen magnifier enabled.
SCREEN_MAGNIFIER_TYPE_FULL = 1;
}
optional ScreenMagnifierType login_screen_default_screen_magnifier_type = 4;
optional bool login_screen_default_virtual_keyboard_enabled = 5;
// Sets the mandatory or default state, depending on the PolicyOptions, of the
// following accessibility features on the login screen:
//
// 1) Large cursor: login_screen_large_cursor_enabled
// PolicyOptions: login_screen_large_cursor_enabled_options
// 2) Spoken feedback: login_screen_spoken_feedback_enabled
// PolicyOptions: login_screen_spoken_feedback_enabled_options
// 3) High contrast: login_screen_high_contrast_enabled
// PolicyOptions: login_screen_high_contrast_enabled_options
// 4) Virtual keyboard: login_screen_virtual_keyboard_enabled
// PolicyOptions: login_screen_virtual_keyboard_enabled_options
// 5) Dictation: login_screen_dictation_enabled
// PolicyOptions: login_screen_dictation_enabled_options
// 6) Select to speak: login_screen_select_to_speak_enabled
// PolicyOptions: login_screen_select_to_speak_enabled_options
// 7) Cursor highlight: login_screen_cursor_highlight_enabled
// PolicyOptions: login_screen_cursor_highlight_enabled_options
// 8) Caret highlight: login_screen_caret_highlight_enabled
// PolicyOptions: login_screen_caret_highlight_enabled_options
// 9) Mono audio: login_screen_mono_audio_enabled
// PolicyOptions: login_screen_mono_audio_enabled_options
// 10) Autoclick: login_screen_autoclick_enabled
// PolicyOptions: login_screen_autoclick_enabled_options
// 11) Sticky keys: login_screen_sticky_keys_enabled
// PolicyOptions: login_screen_sticky_keys_enabled_options
// 12) Keyboard focus highlight: login_screen_keyboard_focus_highlight_enabled
// PolicyOptions: login_screen_keyboard_focus_highlight_enabled_options
// 13) Screen magnifier: login_screen_screen_magnifier_type
// PolicyOptions: login_screen_screen_magnifier_type_options
// 14) Show options in system tray menu:
// login_screen_show_options_in_system_tray_menu_enabled
// PolicyOptions: login_screen_sticky_keys_enabled_options
// 15) Accessibility shortcuts: login_screen_shortcuts_enabled
// PolicyOptions: login_screen_shortcuts_enabled_options
// 16) Face control: login_screen_face_gaze_enabled
// PolicyOptions: login_screen_face_gaze_enabled_options
//
// For all the aforementioned accessibility policies:
// - If this policy is set to true, the accessibility feature will be enabled
// when the login screen is shown.
// - If the policy is set to false, the accessibility feature will be
// disabled when the login screen is shown.
// - If the policy is left unset, the accessibility feature is disabled when
// the login screen is first shown.
// - If the PolicyOptions is set to mandatory, the user won't be able
// to change these settings.
// - If the PolicyOptions is set to recommended, the user can temporarily
// override this setting by enabling or disabling the accessibility feature.
// However, the user's choice is not persistent and the default is restored
// whenever the login screen is shown anew or the user remains idle on the
// login screen for a minute. Users can enable or disable the accessibility
// feature anytime and its status on the login screen is persisted between
// users.
optional bool login_screen_large_cursor_enabled = 6;
optional PolicyOptions login_screen_large_cursor_enabled_options = 7;
optional bool login_screen_spoken_feedback_enabled = 8;
optional PolicyOptions login_screen_spoken_feedback_enabled_options = 9;
optional bool login_screen_high_contrast_enabled = 10;
optional PolicyOptions login_screen_high_contrast_enabled_options = 11;
optional bool login_screen_virtual_keyboard_enabled = 12;
optional PolicyOptions login_screen_virtual_keyboard_enabled_options = 13;
optional bool login_screen_dictation_enabled = 14;
optional PolicyOptions login_screen_dictation_enabled_options = 15;
optional bool login_screen_select_to_speak_enabled = 16;
optional PolicyOptions login_screen_select_to_speak_enabled_options = 17;
optional bool login_screen_cursor_highlight_enabled = 18;
optional PolicyOptions login_screen_cursor_highlight_enabled_options = 19;
optional bool login_screen_caret_highlight_enabled = 20;
optional PolicyOptions login_screen_caret_highlight_enabled_options = 21;
optional bool login_screen_mono_audio_enabled = 22;
optional PolicyOptions login_screen_mono_audio_enabled_options = 23;
optional bool login_screen_autoclick_enabled = 24;
optional PolicyOptions login_screen_autoclick_enabled_options = 25;
optional bool login_screen_sticky_keys_enabled = 26;
optional PolicyOptions login_screen_sticky_keys_enabled_options = 27;
optional bool login_screen_keyboard_focus_highlight_enabled = 28;
optional PolicyOptions login_screen_keyboard_focus_highlight_enabled_options =
29;
optional int64 login_screen_screen_magnifier_type = 30;
optional PolicyOptions login_screen_screen_magnifier_type_options = 31;
optional bool login_screen_show_options_in_system_tray_menu_enabled = 32;
optional PolicyOptions
login_screen_show_options_in_system_tray_menu_enabled_options = 33;
optional bool login_screen_shortcuts_enabled = 34;
optional PolicyOptions login_screen_shortcuts_enabled_options = 35;
optional bool login_screen_face_gaze_enabled = 36;
optional PolicyOptions login_screen_face_gaze_enabled_options = 37;
}
message OBSOLETE_SupervisedUsersSettingsProto {
// Defines whether supervised users can be created on the device.
optional bool OBSOLETE_supervised_users_enabled = 1 [deprecated = true];
}
message LoginScreenPowerManagementProto {
// Configures power management on the login screen. The policy should be
// specified as a string that expresses the individual settings in JSON
// format, conforming to the following schema:
// {
// "type": "object",
// "properties": {
// "AC": {
// "description": "Power management settings applicable only when
// running on AC power",
// "type": "object",
// "properties": {
// "Delays": {
// "type": "object",
// "properties": {
// "ScreenDim": {
// "description": "The length of time without user input after
// which the screen is dimmed, in milliseconds",
// "type": "integer",
// "minimum": 0
// },
// "ScreenOff": {
// "description": "The length of time without user input after
// which the screen is turned off, in
// milliseconds",
// "type": "integer",
// "minimum": 0
// },
// "Idle": {
// "description": "The length of time without user input after
// which the idle action is taken, in
// milliseconds",
// "type": "integer",
// "minimum": 0
// }
// }
// },
// "IdleAction": {
// "description": "Action to take when the idle delay is reached",
// "enum": [ "Suspend", "Shutdown", "DoNothing" ]
// }
// }
// },
// "Battery": {
// "description": "Power management settings applicable only when
// running on battery power",
// "type": "object",
// "properties": {
// "Delays": {
// "type": "object",
// "properties": {
// "ScreenDim": {
// "description": "The length of time without user input after
// which the screen is dimmed, in milliseconds",
// "type": "integer",
// "minimum": 0
// },
// "ScreenOff": {
// "description": "The length of time without user input after
// which the screen is turned off, in
// milliseconds",
// "type": "integer",
// "minimum": 0
// },
// "Idle": {
// "description": "The length of time without user input after
// which the idle action is taken, in
// milliseconds",
// "type": "integer",
// "minimum": 0
// }
// }
// },
// "IdleAction": {
// "description": "Action to take when the idle delay is reached",
// "enum": [ "Suspend", "Shutdown", "DoNothing" ]
// }
// }
// },
// "LidCloseAction": {
// "description": "Action to take when the lid is closed",
// "enum": [ "Suspend", "Shutdown", "DoNothing" ]
// },
// "UserActivityScreenDimDelayScale": {
// "description": "Percentage by which the screen dim delay is scaled
// when user activity is observed while the screen is
// dimmed or soon after the screen has been turned off",
// "type": "integer",
// "minimum": 0
// }
// }
// }
optional string login_screen_power_management = 1;
}
message AutoCleanupSettigsProto {
// Deprecated. There is only one disk-full cleanup strategy: LRU.
optional string clean_up_strategy = 1;
}
// Settings that control low-level functions of the system.
message SystemSettingsProto {
// Whether developer mode is allowed on the device. If the device owner sets
// this flag to true, the system will refuse to boot and show an error screen
// when the developer switch is turned on.
optional bool block_devmode = 1;
}
// Settings that control login for SAML users.
message SAMLSettingsProto {
// Whether cookies set by a SAML IdP should be transferred to users' profiles
// every time a user authenticates via SAML during login. If false, cookies
// are transferred during each user's first login only.
optional bool transfer_saml_cookies = 1;
// Deprecated. This field has been moved to SAMLUsernameProto.
optional string OBSOLETE_url_parameter_to_autofill_saml_username = 2
[deprecated = true];
}
message SAMLUsernameProto {
// If this policy is not configured or set to a blank string, users will have
// to manually enter their username on SAML IdP page during online
// authentication on the sign-in screen and the lock screen.
// Otherwise, this string is expected to contain a url parameter name which
// should be used on IdP's login page with user's email as a value to autofill
// the username.
optional string url_parameter_to_autofill_saml_username = 1;
}
message RebootOnShutdownProto {
// Determines whether the device automatically reboots whenever the user shuts
// it down. If this flag is set to true, shutdown is forbidden and UI elements
// trigger a device reboot instead of a power off. This policy affects
// shutdowns triggered from the UI only. If the user shuts down the device
// using the power button, it will not automatically reboot, even if the
// policy is enabled.
optional bool reboot_on_shutdown = 1 [default = false];
}
// Settings that control whether a device would send heartbeat messages to GCM,
// and how frequently to send these.
message DeviceHeartbeatSettingsProto {
// Whether the device should send heartbeat messages. The default is false.
optional bool heartbeat_enabled = 1 [default = false];
// How frequently devices send heartbeats back to server. The unit is in
// milliseconds. The default is 2 minutes.
optional int64 heartbeat_frequency = 2 [default = 120000];
}
message ExtensionCacheSizeProto {
// Specifies the maximum extension cache size, in bytes. The default is 256
// MiB. The minimum allowed value is 1 MiB, smaller values will get ignored.
optional int64 extension_cache_size = 1;
}
message LoginScreenDomainAutoCompleteProto {
// If this policy is not configured or set to a blank string,
// no autocomplete option during user sign-in flow will be shown.
// If this policy is set to a string representing a domain name, an
// autocomplete option during user sign-in will be shown allowing the user
// to type in only their user name without the domain name extension. The user
// will be able to overwrite this domain name extension.
optional string login_screen_domain_auto_complete = 1;
}
// Settings that control whether a device would send system logs to the server.
message DeviceLogUploadSettingsProto {
// Whether the device should send system logs. The default is false.
optional bool system_log_upload_enabled = 1 [default = false];
}
// This setting is controlled by the device policy DisplayRotationDefault.
// If the policy is set and therefore display_rotation_default contains a value,
// all displays will be rotated clockwise to the specified orientation at
// reboot, when first connected, or when the setting is changed.
// If the optional field |Rotation display_rotation_default = 1| is not present,
// no changes are done to the rotation.
message DisplayRotationDefaultProto {
// This enum corresponds to gfx::Display::Rotation in ui/gfx/display.h.
enum Rotation {
ROTATE_0 = 0;
ROTATE_90 = 1;
ROTATE_180 = 2;
ROTATE_270 = 3;
}
optional Rotation display_rotation_default = 1;
}
// This setting is controlled by the device policy
// DeviceLoginScreenPrivacyScreenEnabled.
message DeviceLoginScreenPrivacyScreenEnabledProto {
optional bool enabled = 1 [default = false];
}
// This setting is configured by the device policy DeviceDisplayResolution.
// If |device_display_resolution| contains a value, then it's treated as a JSON
// object that uses the schema defined for DeviceDisplayResolution policy.
// Example of the policy value:
// {
// "external_width": 1920,
// "external_height": 1080,
// "external_scale_percentage": 50,
// "internal_scale_percentage": 150,
// "recommended": true
// }
// It sets a 1920x1080 display mode for any external displays and
// scales them to 50%, also scales the built-in display to 150%.
// If "recommended" flag is set to true, user is able to override
// any settings via the settings page.
message DeviceDisplayResolutionProto {
optional string device_display_resolution = 1;
}
// Settings that control whether to allow Chrome to be pinned to a specific
// version according to the auto-launched kiosk app’s requirement.
message AllowKioskAppControlChromeVersionProto {
optional bool allow_kiosk_app_control_chrome_version = 1 [default = false];
}
// Settings that control the flow of the login authentication to be either via
// GAIA (default), or via an interstitial screen that can redirect to a SAML IdP
// endpoint or return back to the default GAIA flow.
message LoginAuthenticationBehaviorProto {
enum LoginBehavior {
GAIA = 0;
SAML_INTERSTITIAL = 1;
}
optional LoginBehavior login_authentication_behavior = 1 [default = GAIA];
}
// Identifiers of a USB device or device family.
message UsbDeviceIdProto {
// USB Vendor Identifier (aka idVendor).
optional int32 vendor_id = 1;
// USB Product Identifier (aka idProduct).
optional int32 product_id = 2;
}
// This setting contains the list of USB devices to detach from the kernel
// drivers in order to use them in web applications.
// The list is used by the permission_broker daemon.
message UsbDetachableWhitelistProto {
repeated UsbDeviceIdProto id = 1;
}
// Identifiers of a USB device or device family.
message UsbDeviceIdInclusiveProto {
// USB Vendor Identifier (aka idVendor).
optional int32 vendor_id = 1;
// USB Product Identifier (aka idProduct).
optional int32 product_id = 2;
}
// This setting contains the list of USB devices to detach from the kernel
// drivers in order to use them in web applications.
// The list is used by the permission_broker daemon.
message UsbDetachableAllowlistProto {
repeated UsbDeviceIdInclusiveProto id = 1;
}
message AllowBluetoothProto {
// Policy which controls whether Bluetooth is available.
optional bool allow_bluetooth = 1 [default = true];
}
message DeviceWiFiAllowedProto {
// Policy which controls the ability to connect to wireless networks.
optional bool device_wifi_allowed = 1 [default = true];
}
// Settings that control whether a device can download hardware configuration
// files from the Quirks Server.
message DeviceQuirksDownloadEnabledProto {
optional bool quirks_download_enabled = 1;
}
// A list of security origins for SAML login pages that are allowed to
// access the webcam. No login pages will be allowed to access the
// webcam if the list is empty.
message LoginVideoCaptureAllowedUrlsProto {
repeated string urls = 1;
}
// Settings that control whether a device can connect to a 802.11r enabled
// WiFi network.
message DeviceWiFiFastTransitionEnabledProto {
optional bool device_wifi_fast_transition_enabled = 1;
}
message NetworkThrottlingEnabledProto {
optional bool enabled = 1 [default = false];
optional int32 upload_rate_kbits = 2 [default = 0];
optional int32 download_rate_kbits = 3 [default = 0];
}
// A list of apps or extensions to install from the webstore on the login page.
// It is a list of strings, each string contains an extension ID and an update
// URL, delimited by a semicolon.
message DeviceLoginScreenExtensionsProto {
repeated string device_login_screen_extensions = 1;
}
// A boolean indicate if manifest v2 extension is available.
message LoginScreenExtensionManifestV2AvailabilityProto {
enum Availability {
DEFAULT = 0;
DISABLE = 1;
ENABLE = 2;
ENABLE_FOR_FORCED_EXTENSIONS = 3;
}
optional Availability login_screen_extension_manifest_v2_availability = 1;
}
// A list of allowed locales on the login screen.
message LoginScreenLocalesProto {
repeated string login_screen_locales = 1;
}
// A list of allowed input methods on the login screen.
message LoginScreenInputMethodsProto {
repeated string login_screen_input_methods = 1;
}
// The url and hash specified in JSON format that can be used to set the
// device-level wallpaper on the login screen before any user logs in.
message DeviceWallpaperImageProto {
optional string device_wallpaper_image = 1;
}
message DeviceScreensaverLoginScreenIdleTimeoutSecondsProto {
optional int64 device_screensaver_login_screen_idle_timeout_seconds = 1;
};
message DeviceScreensaverLoginScreenImageDisplayIntervalSecondsProto {
optional int64
device_screensaver_login_screen_image_display_interval_seconds = 1;
};
// A list of URLs referencing the images to be displayed on the
// sign-in screen screensaver.
message DeviceScreensaverLoginScreenImagesProto {
repeated string device_screensaver_login_screen_images = 1;
};
message DeviceScreensaverLoginScreenEnabledProto {
optional bool device_screensaver_login_screen_enabled = 1;
};
message DeviceSystemAecEnabledProto {
optional bool device_system_aec_enabled = 1;
};
// Migration strategy for the case when ARC(N+) needs the ext4 encryption while
// the device used ecryptfs in the past.
message DeviceEcryptfsMigrationStrategyProto {
enum MigrationStrategy {
// Default value, unspecified.
UNSET = 0;
// ARC is not allowed, no data migration needed.
DISALLOW_ARC = 1;
// The data migration is allowed, opening the possibility to use ARC.
ALLOW_MIGRATION = 2;
}
optional MigrationStrategy migration_strategy = 1;
}
// This setting controls how the on-board secure element hardware can be used
// to provide a second-factor authentication in addition to the TPM
// functionality.
message DeviceSecondFactorAuthenticationProto {
enum U2fMode {
// Default value, unspecified.
UNSET = 0;
// Feature disabled.
DISABLED = 1;
// U2F as defined by the FIDO Alliance specification:
// https://fidoalliance.org/specs/fido-u2f-v1.1-id-20160915.zip
U2F = 2;
// U2F plus extensions for individual attestation certificate.
U2F_EXTENDED = 3;
}
optional U2fMode mode = 1;
}
message CastReceiverNameProto {
// The name advertised as a Google Cast destination by the device,
// up to 24 characters. If the name is empty, the device name will
// be used.
optional string name = 1;
}
// Day of the week and time in milliseconds since the start of the day.
message WeeklyTimeProto {
enum DayOfWeek {
DAY_OF_WEEK_UNSPECIFIED = 0;
MONDAY = 1;
TUESDAY = 2;
WEDNESDAY = 3;
THURSDAY = 4;
FRIDAY = 5;
SATURDAY = 6;
SUNDAY = 7;
}
// Day of week.
optional DayOfWeek day_of_week = 1;
// Time of day in milliseconds from beginning of the day.
optional int32 time = 2;
}
// Start and end of an interval represented by WeeklyTimes
message WeeklyTimeIntervalProto {
optional WeeklyTimeProto start = 1;
optional WeeklyTimeProto end = 2;
}
// Allow less restricted using of Chromebooks that are managed by school,
// while the device is not at school ("OffHours").
message DeviceOffHoursProto {
// List of intervals when ignored policies are not applied. These intervals
// are in the timezone specified by the timezone string.
repeated WeeklyTimeIntervalProto intervals = 1;
// Timezone in the same format as SystemTimezoneProto.timezone.
optional string timezone = 2;
// List of policy proto tags which settings are ignored during OffHours
// mode. List contains policy proto tags from ChromeDeviceSettingsProto
// (i.e. proto tag = 1 means device_policy_refresh_rate policy).
// Proto tags are used because they are consistent identifiers.
// During OffHoursMode default settings of ignored policies are used.
repeated int32 ignored_policy_proto_tags = 3;
}
// The url and hash specified in JSON format that can be used to retrieve
// the device-level printers configuration file.
message DeviceNativePrintersProto {
// External policy blob encoded as JSON.
optional string external_policy = 1;
}
// The policy which determines the type of access restriction that is applied to
// the devicel-level printers list.
message DeviceNativePrintersAccessModeProto {
enum AccessMode {
ACCESS_MODE_BLACKLIST = 0; // Use NatvePrintersBlacklistProto.
ACCESS_MODE_WHITELIST = 1; // Use NaviePrintersWhitelistProto.
ACCESS_MODE_ALL = 2; // Allow access to all specified printers.
}
// The type of access which is applied to the device-level printer list.
optional AccessMode access_mode = 1;
}
// A collection of ids defining the printers which are explicitly disallowed for
// the device.
message DeviceNativePrintersBlacklistProto {
// A collection of ids for which are explicitly disallowed.
repeated string blacklist = 1;
}
// A collection of ids defining the printers which are explicitly allowed for
// the device.
message DeviceNativePrintersWhitelistProto {
// A collection of ids for the list of printers which are accessible.
repeated string whitelist = 1;
}
// The url and hash specified in JSON format that can be used to retrieve
// the device-level printers configuration file.
message DevicePrintersProto {
// External policy blob encoded as JSON.
optional string external_policy = 1;
}
// A collection of ids for the list of print servers which are accessible.
// The policy which determines the type of access restriction that is applied to
// the devicel-level printers list.
message DevicePrintersAccessModeProto {
enum AccessMode {
ACCESS_MODE_BLOCKLIST = 0; // Use DevicePrintersBlocklistProto.
ACCESS_MODE_ALLOWLIST = 1; // Use DevicePrintersAllowlistProto.
ACCESS_MODE_ALL = 2; // Allow access to all specified printers.
}
// The type of access which is applied to the device-level printer list.
optional AccessMode access_mode = 1;
}
// A collection of ids defining the printers which are explicitly disallowed for
// the device.
message DevicePrintersBlocklistProto {
// A collection of ids for which are explicitly disallowed.
repeated string blocklist = 1;
}
// A collection of ids defining the printers which are explicitly allowed for
// the device.
message DevicePrintersAllowlistProto {
// A collection of ids for the list of printers which are accessible.
repeated string allowlist = 1;
}
// The url and hash specified in JSON format that can be used to retrieve
// the device-level external print servers configuration file.
message DeviceExternalPrintServersProto {
// External policy blob encoded as JSON.
optional string external_policy = 1;
}
// A collection of ids defining the external print servers which are explicitly
// allowed for the device.
message DeviceExternalPrintServersAllowlistProto {
// A collection of ids for the list of print servers which are accessible.
repeated string allowlist = 1;
}
// Settings to control the behavior of the TPM firmware update functionality.
message TPMFirmwareUpdateSettingsProto {
// Whether the user is allowed to invoke the update via powerwash. This flow
// performs a powerwash operation (which implies a TPM clear), followed by
// installation of the TPM firmware update. As a result of the powerwash, all
// writable data on the device will be cleared.
optional bool allow_user_initiated_powerwash = 1;
// Whether the user is allowed to invoke a variant of the update flow that
// clears the TPM to install the firmware update, but preserves device-wide
// state (including enrollment). User data will not be preserved in this flow.
optional bool allow_user_initiated_preserve_device_state = 2;
enum AutoUpdateMode {
// No value set. Default is NEVER.
AUTO_UPDATE_MODE_UNSPECIFIED = 0;
// Don't auto update TPM firmware.
NEVER = 1;
// Update firmware at the next reboot after user acknowledges the update.
USER_ACKNOWLEDGMENT = 2;
// Update firmware at the next reboot.
WITHOUT_ACKNOWLEDGMENT = 3;
// Update firmware after enrollment.
ENROLLMENT = 4;
}
// Controls how automatic firmware updates are enforced for vulnerable
// firmware. All flows preserve local device state.
optional AutoUpdateMode auto_update_mode = 3 [default = NEVER];
}
// Settings to control the minimum version that is allowed to sign in / stay
// in session. This is now deprecated from M82 onwards.
message OBSOLETE_MinimumRequiredVersionProto {
// Value is chrome_version string, e.g. 61.0.3163.120
// The client will use prefix matching to compare its version against the
// value of this field.
optional string OBSOLETE_chrome_version = 1 [deprecated = true];
}
// Specifies a list of rules to automatically select certificates on SAML IdP
// pages on the sign-in screen.
message DeviceLoginScreenAutoSelectCertificateForUrls {
// Each entry is one rule, which must be a stringified JSON dictionary.
// Each dictionary must have the form { "pattern": "$URL_PATTERN", "filter" :
// $FILTER }. $FILTER restricts from which client certificates the browser
// will automatically select. Independent of the filter, only certificates
// will be selected that match the server's certificate request. If $FILTER
// has the form { "ISSUER": { "CN": "$ISSUER_CN" } }, additionally only client
// certificates are selected that are issued by a certificate with the
// CommonName $ISSUER_CN. If $FILTER is the empty dictionary {}, the selection
// of client certificates is not additionally restricted.
repeated string login_screen_auto_select_certificate_rules = 1;
}
// Setting that controls whether unaffiliated users are allowed to use ARC
// (true by default)
message UnaffiliatedArcAllowedProto {
optional bool unaffiliated_arc_allowed = 1;
}
// Allowed encryption types for requesting Kerberos tickets from Active
// Directory servers. Applies to Active Directory management mode only.
message DeviceKerberosEncryptionTypesProto {
enum Types {
ENC_TYPES_ALL = 0; // AES + RC4_HMAC.
ENC_TYPES_STRONG = 1; // AES only.
ENC_TYPES_LEGACY = 2; // RC4_HMAC only.
// Next ID to use: 3
}
optional Types types = 1 [default = ENC_TYPES_STRONG];
}
// Mirrors BacklightColor from the personalization_app.mojom
message KeyboardBacklightColorProto {
enum BacklightColor {
BACKLIGHT_UNSPECIFIED = 0; // Default value for the keyboard color.
BACKLIGHT_WHITE = 1;
BACKLIGHT_RED = 2;
BACKLIGHT_YELLOW = 3;
BACKLIGHT_GREEN = 4;
BACKLIGHT_BLUE = 5;
BACKLIGHT_INDIGO = 6;
BACKLIGHT_PURPLE = 7;
BACKLIGHT_RAINBOW =
100; // Match values in personalization_app.mojom-shared.h
// Next ID to use: 101
}
optional BacklightColor color = 1 [default = BACKLIGHT_UNSPECIFIED];
}
// Specifies how user policy from device GPOs interacts with user policy from
// user GPOs. In 'MERGE' mode, device GPOs take preference in case of conflicts.
// Applies to Active Directory management mode only.
message DeviceUserPolicyLoopbackProcessingModeProto {
enum Mode {
USER_POLICY_MODE_DEFAULT = 0; // Only take user policy from user GPOs.
USER_POLICY_MODE_MERGE = 1; // Merge device GPOs on top of user GPOs.
USER_POLICY_MODE_REPLACE = 2; // Only take user policy from device GPOs.
// Next ID to use: 3
}
optional Mode mode = 1 [default = USER_POLICY_MODE_DEFAULT];
}
// Specifies a list of origins. Each of the specified origins will run in its
// own process on the sign-in screen.
message OBSOLETE_DeviceLoginScreenIsolateOriginsProto {
// A comma-separated list of the origins to be run in a separate process on
// the sign-in screen.
// If the value of this policy does not match the value of the user policy
// IsolateOrigins, the chrome process will be restarted on user sign-in to
// apply the value specified by the user policy.
optional string OBSOLETE_isolate_origins = 1 [deprecated = true];
}
// Specifies if each site should run in its own process on the sign-in screen.
message OBSOLETE_DeviceLoginScreenSitePerProcessProto {
// If true, each site will run in its own process on the sign-in screen.
// If the value of this policy does not match the value of the user policy
// SitePerProcess, the chrome process will be restarted on user sign-in to
// apply the value specified by the user policy.
optional bool OBSOLETE_site_per_process = 1 [deprecated = true];
}
// Setting to control if running virtual machines on Chrome OS is allowed.
message VirtualMachinesAllowedProto {
optional bool virtual_machines_allowed = 1;
}
// Specifies if and how often Active Directory machine (computer) account
// passwords are changed in the AuthPolicy daemon in Chrome OS.
// Applies to Active Directory management mode only.
message DeviceMachinePasswordChangeRateProto {
optional int32 rate_days = 1;
}
// Specifies how long cached Active Directory Group Policy Objects (GPOs) may be
// reused until they are re-downloaded (a version change also forces a
// re-download).
// Applies to Active Directory management mode only.
message DeviceGpoCacheLifetimeProto {
optional int32 lifetime_hours = 1;
}
// Specifies how long cached Active Directory authentication data may be reused
// until it is refreshed. This can significantly speed up user authentication.
// Applies to Active Directory management mode only.
message DeviceAuthDataCacheLifetimeProto {
optional int32 lifetime_hours = 1;
}
// Setting that controls whether unaffiliated users are allowed to run Crostini
// (true by default)
message DeviceUnaffiliatedCrostiniAllowedProto {
optional bool device_unaffiliated_crostini_allowed = 1;
}
// Setting that controls whether PluginVm is allowed to run on this device.
message PluginVmAllowedProto {
optional bool plugin_vm_allowed = 1;
}
// Setting that specifies PluginVm license key for this device.
message PluginVmLicenseKeyProto {
optional string plugin_vm_license_key = 1;
}
// Setting that controls whether the device should reboot when user sign out.
message DeviceRebootOnUserSignoutProto {
enum RebootOnSignoutMode {
// No value set. Default is NEVER.
REBOOT_ON_SIGNOUT_MODE_UNSPECIFIED = 0;
// Do not reboot on signout.
NEVER = 1;
// Reboot on signout if an ARC session was active during the user session.
ARC_SESSION = 2;
// Always reboot on signout.
ALWAYS = 3;
// Reboot on signout if an ARC session was active or a VM was started
// during the user session.
VM_STARTED_OR_ARC_SESSION = 4;
}
optional RebootOnSignoutMode reboot_on_signout_mode = 1 [default = NEVER];
}
// Obsolete: This policy is not supported starting with M-122.
// Setting that controls whether wilco diagnostics and telemetry controller is
// allowed on this device.
// TODO(b/328547362): Add obsolete prefix after server-side usages are removed.
message DeviceWilcoDtcAllowedProto {
optional bool device_wilco_dtc_allowed = 1;
}
// Obsolete: This policy is not supported starting with M-122.
// Setting that specifies wilco diagnostics and telemetry controller
// configuration for this device.
// TODO(b/328547362): Add obsolete prefix after server-side usages are removed.
message DeviceWilcoDtcConfigurationProto {
optional string device_wilco_dtc_configuration = 1;
}
// Settings that control power peak shift policy.
message DevicePowerPeakShiftProto {
// Setting that controls whether power peak shift is enabled on this device.
// For details see DevicePowerPeakShiftEnabled.yaml.
optional bool enabled = 1;
// Setting that controls power peak shift battery threshold on this device.
// For details see DevicePowerPeakShiftBatteryThreshold.yaml.
optional int32 battery_threshold = 2;
// Setting that controls power peak shift day configs on this device.
// This is a JSON string, for details see DevicePowerPeakShiftDayConfig.yaml.
optional string day_configs = 3;
}
// Settings that control boot on AC policy.
message DeviceBootOnAcProto {
// Setting that controls whether boot on AC is enabled on this device.
optional bool enabled = 1;
}
// Settings that control device's dock MAC address source.
message DeviceDockMacAddressSourceProto {
enum Source {
SOURCE_UNSPECIFIED = 0;
// Device's designated dock MAC address.
DEVICE_DOCK_MAC_ADDRESS = 1;
// Device's built-in NIC MAC address.
DEVICE_NIC_MAC_ADDRESS = 2;
// Dock's built-in NIC MAC address.
DOCK_NIC_MAC_ADDRESS = 3;
}
optional Source source = 1;
}
// Settings that control advanced battery charge mode policy.
message DeviceAdvancedBatteryChargeModeProto {
// Setting that controls whether advanced battery charge mode is enabled on
// this device.
// For details see DeviceAdvancedBatteryChargeModeEnabled.yaml.
optional bool enabled = 1;
// Setting that controls advanced battery charge mode day config on this
// device.
// This is a JSON string, for details see
// DeviceAdvancedBatteryChargeModeDayConfig.yaml.
optional string day_configs = 2;
}
// Settings that control battery charge mode policy.
message DeviceBatteryChargeModeProto {
enum BatteryChargeMode {
MODE_UNSPECIFIED = 0;
STANDARD = 1;
EXPRESS_CHARGE = 2;
PRIMARILY_AC_USE = 3;
ADAPTIVE = 4;
CUSTOM = 5;
}
// Setting that controls battery charge mode on this device.
// For details see DeviceBatteryChargeMode.yaml.
optional BatteryChargeMode battery_charge_mode = 1;
// Percent at which charging starts when using CUSTOM.
// For details see DeviceBatteryChargeCustomStartCharging.yaml.
optional int32 custom_charge_start = 2;
// Percent at which charging stops when using CUSTOM.
// For details see DeviceBatteryChargeCustomStopCharging.yaml.
optional int32 custom_charge_stop = 3;
}
// Settings that control USB power share policy.
message DeviceUsbPowerShareProto {
// Setting that controls whether USB power share is enabled on this device.
optional bool enabled = 1;
}
// Settings that control when a device will wake up and check for updates. These
// checks are recurring. In order to disable a set schedule the policy must be
// removed.
message DeviceScheduledUpdateCheckProto {
// This is a JSON string, for details see DeviceScheduledUpdateCheck.yaml.
optional string device_scheduled_update_check_settings = 1;
}
// Settings that control if the device is allowed to powerwash.
message DevicePowerwashAllowedProto {
// Determines if powerwash is allowed on the device.
optional bool device_powerwash_allowed = 1;
}
// Settings that controls which devices are whitelisted for certain urls to be
// used via the WebUSB API on the login screen.
message DeviceLoginScreenWebUsbAllowDevicesForUrlsProto {
// This is a JSON string, for details see
// DeviceLoginScreenWebUsbAllowDevicesForUrls.yaml.
optional string device_login_screen_webusb_allow_devices_for_urls = 1;
}
// Settings that control the availability of System-proxy service and the web
// proxy credentials for system services connecting through System-proxy.
message SystemProxySettingsProto {
// This is a JSON string, for details see SystemProxySettings.yaml.
optional string system_proxy_settings = 1;
}
// Settings that control what certificates should be privisioned via DM server.
message RequiredClientCertificateForDeviceProto {
// This is a JSON string, for details see
// RequiredClientCertificateForDevice.yaml.
optional string required_client_certificate_for_device = 1;
}
// Setting that controls whether ARC ADB sideloading is allowed for the device.
message DeviceCrostiniArcAdbSideloadingAllowedProto {
enum AllowanceMode {
DISALLOW = 0;
DISALLOW_WITH_POWERWASH = 1;
ALLOW_FOR_AFFILIATED_USERS = 2;
// Next ID to use: 3
}
optional AllowanceMode mode = 1 [default = DISALLOW];
}
message DeviceShowLowDiskSpaceNotificationProto {
optional bool device_show_low_disk_space_notification = 1;
}
// Setting that controls whether all Family Link accounts are allowed on the
// device additionally to the accounts listed in UserAllowlistProto.
message DeviceFamilyLinkAccountsAllowedProto {
optional bool family_link_accounts_allowed = 1 [default = false];
}
// Setting that controls whether ARC data snapshotting is enabled for the device
// and time intervals of updating ARC data snapshot.
message OBSOLETE_DeviceArcDataSnapshotHoursProto {
// This is a JSON string, for details see
// DeviceArcDataSnapshotHours.yaml.
optional string OBSOLETE_arc_data_snapshot_hours = 1 [deprecated = true];
}
// Setting that controls whether system-wide trace collection using the Perfetto
// system tracing service is allowed.
message DeviceSystemWideTracingEnabledProto {
optional bool enabled = 1 [default = false];
}
// Setting that controls whether data access is enabled for Thunderbolt/USB4
// peripherals. This proto is no longer being used, please use
// DevicePciPeripheralDataAccessEnabledProtoV2.
message DevicePciPeripheralDataAccessEnabledProto {
optional bool enabled = 1 [default = false];
}
// Setting that controls whether data access is enabled for Thunderbolt/USB4
// peripherals. This replaces DevicePciPeripheralDataAccessEnabledProto. Used
// only for the associated CrosSetting.
message DevicePciPeripheralDataAccessEnabledProtoV2 {
optional bool enabled = 1;
}
// Setting that controls whether Borealis will be allowed on the device.
message OBSOLETE_DeviceBorealisAllowedProto {
optional bool allowed = 1 [default = true];
}
message DeviceAllowedBluetoothServicesProto {
// Policy which controls which service UUID is available.
repeated string allowlist = 1;
}
// Policy that controls whether packet captures will be allowed on the device.
message DeviceDebugPacketCaptureAllowedProto {
optional bool allowed = 1;
}
// Settings that control when a device will reboot. The reboots are
// recurring. In order to disable scheduled reboots the policy must be
// removed.
message DeviceScheduledRebootProto {
// This is a JSON string, for details see DeviceScheduledReboot.yaml.
optional string device_scheduled_reboot_settings = 1;
}
// Setting that controls whether restricted managed guest session is enabled on
// the device.
message DeviceRestrictedManagedGuestSessionEnabledProto {
// If this policy is set to true, it will forcefully override certain
// policies. If it's set to false or not set, then no policies will be
// overridden.
optional bool enabled = 1 [default = false];
}
// Setting that controls whether keyboard shortcuts mapping are consistent
// across all international keyboard layouts.
message DeviceI18nShortcutsEnabledProto {
optional bool enabled = 1 [default = true];
}
// reven board collects hardware data of the device to provide relevant updates.
// Setting that controls whether device hardware data can be also used for other
// purposes.
message RevenDeviceHWDataUsageEnabledProto {
optional bool hardware_data_usage_enabled = 1 [default = false];
}
// Setting that controls different configurations for the Encrypted Reporting
// Pipeline.
message EncryptedReportingPipelineConfigurationProto {
// Controls overall functioning of Encrypted Reporting Pipeline: setting it to
// false would disable the pipeline on a device
optional bool enabled = 1 [default = true];
}
message DeviceReportXDREventsProto {
optional bool enabled = 1 [default = false];
}
message DeviceLowBatterySoundProto {
optional bool enabled = 1;
}
message DeviceChargingSoundsProto {
optional bool enabled = 1;
}
message DeviceSwitchFunctionKeysBehaviorEnabledProto {
optional bool enabled = 1;
}
message DeviceFlexHwDataForProductImprovementEnabledProto {
// Enable sending hardware data specifically for product improvement on
// managed ChromeOS Flex devices.
optional bool enabled = 1 [default = true];
}
// Mirrors ExtendedFkeysModifier from the extended_fkeys_modifier.mojom
message OBSOLETE_ExtendedFkeysModifierProto {
enum OBSOLETE_ExtendedFkeysModifier {
OBSOLETE_DISABLED = 0; // Default value for the F11/F12 settings.
OBSOLETE_ALT = 1;
OBSOLETE_SHIFT = 2;
OBSOLETE_CTRL_SHIFT = 3;
}
optional OBSOLETE_ExtendedFkeysModifier OBSOLETE_modifier = 1
[default = OBSOLETE_DISABLED];
}
message ChromeDeviceSettingsProto {
reserved 61, 71, 90, 131;
optional DevicePolicyRefreshRateProto device_policy_refresh_rate = 1;
optional UserWhitelistProto user_whitelist = 2;
optional GuestModeEnabledProto guest_mode_enabled = 3;
optional OBSOLETE_DeviceProxySettingsProto device_proxy_settings = 4
[deprecated = true];
optional CameraEnabledProto camera_enabled = 5;
optional ShowUserNamesOnSigninProto show_user_names = 6;
optional DataRoamingEnabledProto data_roaming_enabled = 7;
optional AllowNewUsersProto allow_new_users = 8;
optional MetricsEnabledProto metrics_enabled = 9;
optional ReleaseChannelProto release_channel = 10;
optional DeviceOpenNetworkConfigurationProto open_network_configuration = 11;
optional DeviceReportingProto device_reporting = 12;
optional EphemeralUsersEnabledProto ephemeral_users_enabled = 13;
optional OBSOLETE_AppPackProto app_pack = 14 [deprecated = true];
optional OBSOLETE_ForcedLogoutTimeoutsProto forced_logout_timeouts = 15
[deprecated = true];
optional OBSOLETE_ScreenSaverProto login_screen_saver = 16
[deprecated = true];
optional AutoUpdateSettingsProto auto_update_settings = 17;
optional OBSOLETE_StartUpUrlsProto start_up_urls = 18 [deprecated = true];
optional OBSOLETE_PinnedAppsProto pinned_apps = 19 [deprecated = true];
optional SystemTimezoneProto system_timezone = 20;
optional DeviceLocalAccountsProto device_local_accounts = 21;
optional AllowRedeemChromeOsRegistrationOffersProto allow_redeem_offers = 22;
optional FeatureFlagsProto feature_flags = 23;
optional UptimeLimitProto uptime_limit = 24;
optional VariationsParameterProto variations_parameter = 25;
optional AttestationSettingsProto attestation_settings = 26;
optional AccessibilitySettingsProto accessibility_settings = 27;
optional OBSOLETE_SupervisedUsersSettingsProto supervised_users_settings = 28
[deprecated = true];
optional LoginScreenPowerManagementProto login_screen_power_management = 29;
optional SystemUse24HourClockProto use_24hour_clock = 30;
optional AutoCleanupSettigsProto auto_clean_up_settings = 31;
optional SystemSettingsProto system_settings = 32;
optional SAMLSettingsProto saml_settings = 33;
optional RebootOnShutdownProto reboot_on_shutdown = 34;
optional DeviceHeartbeatSettingsProto device_heartbeat_settings = 35;
optional ExtensionCacheSizeProto extension_cache_size = 36;
optional LoginScreenDomainAutoCompleteProto
login_screen_domain_auto_complete = 37;
optional DeviceLogUploadSettingsProto device_log_upload_settings = 38;
optional DisplayRotationDefaultProto display_rotation_default = 39;
optional AllowKioskAppControlChromeVersionProto
allow_kiosk_app_control_chrome_version = 40;
optional LoginAuthenticationBehaviorProto login_authentication_behavior = 41;
optional UsbDetachableWhitelistProto usb_detachable_whitelist = 42;
optional AllowBluetoothProto allow_bluetooth = 43;
optional DeviceQuirksDownloadEnabledProto quirks_download_enabled = 44;
optional LoginVideoCaptureAllowedUrlsProto login_video_capture_allowed_urls =
45;
optional DeviceLoginScreenExtensionsProto device_login_screen_extensions = 46;
optional NetworkThrottlingEnabledProto network_throttling = 47;
optional DeviceWallpaperImageProto device_wallpaper_image = 48;
optional LoginScreenLocalesProto login_screen_locales = 49;
optional LoginScreenInputMethodsProto login_screen_input_methods = 50;
optional DeviceEcryptfsMigrationStrategyProto
device_ecryptfs_migration_strategy = 51 [deprecated = true];
optional DeviceSecondFactorAuthenticationProto
device_second_factor_authentication = 52;
optional CastReceiverNameProto cast_receiver_name = 53;
optional DeviceOffHoursProto device_off_hours = 54;
optional DeviceNativePrintersProto native_device_printers = 55;
optional DeviceNativePrintersAccessModeProto
native_device_printers_access_mode = 56;
optional DeviceNativePrintersBlacklistProto native_device_printers_blacklist =
57;
optional DeviceNativePrintersWhitelistProto native_device_printers_whitelist =
58;
optional TPMFirmwareUpdateSettingsProto tpm_firmware_update_settings = 59;
optional OBSOLETE_MinimumRequiredVersionProto minimum_required_version = 60
[deprecated = true];
optional DeviceLoginScreenAutoSelectCertificateForUrls
device_login_screen_auto_select_certificate_for_urls = 62;
optional UnaffiliatedArcAllowedProto unaffiliated_arc_allowed = 63;
optional NetworkHostnameProto network_hostname = 64;
optional DeviceKerberosEncryptionTypesProto device_kerberos_encryption_types =
65;
optional DeviceUserPolicyLoopbackProcessingModeProto
device_user_policy_loopback_processing_mode = 66;
optional OBSOLETE_DeviceLoginScreenIsolateOriginsProto
device_login_screen_isolate_origins = 67 [deprecated = true];
optional OBSOLETE_DeviceLoginScreenSitePerProcessProto
device_login_screen_site_per_process = 68 [deprecated = true];
optional VirtualMachinesAllowedProto virtual_machines_allowed = 69;
optional DeviceMachinePasswordChangeRateProto
device_machine_password_change_rate = 70;
optional DeviceUnaffiliatedCrostiniAllowedProto
device_unaffiliated_crostini_allowed = 72;
optional DeviceWiFiFastTransitionEnabledProto
device_wifi_fast_transition_enabled = 73;
optional DeviceDisplayResolutionProto device_display_resolution = 74;
optional PluginVmAllowedProto plugin_vm_allowed = 75;
optional DeviceGpoCacheLifetimeProto device_gpo_cache_lifetime = 76;
optional DeviceAuthDataCacheLifetimeProto device_auth_data_cache_lifetime =
77;
optional PluginVmLicenseKeyProto plugin_vm_license_key = 78;
optional DeviceRebootOnUserSignoutProto device_reboot_on_user_signout = 79;
optional DeviceWilcoDtcAllowedProto device_wilco_dtc_allowed = 80
[deprecated = true];
optional DeviceWilcoDtcConfigurationProto device_wilco_dtc_configuration = 81
[deprecated = true];
optional DeviceWiFiAllowedProto device_wifi_allowed = 82;
optional DevicePowerPeakShiftProto device_power_peak_shift = 83;
optional DeviceBootOnAcProto device_boot_on_ac = 84;
optional DeviceDockMacAddressSourceProto device_dock_mac_address_source = 85;
optional DeviceAdvancedBatteryChargeModeProto
device_advanced_battery_charge_mode = 86;
optional DeviceBatteryChargeModeProto device_battery_charge_mode = 87;
optional DeviceUsbPowerShareProto device_usb_power_share = 88;
optional DeviceScheduledUpdateCheckProto device_scheduled_update_check = 89;
optional DevicePowerwashAllowedProto device_powerwash_allowed = 91;
optional DeviceLoginScreenWebUsbAllowDevicesForUrlsProto
device_login_screen_webusb_allow_devices_for_urls = 92;
optional BooleanPolicyProto device_login_screen_system_info_enforced = 93;
optional StringListPolicyProto device_web_based_attestation_allowed_urls = 94;
optional BooleanPolicyProto device_show_numeric_keyboard_for_password = 95;
optional BooleanPolicyProto login_screen_primary_mouse_button_switch = 96;
optional StringPolicyProto device_minimum_version = 97;
optional SystemProxySettingsProto system_proxy_settings = 98;
optional IntegerPolicyProto device_chrome_variations_type = 99;
optional DeviceLoginScreenPrivacyScreenEnabledProto
device_login_screen_privacy_screen_enabled = 100;
optional RequiredClientCertificateForDeviceProto
required_client_certificate_for_device = 101;
optional DeviceCrostiniArcAdbSideloadingAllowedProto
device_crostini_arc_adb_sideloading_allowed = 102;
optional StringPolicyProto device_minimum_version_aue_message = 103;
optional ManagedGuestSessionPrivacyWarningsProto
managed_guest_session_privacy_warnings = 104;
optional DeviceExternalPrintServersProto external_print_servers = 105;
optional DeviceExternalPrintServersAllowlistProto
external_print_servers_allowlist = 106;
optional DevicePrintersAccessModeProto device_printers_access_mode = 107;
optional DevicePrintersBlocklistProto device_printers_blocklist = 108;
optional DevicePrintersAllowlistProto device_printers_allowlist = 109;
optional DevicePrintersProto device_printers = 110;
optional DeviceShowLowDiskSpaceNotificationProto
device_show_low_disk_space_notification = 111;
optional UserAllowlistProto user_allowlist = 112;
optional UsbDetachableAllowlistProto usb_detachable_allowlist = 113;
optional DeviceFamilyLinkAccountsAllowedProto family_link_accounts_allowed =
114;
optional OBSOLETE_DeviceArcDataSnapshotHoursProto arc_data_snapshot_hours =
115 [deprecated = true];
optional BooleanPolicyProto device_allow_mgs_to_store_display_properties =
116;
optional DeviceSystemWideTracingEnabledProto
device_system_wide_tracing_enabled = 117;
optional DevicePciPeripheralDataAccessEnabledProto
device_pci_peripheral_data_access_enabled = 118;
optional OBSOLETE_DeviceBorealisAllowedProto device_borealis_allowed = 119
[deprecated = true];
optional DeviceAllowedBluetoothServicesProto
device_allowed_bluetooth_services = 120;
optional DeviceDebugPacketCaptureAllowedProto
device_debug_packet_capture_allowed = 121;
optional DeviceScheduledRebootProto device_scheduled_reboot = 122;
optional DevicePciPeripheralDataAccessEnabledProtoV2
device_pci_peripheral_data_access_enabled_v2 = 123;
optional DeviceRestrictedManagedGuestSessionEnabledProto
device_restricted_managed_guest_session_enabled = 124;
optional HostnameUserConfigurableProto hostname_user_configurable = 125;
optional BooleanPolicyProto
login_screen_prompt_on_multiple_matching_certificates = 126;
optional BooleanPolicyProto kiosk_crx_manifest_update_url_ignored = 127;
optional DeviceI18nShortcutsEnabledProto device_i18n_shortcuts_enabled = 128;
optional BooleanPolicyProto chromad_to_cloud_migration_enabled = 129;
optional RevenDeviceHWDataUsageEnabledProto hardware_data_usage_enabled = 130;
optional DeviceKeylockerForStorageEncryptionEnabledProto
keylocker_for_storage_encryption_enabled = 132;
optional BooleanPolicyProto device_run_automatic_cleanup_on_login = 133;
optional EncryptedReportingPipelineConfigurationProto
device_encrypted_reporting_pipeline_enabled = 134;
optional SAMLUsernameProto saml_username = 135;
optional StringListPolicyProto
device_login_screen_context_aware_access_signals_allowlist = 136;
optional StringPolicyProto device_printing_client_name_template = 137;
optional DeviceReportXDREventsProto device_report_xdr_events = 138;
optional KeyboardBacklightColorProto keyboard_backlight_color = 139;
optional DeviceHindiInscriptLayoutEnabledProto
device_hindi_inscript_layout_enabled = 140;
optional LoginScreenExtensionManifestV2AvailabilityProto
login_screen_extension_manifest_v2_availability = 141;
optional DeviceScreensaverLoginScreenEnabledProto
device_screensaver_login_screen_enabled = 142;
optional DeviceScreensaverLoginScreenIdleTimeoutSecondsProto
device_screensaver_login_screen_idle_timeout_seconds = 143;
optional DeviceScreensaverLoginScreenImageDisplayIntervalSecondsProto
device_screensaver_login_screen_image_display_interval_seconds = 144;
optional DeviceScreensaverLoginScreenImagesProto
device_screensaver_login_screen_images = 145;
optional DeviceSystemAecEnabledProto device_system_aec_enabled = 146;
optional DeviceLoginScreenGeolocationAccessLevelProto
device_login_screen_geolocation_access_level = 147;
optional StringPolicyProto device_login_screen_webhid_allow_devices_for_urls =
148;
optional DeviceLowBatterySoundProto device_low_battery_sound = 149;
optional DeviceChargingSoundsProto device_charging_sounds = 150;
optional StringListPolicyProto device_authentication_url_blocklist = 151;
optional StringListPolicyProto device_authentication_url_allowlist = 152;
optional DeviceSwitchFunctionKeysBehaviorEnabledProto
device_switch_function_keys_behavior_enabled = 153;
optional StringListPolicyProto device_dlc_predownload_list = 154;
optional BooleanPolicyProto device_ephemeral_network_policies_enabled = 155;
optional OBSOLETE_ExtendedFkeysModifierProto extended_fkeys_modifier = 156
[deprecated = true];
optional DeviceFlexHwDataForProductImprovementEnabledProto
device_flex_hw_data_for_product_improvement_enabled = 157;
// New rules for device policies (see
// go/device-policy-generation-future-proofing):
// * All device policies should use common types (see
// policy_common_definitions.proto).
// * Field names should be the policy name (no underscores).
// * Field ID should be the policy ID.
optional BooleanPolicyProto DeviceHardwareVideoDecodingEnabled = 1185;
optional BooleanPolicyProto DeviceLoginScreenTouchVirtualKeyboardEnabled =
1194;
optional BooleanPolicyProto DeviceExtendedAutoUpdateEnabled = 1195;
optional StringPolicyProto DeviceWeeklyScheduledSuspend = 1209;
optional IntegerPolicyProto DeviceAuthenticationFlowAutoReloadInterval = 1247;
optional BooleanPolicyProto DeviceExtensionsSystemLogEnabled = 1252;
optional BooleanPolicyProto DeviceAllowEnterpriseRemoteAccessConnections =
1268;
optional BooleanPolicyProto DevicePostQuantumKeyAgreementEnabled = 1276;
optional StringPolicyProto DeviceRestrictionSchedule = 1290;
optional BooleanPolicyProto DeviceNativeClientForceAllowed = 1314
[deprecated = true];
optional IntegerPolicyProto DevicePowerBatteryChargingOptimization = 1319;
optional BooleanPolicyProto DeviceFlexArcPreloadEnabled = 1320;
optional BooleanPolicyProto DeviceUserInitiatedFirmwareUpdatesEnabled = 1356;
}
|