Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

AI agents should receive a distinct, accountable identity, the smallest permissions needed for an approved task, tightly bounded tools, and continuous review. Start by deciding whether the agent acts for a signed-in user or runs autonomously, then assign only the required API, data, action, and resource rights. Protect its credentials, require fresh approval for consequential operations, connect every action to an initiating identity, and rehearse disabling the agent and removing its grants.

Microsoft Entra Agent ID and Azure provide a concrete implementation pattern, but their controls are not universal. Other platforms may use different identity, policy, and logging models. The principles below remain useful, while each platform’s current feature availability, licensing, and role restrictions must be verified before deployment.

What an AI agent access-control design must answer

An agent can read data, call APIs, change records, send messages, or trigger infrastructure without a person clicking every step. Traditional user-access assumptions therefore leave important questions unanswered. Before granting access, document six decisions:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Identity: What principal appears in tokens and logs, and can administrators distinguish this agent from users, services, and other agents?
  • Accountability: Who sponsors the agent, owns its data and tools, approves changes, and accepts its operational risk?
  • Authority: Is the agent acting within a signed-in user’s authority, or performing an autonomous background job?
  • Scope: Which APIs, records, files, fields, environments, and resources are allowed?
  • Action boundaries: Which operations are read-only, which can modify data, and which require a human confirmation immediately before execution?
  • Lifecycle: How are access reviews, credential rotation, incident response, suspension, and final deletion handled?

Microsoft describes the design principle this way: “Identity controls ensure that every user, agent, workload, plugin, and tool is explicitly identified and authorized before it can access data or perform an action.” Treat that as a gate before autonomy expands, not as a logging task to complete afterward.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Inventory every agent and assign accountability

Create a central inventory that includes agents built in-house, embedded in business applications, hosted by a cloud provider, or assembled on an external platform. An unregistered agent can still hold credentials and create downstream records, so an inventory limited to directory applications is incomplete.

Minimum inventory record

  • Standardized name, unique identifier, lifecycle status, and environment (development, test, or production).
  • Business purpose and a plain-language description of what the agent is permitted to do.
  • Executive sponsor and technical owner, with a named backup for absence.
  • Approved data classes, systems, APIs, tools, and downstream services.
  • Expected triggers, operating schedule, geographic or network constraints, and whether a user is present.
  • Identity type, credential or federation method, token audience, and expiry or rotation process.
  • Permission assignments, resource scopes, approval requirements, and links to deployment records.
  • Logging locations, alert owners, review frequency, and the procedure for emergency disablement.

Use the same naming and status conventions in the directory, orchestration platform, code repository, and monitoring system. A platform-specific framework can supply sponsor and lifecycle fields; where it cannot, store equivalent information in your own governance system. Review the record whenever the workflow, tools, data, or hosting environment changes.

Choose the identity and authority pattern

The first technical choice is whether the agent must preserve a person’s permissions or operate as an independent workload. Do not use a backend identity simply to bypass a user’s denied access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Pattern Use when Authority boundary Credential preference Main audit question
Delegated user access The agent works for a signed-in user on that user’s records, files, or schedule. Downstream services evaluate the user’s allowed access, subject to the delegated scopes. Use the platform’s supported delegated-token flow; avoid adding app-only rights as a workaround. Can logs connect the user, agent, tool call, target resource, and result?
App-only workload access A background job has no active user and performs a defined automation. The application or workload identity receives only the permissions approved for that job. Prefer managed or federated identity where supported; otherwise use a protected certificate-based credential in production. Is the nonhuman principal still limited to the exact automation and resource set?
Managed identity An Azure-hosted workload and its target service both support managed identity. The cloud assigns the workload a service identity without a stored client secret. Use the platform-managed credential and keep its role assignment narrow. Can administrators revoke the identity’s assignments and observe token use?
Federated workload identity A deployment system or external workload can exchange a trusted assertion for a short-lived token. Trust is constrained by the federation subject, audience, environment, and assigned permissions. Use short-lived exchanges and restrict which repositories, workloads, or environments may federate. Can an unexpected issuer, subject, or environment obtain a token?

