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

The safest way to use an AI agent at work is to treat it as a software identity with narrowly defined authority, not as a trusted employee. Before deployment, document the agent’s purpose, owner, model, tools, data sources, applications and permissions. Then enforce least-privilege access, deterministic data rules, approval gates for consequential actions, continuous monitoring and a tested stop procedure.

An agent can disclose information in its answers, prompts, memory, logs or downstream actions. It can also be manipulated by malicious documents, web pages, tool results, plugins or other dependencies. No single product setting removes those risks; protection comes from layered controls that are reviewed whenever the model, data, tool or permission set changes.

Why AI agents create a different data-security problem

A conventional chatbot usually responds to text that a person supplies. An AI agent may retrieve records, call APIs, update systems, send messages, create files or trigger workflows. That wider operating range creates more places for sensitive information to escape and more ways for an attacker to influence behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Responses: The agent may reveal personal, confidential or proprietary data to a user who should not receive it, or include more context than the task requires.
  • Prompts and context: Retrieved records, conversation history and tool output can contain secrets that are copied into another service or stored for later processing.
  • Memory: Long-lived memory can preserve sensitive facts beyond the original business need and expose them in a later conversation.
  • Logs and telemetry: Debug traces, audit records and provider logs may contain prompts, responses, identifiers or document excerpts.
  • Actions: A mistaken or manipulated agent can alter data, transfer files, change configuration, approve a transaction or send an external communication.
  • Dependencies: Models, plugins, retrieval indexes, connectors, web content and third-party tools can each introduce vulnerabilities or conflicting data-handling terms.

Agent hijacking is possible when a system mistakes untrusted content for an instruction. A malicious sentence in a document or web page can attempt to redirect the agent, reveal context or invoke a tool. Model behavior alone is not a sufficient security boundary; authorization, validation and monitoring must remain outside the model.

#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:Upgraded 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.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Start with an inventory, owner and business purpose

Do not enable an agent until someone can answer what it is allowed to do and who is accountable for it. Unmanaged or over-permissioned agents create “agent sprawl”: systems that continue operating after their original owner, project or data need has disappeared.

Record the complete dependency map

Create an entry for every production and pilot agent. At minimum, record:

  • Business purpose, intended users and prohibited uses.
  • A named business owner and a technical or security contact.
  • Model, version, hosting location and fallback models.
  • Every connector, plugin, API, retrieval index, web-search function and automation.
  • Data sources, sensitivity labels, geographic locations and retention periods.
  • Identity used by the agent, delegated identities and token scopes.
  • Tools and operations, including read, write, delete, export and messaging capabilities.
  • Human approval points, logging destinations, incident contacts and the emergency stop method.
  • Review date and the conditions that require reapproval, such as a new tool, model, data source or permission.

Use a unique, auditable identity for each agent rather than sharing a human account or a generic service credential. Separate development, testing and production identities and data. An inventory is useful only if it is maintained; assign an owner who must update it when the agent changes.

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.

Define the task boundary

Write a short statement of the job the agent performs and the outcome it may produce. For example, “classify support tickets and draft replies for staff review” is a safer boundary than “handle customer service.” The narrower statement makes it possible to deny unrelated tools, records and actions and to test whether a request falls outside scope.

NIST’s National Cybersecurity Center of Excellence is developing identity and authorization practices for software agents. Its February 5, 2026 concept-paper announcement describes an active project and a future SP 1800-series practice guide, not a finalized standard. Use the project as a direction for governance, while applying your organization’s existing identity, access and risk controls now.

Classify data before an agent can retrieve it

Apply the same information-classification policy to agent access that applies to people and applications. Identify public, internal, confidential, regulated and highly restricted data, then decide which classes the agent may read, transform, retain or return.

Set deterministic data rules

For each data class, specify:

  • Whether it may appear in prompts or retrieved context.
  • Which models, regions and providers may process it.
  • Whether it may be written to memory, indexes, caches or logs.
  • Which users may receive it and whether masking or redaction is required.
  • How long prompts, responses, traces and memory may be retained.
  • Whether the agent may export it, send it externally or combine it with another source.

Prefer rules that can be evaluated by software rather than instructions such as “be careful with confidential information.” A policy engine can block a prompt containing a payment-card pattern, remove an identity number before retrieval, or prevent a response from leaving an approved workspace. Keep a record of the rule decision so an investigator can understand why a request was allowed or denied.

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

Minimize retrieval and memory

Return only the fields and records needed for the current task. Filter by the requesting user’s identity and permissions before content reaches the model; do not rely on the model to hide rows it should never see. Set expiration for temporary context and delete stale indexes and caches.

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

Long-lived memory should be exceptional. Store a preference or case state only when it has a defined purpose, owner and retention period. Give users a way to inspect and remove memory where appropriate. Treat memory as sensitive data: apply access controls, encryption and audit records, and prevent one user’s memory from appearing in another user’s session.

Use platform controls as examples, not universal guarantees

For Azure deployments, Microsoft recommends data-loss-prevention policies that detect or block sensitive content in prompts and AI data-security-posture management to review activity and possible oversharing. Those are implementation examples for that platform. Confirm the equivalent controls, coverage and limitations in the service you actually use; a feature name or default setting does not prove that every agent, subscription or data path is protected.

Enforce least privilege and least action

Give an agent the minimum data, tools and operations required for its current task, and deny everything else by default. Least privilege limits what the agent can read. Least action limits what it can do even when it is tricked or makes a mistake.

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

Scope identities and tokens

  • Use separate identities for separate agents and environments.
  • Grant read access instead of write access whenever possible.
  • Use project-, workspace- or record-level permissions rather than an entire database.
  • Issue short-lived, narrowly scoped tokens for agent functions; do not embed broad, permanent credentials in prompts or code.
  • Require a fresh authorization decision for sensitive operations instead of allowing an old session to perform them indefinitely.
  • Revoke credentials immediately when an agent is paused, retired or suspected of compromise.

Constrain the tool surface

Maintain an explicit allowlist of tools and operations. A document summarizer generally does not need deletion, external transfer or system-configuration privileges. Expose separate functions for reading, drafting and executing so that a model cannot turn a harmless request into a broad API call.

Apply server-side authorization on every tool invocation. The model’s proposed action is untrusted input, even when it appears to come from an authorized conversation. Check the caller, resource, operation, destination, quantity and timing against policy before execution. Reject unknown parameters, unexpected formats and requests outside the task boundary.

Separate environments and high-impact capabilities

Keep testing data and credentials separate from production. Put destructive, financial, legal, access-control and external-communication functions behind additional approval. Where possible, make operations reversible, idempotent and limited in volume so an error affects fewer records and can be rolled back.

Protect prompts, context, outputs and logs

Data protection must cover the entire path through the system, not only the final answer.

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

Control what enters the context

Filter retrieval results before they are inserted into a prompt. Strip secrets and unnecessary personal fields, enforce tenant and user boundaries, and label each source with its trust level. Keep system instructions, user requests, retrieved data, memory and tool results in separate fields or channels so the application can apply different rules to each.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【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.

Inspect what leaves the agent

Apply output checks for sensitive patterns, unauthorized records, excessive detail and prohibited destinations. A response that contains a customer list, source code secret or regulated identifier should be blocked, redacted or routed to a reviewer. Log the policy decision and the minimum evidence needed for investigation without creating another uncontrolled copy of the sensitive content.

Reduce and secure logging

Decide which prompts, responses, tool calls and identifiers are necessary for audit. Redact secrets before logs are written, restrict log access, encrypt logs and set a deletion schedule. Debug mode and verbose traces should be temporary and approved, because they often capture more context than normal operation.

Review provider data handling

Determine whether prompts, responses, connected data, memory, logs and web queries are retained, used for service improvement, processed in particular regions or accessible to support personnel. Confirm encryption, deletion, tenant isolation, audit access and contractual commitments for the exact product and subscription. Do not assume that an enterprise label applies to every associated agent or feature.

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