Delegation is generally the safer default for user-owned data because the downstream service can enforce the user’s boundary. App-only access is appropriate for autonomous processing, but its permissions must be narrower than a broad service administrator role. Managed identity and federation reduce secret handling only when both the hosting and target services support them; they do not make excessive authorization safe.

Design least privilege at every layer

Least privilege is not one role assignment. Effective authority can accumulate across the agent identity, directory roles, API permissions, tool definitions, data filters, cloud RBAC, and downstream applications. Review the combined result rather than inspecting one layer in isolation.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Separate invocation from administration

Most operators need to run an approved agent, not change its identity, instructions, connectors, or permissions. Create distinct roles for invoking an agent and administering its configuration. Assign those roles explicitly to approved principals and keep administrative membership small, time-bound, and reviewable.

Require explicit assignment for sensitive agents

In Microsoft Entra agent identity blueprints, the assignmentRequired setting determines whether a principal must be explicitly assigned before it can access the application. For a sensitive agent, enabling this setting prevents any directory user or service that discovers the application from invoking it by default. Confirm the setting on each production blueprint and test both an assigned and an unassigned principal.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Scope cloud roles to the smallest resource

For Azure resources, assign RBAC at the narrowest practical scope: a single vault, storage account, queue, resource group, or other target rather than an entire subscription or tenant. If an agent only needs to read secrets from one vault, a narrowly scoped reader role on that vault is preferable to a broad subscription role. Check inherited assignments and group membership; a narrow direct role can still be overwhelmed by a broader inherited grant.

Limit data dimensions, not just systems

“CRM access” or “ticketing access” is too broad for an agent policy. Specify customer, region, record type, fields, and operation. A support agent might read ticket history but not export a customer list; an update tool might change a status field while denying ownership, billing, or permission fields. Where the platform supports row- or field-level filters, enforce them in the target service as well as in the prompt or orchestration code.

Constrain tools and require approval for consequential actions

An agent’s tool catalog is an authorization surface. Allowlisting a tool is not enough if the tool accepts arbitrary endpoints, records, or parameters. Define the useful minimum for every operation.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Use action-specific permissions

  • Give a search or retrieval tool read-only access and restrict the data collections it can query.
  • For CRM updates, allow only the required fields and customer segment; deny bulk export and administrative settings.
  • For help-desk integration, grant create-ticket rights without queue administration, user management, or deletion.
  • Separate drafting from sending. An agent may prepare an email, change request, or deployment plan without possessing the right to transmit or execute it.
  • Use separate credentials or roles for unrelated agents and for development, test, and production environments.

Validate every call at execution time

Bind each tool invocation to the initiating identity and validate the exact action, target, parameters, and current authorization immediately before execution. Do not rely only on an earlier policy decision: records, user roles, and risk signals may have changed while the agent was planning.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make high-impact operations interruptible

Require a fresh human confirmation for sending external communications, deleting data, purchasing, deploying code or infrastructure, changing permissions, transferring funds, or other irreversible or high-impact actions. Show the approver the target, scope, material parameters, and expected effect. A generic “approve” button that hides those details does not provide meaningful control. Record who approved, what was approved, when the approval was obtained, and whether the executed call matched it.

Protect credentials and apply agent-specific policy

Prefer managed or federated credentials

Managed identities and federated credentials can remove long-lived secrets from application configuration when the workload and target service support them. Limit the identity’s role assignments and monitor token use; eliminating a secret does not eliminate the need for revocation.

Use certificates instead of production client secrets when required

Microsoft’s agent identity guidance prefers certificates over client secrets for production blueprints. Store private keys in a protected vault or hardware security module, restrict retrieval to the workload, define an overlap period for rotation, and verify that old certificates are removed after cutover. Never reuse one credential across unrelated agents or across development and production.

Design Conditional Access for noninteractive identities