Defend against prompt injection and malicious content

Assume that external and retrieved content is untrusted. A web page, email, spreadsheet cell, ticket or plugin response may contain instructions designed to override the agent’s objective.

Keep instructions and data separate

Mark retrieved text as data, not authority. Do not let a document change the system policy, grant itself permissions or redefine the user’s request. Pass source content through a controlled retrieval layer and preserve provenance so the application knows where it came from.

Allowlist and validate every action

  1. Receive the user request and determine the permitted task.
  2. Retrieve only sources the user and agent identity are allowed to access.
  3. Generate a proposed tool call without executing it.
  4. Validate the tool name, operation, resource, parameters, destination and expected result against deterministic policy.
  5. Require human approval when the operation is high-risk, irreversible or external.
  6. Execute with a short-lived token and record the decision, approver and result.

Parameter validation should reject an unexpected URL, path, recipient, query, quantity or privilege escalation even if the model presents it confidently. Use allowlisted destinations and schemas, rate limits, transaction limits and sandboxing where practical.

Test adversarially

Include malicious documents, conflicting instructions, encoded text, oversized inputs, poisoned retrieval results and compromised tool responses in security tests. Verify that the agent refuses to reveal hidden context, cannot call denied tools and cannot bypass approval by rephrasing a request. Repeat tests after model, prompt, connector and permission changes.

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

Put people in control of consequential actions

Require an informed human decision before an agent performs an action that is high-impact, irreversible or difficult to detect after the fact. Examples include sending data outside the organization, changing system configuration, deleting records, approving payments, altering access rights and issuing legally significant communications.

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.

Make approval meaningful

Show the proposed action, affected records, destination, parameters, policy checks and predicted side effects. A generic “approve” button without context encourages rubber-stamping. Let the reviewer edit or reject the action and record who approved it, when and under which policy version.

Provide pause and stop controls

A user-level cancel button is not enough if a runaway process can continue through queued jobs or another credential. Provide a system-level pause that prevents new tool calls, revoke the agent’s tokens, stop workers and quarantine pending actions. Test the procedure during drills and document who may invoke it at any time.

Use graduated autonomy

Start with read-only retrieval and drafts. Move to low-risk automated updates only after monitoring shows reliable behavior. Keep a human gate for operations whose impact cannot be quickly reversed, and revisit the classification when business processes or regulations change.

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

Monitor, audit and reassess throughout the lifecycle

Security is a continuing operating responsibility. A configuration that was safe at launch can become unsafe after a new connector, model, index, plugin or permission is added.

Collect useful audit signals

  • Agent identity, user identity and session or request identifier.
  • Data sources queried and sensitivity categories involved.
  • Tools proposed and executed, including parameters and approval decisions.
  • Policy denials, redactions, blocked outputs and failed validations.
  • Token use, unusual volume, repeated errors and access outside normal hours.
  • Changes to prompts, models, tools, permissions, memory and retention settings.

Monitor for anomalous retrieval, attempts to bypass controls, unusual external transfers and disclosures in outputs or logs. Alert on behavior, not only on known attack signatures. Preserve enough evidence to investigate while honoring the retention limits established for that data class.

Review the full dependency chain

Assess the security of the model, orchestration code, tools, plugins, grounding data, identity provider, logging system and hosting environment. Require change review for each dependency. Re-test authorization and prompt-injection defenses after updates, and perform periodic access recertification so unused permissions are removed.

Guidance announced by CISA and partner agencies on May 1, 2026 emphasizes adoption and operational security practices. Use such guidance alongside your organization’s incident-response, privacy and access-governance processes rather than treating it as a substitute for them.

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

Compare providers and connected agents on the controls that matter