Agents generally cannot complete an interactive multifactor prompt. A policy written for human sign-ins can therefore fail the workflow or, worse, encourage an administrator to weaken controls globally. Create dedicated Conditional Access policies using the identity filters, risk signals, and named locations relevant to the agent. Start in report-only mode, inspect sign-in outcomes and exclusions, then enforce after testing normal, denied, and recovery paths. These controls are Microsoft-specific; verify current tenant licensing and support before depending on them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Do not confuse authentication with authorization

A valid token proves that a recognized principal authenticated. It does not prove that the requested tool, record, or action is approved. Keep resource authorization, parameter validation, approval gates, and logging in the application and orchestration layers as well as in the identity provider.

Monitor use and rehearse revocation

Continuous operation is part of access control. Include agent identities in periodic access reviews and require the sponsor to attest that the purpose, data, tools, and scope remain necessary. Trigger an out-of-cycle review after a workflow, connector, model, hosting environment, or data source changes.

Alert on control-plane and data-plane signals

  • Unexpected spikes in token requests or calls outside the normal schedule.
  • Sign-ins from unfamiliar locations, networks, workloads, or deployment environments.
  • New credentials, certificate additions, federation changes, or trust-policy edits.
  • Permission grants, role changes, consent events, or assignments made outside approved deployment controls.
  • API access to records, fields, or resources outside the documented task.
  • Repeated approval denials, unusual retries, or attempts to call blocked tools.

Retain enough context to connect the agent, initiating user (if any), tool, action, resource, approval, and outcome. A log entry that says only “service principal called API” is insufficient for investigation.

Test the kill switch

  1. Disable the agent identity or application and confirm that new invocations fail.
  2. Rotate or revoke its credential, then verify that cached tokens are invalidated where the platform supports invalidation.
  3. Remove direct, inherited, and downstream permissions, including tool-level grants.
  4. Check queues, scheduled jobs, webhooks, and background workers that might continue acting under a cached authorization.
  5. Preserve relevant logs, notify the owner and incident team, and document the time to containment.
  6. Restore access only after the cause is understood and the scope has been re-approved.

Run this exercise before production launch and after material identity or orchestration changes. The objective is a measured, repeatable response rather than an assumption that deleting an application instantly stops every execution path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Microsoft Entra and Azure implementation example

The following sequence illustrates how the controls fit together in a Microsoft environment. It is an example implementation, not a claim that every agent platform exposes the same settings.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
  1. Register the agent in the inventory. Record its purpose, sponsor, environment, data classes, tools, identity type, expected triggers, and disablement owner. Give the directory object a standardized name that appears consistently in logs and deployment records.
  2. Create or select a governed agent identity. Use the platform’s agent identity framework where available. Keep development and production identities separate, and do not share credentials between unrelated blueprints.
  3. Choose delegated or app-only authority. For a user scheduling or file workflow, use delegated permissions so downstream services enforce that user’s access. For a background process, select app-only permissions limited to the approved automation. For an Azure-hosted workload, use managed identity when the target service supports it.
  4. Define invoker and administrator roles. Separate the ability to run the agent from the ability to alter its configuration. For a sensitive blueprint, set assignmentRequired = true and explicitly assign the approved invoking principals. Review the currently allowed directory-role assignments; powerful roles such as Global Administrator, Privileged Role Administrator, and User Administrator cannot be assigned to agent identities under Microsoft’s documented restrictions, which may change.
  5. Assign Azure RBAC narrowly. Grant the smallest role at the smallest resource scope. A reader role on one vault is preferable to subscription-wide access when the workflow only needs that vault. Inspect inherited roles and downstream permissions to calculate effective access.
  6. Configure tool permissions and approval gates. Expose only the required APIs and fields, validate target and parameters at call time, and require fresh confirmation for sending, deleting, purchasing, deploying, or permission changes. Ensure the approval record identifies both the initiating user and the agent.
  7. Protect the credential. Prefer managed or federated identity. If a production blueprint requires a certificate, store its private key in a protected vault or HSM, restrict retrieval, and establish rotation and revocation procedures. Avoid client-secret reuse across agents or environments.
  8. Apply and test Conditional Access. Create an agent-specific policy appropriate to noninteractive sign-ins. Use report-only evaluation first, inspect sign-in and audit logs, test expected and denied flows, then enforce. Confirm that broad user policies do not unintentionally block or exempt the agent.
  9. Enable review and response. Add the identity to access reviews, alert on unusual sign-ins, token spikes, credential additions, and permission changes, and run the disablement and credential-revocation drill described above.