Marketing terms such as “secure,” “private” or “enterprise-ready” are not comparable by themselves. Evaluate the exact product, edition, subscription and agent configuration.

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.
Evaluation area Questions to document
Contractual coverage and geography Which prompts, responses, connected data, logs, memory and web queries are covered by the organization’s agreement, and where are they processed?
Identity and permissions Does the agent honor organizational identities, group membership, record permissions, sensitivity labels and retention rules?
Agent-specific data handling What is retained, for how long, for what purpose and by which subprocessors? Are agent memory and web-search paths handled differently?
Audit and monitoring Can administrators review tool calls, data access, policy decisions, exports, failures and anomalous behavior?
Permission and tool scope Can you restrict tools, operations, destinations, token lifetime, rate and transaction size with server-side enforcement?
Human control Are high-risk actions gated, visible and reviewable? Can operators pause the agent and revoke its credentials quickly?

Microsoft’s Copilot documentation illustrates why this detail matters: stated protections depend on the identified Copilot experience and subscription, and web-search handling is distinguished from other Copilot data. The page updated August 18, 2026 directs customers to review the privacy statement and terms for agents used with Copilot. Treat those statements as product-specific; verify equivalent terms for every connected service.

A practical rollout sequence

  1. Choose a low-risk pilot. Select a read-only or drafting task with nonregulated data and a clear owner.
  2. Build the inventory. Record models, tools, connectors, data classes, identities, permissions, retention and stop procedures.
  3. Write the policy boundary. Define allowed users, sources, operations, destinations, prohibited data and approval conditions.
  4. Implement least privilege. Use separate identities, short-lived scoped tokens, allowlisted tools and server-side authorization.
  5. Add data controls. Filter retrieval, minimize memory, redact outputs and logs, and enforce retention and deletion.
  6. Threat-test the agent. Try prompt injection, malicious documents, poisoned retrieval, denied tools, parameter tampering and data-exfiltration scenarios.
  7. Enable human gates and stop controls. Make proposed actions visible, require approval for high-impact operations and rehearse emergency shutdown.
  8. Monitor a defined trial period. Review access, denials, outputs, tool calls and anomalous behavior against expected use.
  9. Approve or revise. The owner and security reviewer sign off on the evidence, document residual risk and set the next review date.
  10. Reassess after every material change. Repeat authorization, privacy and adversarial tests when models, prompts, tools, data or permissions change.

Common failure modes and fixes

“The agent only has read access, so it is safe.”

Read access can still expose an entire customer database through answers, logs or exports. Restrict records and fields, filter by the user’s permissions, inspect outputs and control destinations.

“The system prompt says not to reveal secrets.”

Instructions are not an authorization boundary. Enforce policy in the retrieval layer, tool gateway and output checks, and test malicious content that attempts to override the prompt.

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

“We use an enterprise plan, so all data is protected.”

Protections vary by product, subscription and agent. Read the applicable privacy and service terms and verify retention, residency, audit and connected-data behavior.

“We can review logs if something goes wrong.”

Logs may themselves contain the sensitive data you are trying to protect. Redact before collection, limit access, set retention and ensure logging is detailed enough to identify the decision without copying unnecessary content.

“Approval is covered by a notification.”

A notification after execution is not approval. Pause the action before execution, show its scope and destination, require an explicit decision and record the approver.

Incident response for an agent-related disclosure

Prepare a runbook before launch. It should identify the person authorized to stop the agent, the credentials and queues to disable, the systems that hold prompts and logs, and the privacy, legal and security contacts to notify.

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.
  1. Pause the agent and revoke or rotate its tokens.
  2. Stop queued jobs and block external destinations or affected tools.
  3. Preserve relevant audit records while preventing further collection of sensitive content.
  4. Determine what data was accessed, generated, retained or transmitted and which identities were involved.
  5. Contain affected accounts, connectors, indexes and memory stores.
  6. Assess notification, contractual and regulatory obligations with the appropriate internal teams.
  7. Remove the root cause, retest adversarial cases and document the changes required before re-enabling the agent.

The objective is not to make an agent perfectly autonomous. It is to make its authority narrow, its data use deliberate, its actions observable and its failure mode containable.

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.