Microsoft’s least-privilege guidance summarizes this sequence as a design requirement: “identity, scope, tool access, and auditability must be defined before autonomy expands.” Treat each item as a release criterion, not optional documentation.

How to decide between access patterns

Use the following decision framework when a workflow could be implemented more than one way:

Question Prefer delegated access when… Prefer app-only or workload access when…
Whose data is being used? The agent operates on a signed-in person’s files, messages, calendar, or records. The process handles a defined system dataset without a user present.
What happens when the user’s access changes? The agent should immediately inherit the user’s reduced or expanded authorization. The automation must continue independently under a separately reviewed sponsor.
What is the blast radius? It can be constrained naturally by the user’s resource and record permissions. It can be constrained through narrowly scoped application roles, filters, and resource assignments.
What credential is practical? The platform can issue and audit a delegated token tied to the user and agent. A managed identity, federation, or protected certificate can represent the workload without sharing a human credential.
What approval is needed? The user can confirm a sensitive action in context, with the action bound to that user’s identity. A separate approver or policy gate must authorize high-impact operations before execution.

Whichever pattern you choose, evaluate the same six dimensions: principal and authority, permission breadth, credential exposure, human control, auditability, and lifecycle ownership. A pattern is acceptable only when all six can be demonstrated in the target platform.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Limits, open questions, and platform caveats

Agent authorization remains an evolving discipline. A 2026 NIST NCCoE concept paper asks how zero-trust principles should apply to agent authorization, how to establish least privilege when future actions are not fully predictable, and how to bind agent and human identities for human-in-the-loop decisions. It also raises questions about strong agent authentication, proof of authority, delegated authority, tamper-resistant audit, dynamic authorization, and prompt-injection mitigation. Those are project questions in a concept paper, not final NIST requirements or settled implementations.

Prompt instructions alone cannot enforce identity boundaries. A manipulated prompt may cause an agent to request a tool outside its intended purpose, so the identity provider, tool gateway, target service, and approval layer must each enforce policy. Likewise, a current Microsoft feature, role restriction, Conditional Access behavior, or licensing requirement can change. Verify the platform documentation and tenant configuration at implementation time, and record the version or date of the decision in the inventory.

Administrator readiness checklist

  • Every agent, including externally hosted agents, has an inventory record, sponsor, owner, environment, and lifecycle status.
  • The selected identity pattern matches whether the workflow is user-centric or autonomous.
  • Delegated access is used for user-owned data when supported; app-only access is not a shortcut around user denial.
  • Invoker and administrator rights are separate, with explicit assignment for sensitive agents.
  • Permissions are limited by API, data type, record or field, action, environment, and resource scope.
  • Tool calls validate the initiating identity, exact target, parameters, and current authorization.
  • Sending, deletion, purchasing, deployment, and permission changes require fresh, attributable approval.
  • Managed or federated identity is used where supported; production certificates are protected and rotated; credentials are not reused.
  • Agent-specific policy is tested in report-only mode before enforcement, and noninteractive MFA limitations are accounted for.
  • Logs connect agent, user, tool, action, resource, approval, and outcome.
  • Access reviews, anomaly alerts, disablement, token invalidation, credential rotation, and stale-grant removal are tested and owned.

The practical standard is simple: an administrator should be able to show exactly who or what the agent is, why it has each permission, which actions it can take, when a person must approve, and how access will be removed within the incident response window. If any of those answers depends on an undocumented assumption or a broad inherited grant, the agent is not ready for production autonomy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.